DE102006039418A1 - Volatile memory unit e.g. synchronous dynamic RAM, contents recovering method for computer system, involves carrying out functional access to contents, and retrieving storage location in segments based on segment pointer in case of access - Google Patents

Volatile memory unit e.g. synchronous dynamic RAM, contents recovering method for computer system, involves carrying out functional access to contents, and retrieving storage location in segments based on segment pointer in case of access Download PDF

Info

Publication number
DE102006039418A1
DE102006039418A1 DE200610039418 DE102006039418A DE102006039418A1 DE 102006039418 A1 DE102006039418 A1 DE 102006039418A1 DE 200610039418 DE200610039418 DE 200610039418 DE 102006039418 A DE102006039418 A DE 102006039418A DE 102006039418 A1 DE102006039418 A1 DE 102006039418A1
Authority
DE
Germany
Prior art keywords
contents
segment
segments
volatile memory
memory unit
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
DE200610039418
Other languages
German (de)
Inventor
Thomas Frommann
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.)
Bayerische Motoren Werke AG
Original Assignee
Bayerische Motoren Werke AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bayerische Motoren Werke AG filed Critical Bayerische Motoren Werke AG
Priority to DE200610039418 priority Critical patent/DE102006039418A1/en
Publication of DE102006039418A1 publication Critical patent/DE102006039418A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading

Abstract

The method involves storing a part of stored memory contents in a form of segments. A segment pointer is produced for the part of the stored content and referred to a storage location of the respective segments. The pointer is recovered after reactivation of a computer system, and contents of the stored segments are partially restored in a volatile memory unit after reactivation when the contents are functionally accessed. The functional access to the contents is carried out, while the pointer is accessed. The location is retrieved in the segments based on the pointer during the access.

Description

Die Erfindung betrifft ein Verfahren zur zumindest teilweisen Wiederherstellung des Speicherinhalts einer flüchtigen Speichereinheit in einem Computersystem nach einer durch eine Abschaltung des Computersystems bedingten Rücksetzung des Speicherinhalts der flüchtigen Speichereinheit, wobei der Speicherinhalt der flüchtigen Speichereinheit vor der Abschaltung zumindest teilweise in solcher Art und Weise auf eine nichtflüchtige Speichereinheit ausgelagert wird, dass er nach einer Reaktivierung des Computersystems in die flüchtige Speichereinheit rückspeicherbar ist.The The invention relates to a method for at least partial recovery the memory contents of a volatile Memory unit in a computer system after by a shutdown of Computer system conditional reset the memory contents of the volatile Memory unit, wherein the memory contents of the volatile memory unit before the Shutdown at least partially in such a way to a nonvolatile Storage unit is outsourced that he after a reactivation of the Computer system in the volatile Retainable storage unit is.

Unter einer Abschaltung kann dabei eine tatsächliche Unterbrechung jeglicher Energiezufuhr und Arbeitstätigkeit des Computersystems verstanden werden. Es sei darunter im Rahmen dieses Dokuments aber auch das Versetzen in jeglichen Zustand eingeschränkten Energieverbrauchs zu verstehen, in welchem eine Sicherung des Speicherinhalts der flüchtigen Speichereinheit typischerweise gerechtfertigt ist, um Datenverlust zu vermeiden.Under A shutdown can be an actual interruption of any Energy intake and work activity of the computer system. It was under it in the frame but also putting it in any state of limited energy consumption to understand in which a backup of the memory contents of the volatile Storage unit is typically justified to data loss to avoid.

Verfahren der eingangs genannten Gattung sind aus dem Stand der Technik in der Form bekannt, dass der gesamte Speicherinhalt einer flüchtigen Speichereinheit (z.B. SDRAM) eines Computersystems vor der Abschaltung, z.B. durch Abtrennung der Stromversorgung, in einem persistenten, d.h. nichtflüchtigen, Speicher abgelegt wird (so genanntes „hibernate"-Verfahren). Nach Reaktivierung des Computersystems, etwa durch erneutes Anschalten der Stromversorgung, sorgt das „basic input/output system" (BIOS) für die Wiederherstellung des gesamten flüchtigen Speicherinhaltes (so genanntes „resume"-Verfahren), bevor das Computersystem seine Arbeit wieder aufnimmt.method of the type mentioned are from the prior art in the form known that the entire memory contents of a volatile memory unit (e.g., SDRAM) of a computer system prior to shutdown, e.g. by Disconnection of the power supply, in a persistent, i. non-volatile, Memory is stored (so-called "hibernate" method) After reactivation of the Computer system, such as by turning on the power again, takes care of the "basic input / output system "(BIOS) for the Restoration of the entire volatile memory content (see above) called "resume" method) before the computer system resumes its work.

Bei Verfahren gemäß dem Stand der Technik dauert es prinzipbedingt verhältnismäßig lange bis das Computersystem nach der Reaktivierung wieder arbeitsfähig ist. Die Aufstartzeit zwischen Reaktivierung, etwa durch Anschalten der Stromversorgung, und Arbeitsfähigkeit eines komplexeren Computersystems – wie etwa einer Head-Unit (zentrale Steuer- und Bedieneinheit) eines Kraftfahrzeugs – liegt oft bei mehr als zehn Sekunden, was für den jeweiligen Benutzer zu inakzeptablen Wartezeiten führen kann. Im Extremfall können sicherheitsrelevante Funktionen, wie im Kraftfahrzeug etwa die Anzeige einer Park- und Rangierkamera, bedingt durch die lange Aufstartzeit erst so spät zur Verfügung stehen, dass eine Unterstützung des Benutzers zu spät kommt, um einen Schaden noch zu vermeiden. Durch eine Verkürzung der Aufstartzeit könnte also der Komfort und die Sicherheit des Fahrers eines Kraftfahrzeugs sowie anderer Fahrzeuginsassen und/oder Verkehrsteilnehmer verbessert werden.at Method according to the state In principle, the technique takes a relatively long time to complete the computer system is able to work again after reactivation. The start-up time between Reactivation, for example by switching on the power supply, and working capacity a more complex computer system - such as a head unit (central control and operating unit) of a motor vehicle - is located often at more than ten seconds, which is appropriate for the particular user lead to unacceptable waiting times can. In extreme cases can safety-relevant functions, such as in the motor vehicle as the display a parking and maneuvering camera, due to the long start-up time so late to disposal stand that support the user too late comes to avoid damage. By shortening the Startup time could So the comfort and safety of the driver of a motor vehicle and other vehicle occupants and / or road users become.

Eine dauerhafte Energieversorgung des Computersystems oder bestimmter Teile desselben, welche eine Sicherung der Inhalte der flüchtigen Speichereinheit erübrigen würde, wäre vor allem mit einem erhöhten Energieaufwand verbunden und ist daher nicht wünschenswert.A permanent power supply of the computer system or certain Parts thereof which are a backup of the contents of the volatile memory unit unnecessary would, would be before everything with an increased Energy consumption and is therefore not desirable.

Es ist Aufgabe der Erfindung, ein einfaches Verfahren zur zumindest teilweisen Wiederherstellung des Speicherinhalts einer flüchtigen Speichereinheit zu schaffen, durch welches kürzere Aufstartzeiten ermöglicht werden.It Object of the invention, a simple method for at least partial recovery of the memory contents of a volatile To provide storage unit, which allows shorter startup times.

Gelöst wird diese Aufgabe durch ein Verfahren mit den Merkmalen des unabhängigen Anspruchs 1. Vorteilhafte Ausführungsformen und Weiterbildungen der Erfindung ergeben sich aus den abhängigen Ansprüchen.Is solved this object by a method having the features of the independent claim 1. Advantageous embodiments and further developments of the invention will become apparent from the dependent claims.

Durch das erfindungsgemäße Verfahren wird die Datenmenge reduziert, welche nach der Reaktivierung in die nichtflüchtige Speichereinheit geladen werden muss, bevor das Computersystem seine Arbeit wieder aufnehmen kann. Dadurch kann die Aufstartzeit gegenüber dem Stand der Technik erheblich verkürzt werden. Insbesondere im Falle einer Ausbildung des Computersystems als Head-Unit in einem Kraftfahrzeug können durch die Erfindung Funktionen des Kraftfahrzeugs, an deren Ausführung die Head-Unit beteiligt ist, dem Fahrer bereits sehr kurze Zeit nach der Inbetriebnahme des Kraftfahrzeugs zur Verfügung gestellt werden. Beispielsweise kann das Bild einer Rückfahrkamera bereits bei einem unmittelbar auf die Inbetriebnahme des Kraftfahrzeugs folgenden rückwärts gerichteten Ausparkvorgang voll zur Verfügung stehen.By the inventive method The amount of data that is reduced after reactivation in the non-volatile Storage unit must be loaded before the computer system Can resume work. This allows the startup time over the State of the art considerably shortened become. Especially in the case of a training of the computer system As a head unit in a motor vehicle can by the invention functions of the motor vehicle involved in the execution of the head unit is, the driver already very short time after commissioning of the motor vehicle available be put. For example, the image of a reversing camera already at a directly on the commissioning of the motor vehicle following backward Ausparkvorgang fully available stand.

Die langen Aufstartzeiten bei aus dem Stand der Technik bekannten konventionellen „hibernate/resume"-Verfahren werden in erster Linie durch die Größe des wiederherzustellenden Speicherinhalts bedingt. Die für die Wiederherstellung des Speicherinhaltes benötigte Zeit ist in der Regel nahezu direkt proportional zur Größe der wiederherzustellenden Speichermenge. Im Gegensatz zu den aus dem Stand der Technik bekannten konventionellen „hibernate/resume"-Verfahren wird bei der Erfindung daher nicht der gesamte Speicherinhalt des flüchtigen Speichers umgehend nach der Reaktivierung wiederhergestellt.The long start-up times are known from the prior art conventional "hibernate / resume" method primarily by the size of the to be restored Memory content conditionally. The for the time required to recover the memory contents is usually almost directly proportional to the size of the restoration Amount of memory. In contrast to those known from the prior art conventional "hibernate / resume" method is included the invention therefore not the entire memory content of the volatile Memory restored immediately after reactivation.

Die Erfindung macht sich die Tatsache zunutze, dass nicht der gesamte vor der Abschaltung in der flüchtigen Speichereinheit befindliche Speicherinhalt bzw. dessen Vorliegen in der flüchtigen Speichereinheit zwingend erforderlich ist, um die Arbeit des Computersystems nach der Reaktivierung wieder aufzunehmen. Vielmehr genügt es, nur die unbedingt bzw. höchstwahrscheinlich erforderlichen Speicherinhalte – in entsprechend kurzer Zeit – bereitzustellen. Andere Speicherinhalte können auch noch zu einem späteren Zeitpunkt nachträglich in die flüchtige Speichereinheit geladen werden. Für die Inhalte zumindest eines Teils der ausgelagerten Segmente geschieht dies bedarfsorientiert, d.h. erst dann, wenn funktional auf sie zugegriffen wird, wenn sie also tatsächlich für die Arbeit des Computersystems benötigt werden.The invention takes advantage of the fact that not all of the memory contents present in the volatile memory unit prior to shutdown or its presence in the volatile memory unit is imperative to resume the work of the computer system after reactivation. Rather, it is sufficient to provide only the unconditionally or most likely required memory contents - in a correspondingly short time put. Other memory contents can also be loaded later in the volatile memory unit at a later date. For the contents of at least a part of the outsourced segments, this is done as needed, ie only when they are functionally accessed, ie when they are actually needed for the work of the computer system.

Erfindungsgemäß wird im Einzelnen folgendermaßen verfahren: Bei der Auslagerung der vor der Abschaltung in der nichtflüchtigen Speichereinheit befindlichen Inhalte wird zumindest ein Teil des ausgelagerten Speicherinhalts in einer in Segmente unterteilten Form ausgelagert. Dadurch kann der Speicherinhalt zu einem späteren Zeitpunkt nicht nur als Ganzes adressiert oder verarbeitet werden, sondern es kann auf einzelne Segmente zugegriffen werden. Für die Unterteilung in Segmente kommt insbesondere das aus der Speichertechnik bekannte Konzept so genannter Seiten oder „pages” in Frage. Grundsätzlich eignet sich aber auch jede andere Form der Segmentierung. Vorzugsweise sind der besseren Verarbeitbarkeit wegen alle Segmente gleich groß und/oder gleich strukturiert.According to the invention is in Individuals as follows Procedure: When removing the before the shutdown in the non-volatile Storage unit content is at least part of the outsourced Memory content outsourced in a segmented form. As a result, the memory contents at a later time not only as Whole be addressed or processed, but it can be applied to individual Segments are accessed. For the division into segments comes in particular from the storage technology known concept of so-called pages or "pages" in question. Basically suitable but also any other form of segmentation. Preferably For better processability, all segments are the same size and / or structured immediately.

Die Segmentierung kann gemäß spezieller Ausführungsformen der Erfindung erst anlässlich der Auslagerung vorgenommen werden. Vorzugsweise liegen die auszulagernden Speicherinhalte jedoch bereits zuvor in der flüchtigen Speichereinheit in segmentierter Form vor. Idealerweise wird eine durch eine solche Segmentierung innerhalb der Speichereinheit vorgegebene Struktur bei der Auslagerung beibehalten. Es kann dann bereits zum Zweck der Auslagerung auf einzelne Segmente, z.B. pages, zugegriffen werden.The Segmentation may be according to specific embodiments the invention only on the occasion the outsourcing be made. Preferably, the auszulagernden However, memory contents already in the volatile memory unit in segmented shape before. Ideally, one by one Segmentation within the memory unit predetermined structure retained during the removal. It can then already be for the purpose outsourcing to individual segments, e.g. pages, are accessed.

Um auf die einzelnen ausgelagerten Segmente zugreifen zu können, wird erfindungsgemäß für zumindest einen Teil dieser ausgelagerten Segmente jeweils ein Segmentverweis generiert, der auf den Speicherort des jeweiligen Segments verweist. Ein so generierter Segmentverweis kann als bloße Adressangabe oder als Beschreibungsdatei ausgebildet sein. Neben dem Speicherort kann insbesondere ein als Beschreibungsdatei ausgebildeter Segmentverweis zu einem Segment auch weitere das Segment beschreibende Daten, beispielsweise dessen Größe, Struktur etc. enthalten. Das erfindungsgemäße Generieren der Segmentverweise kann auch darin bestehen, bereits zuvor bestehende Segmentverweise mit den durch die Auslagerung veränderten Beschreibungsdaten, insbesondere dem veränderten Speicherort des Segments zu versehen.Around to be able to access the individual outsourced segments is according to the invention for at least a portion of these outsourced segments each have a segment reference generated, which points to the location of the respective segment. One The generated segment reference can be a mere address specification or a description file be educated. In addition to the storage location can in particular as Description file Trained segment reference to a segment also further data describing the segment, for example its Size, structure etc. included. The generation of the segment references according to the invention may also consist of previously existing segment references with the description data changed by the outsourcing, especially the changed one Location of the segment to provide.

Nach der Reaktivierung werden die Segmentverweise in solcher Art und Weise wiederhergestellt, dass eine verarbeitende Recheneinheit des Computersystems sie aufrufen kann. Die Wiederherstellung erfolgt vorzugsweise dadurch, dass die Segmentverweise in die flüchtige Speichereinheit geladen werden. Sie können aber alternativ oder zusätzlich auch in eine andere flüchtige Speichereinheit des Computersystems geladen werden, auf welche eine verarbeitende Recheneinheit schnell zugreifen kann. Beispielsweise kann einer Memory Management Unit (MMU) einer verarbeitenden Recheneinheit (z.B. CPU) hierzu unmittelbar eine als so genannter „translation lookaside buffer" (TLB) ausgebildete Speichereinheit zugeordnet sein. Ein solcher TLB enthält gegebenenfalls vorzugsweise sämtliche wiederhergestellten Segmentverweise. Es kann dann besonders schnell auf diese zugegriffen werden. Der TLB kann aber gegebenenfalls auch nur einen Teil der wiederhergestellten Segmentverweise enthalten.To the reactivation, the segment references in such a way and Way restored, that is a processing computing unit of the computer system she can call. The recovery is preferably done by that the segment references are loaded into the volatile memory unit become. You can but alternatively or additionally also in another volatile one Memory unit of the computer system to which a processing Computer can access quickly. For example, one can Memory Management Unit (MMU) of a processing unit (for example, CPU) for this purpose immediately a so-called "translation lookaside buffer "(TLB) be assigned trained storage unit. Such a TLB may contain preferably all restored segment references. It can be very fast to be accessed. If necessary, the TLB can also do so contain only part of the restored segment references.

Die Ausdrucksweise „Wiederherstellung" (der Segmentverweise) zielt in erster Linie auf den Fall ab, dass die Segmentverweise bereits vor der Abschaltung des Computersystems generiert werden, ebenfalls noch vor der Abschaltung in einer nichtflüchtigen Speichereinheit abgelegt und nach der Reaktivierung wiederhergestellt werden. Vorzugsweise werden zunächst alle auszulagernden Segmente ausgelagert. Wenn die Auslagerung der Segmente abgeschlossen ist, stehen alle Speicherorte derselben fest. Dann können alle Segmentverweise generiert und ebenfalls ausgelagert werden. Durch die Wiederherstellung nach der Reaktivierung werden dann also tatsächlich Segmentverweise wiederhergestellt, die bereits vor der Abschaltung existiert haben.The Diction "Restore" (the segment references) is aimed primarily at the case that the segment references already generated before the shutdown of the computer system, also before the shutdown in a non-volatile Stored storage unit and restored after reactivation become. Preferably, first outsourced all outsourced segments. When the outsourcing of the segments is complete, all their locations are fixed. Then can All segment references are generated and also outsourced. By the recovery after reactivation then actually become segment references restored, which already existed before the shutdown.

Die Segmentverweise können aber prinzipiell – gemäß einer anderen Ausführungsform der Erfindung – auch erst generiert werden unmittelbar bevor sie in die flüchtige Speichereinheit und/oder eine andere flüchtige Speichereinheit des Computersystems (z.B. TLB) geladen werden. Auch dieser Fall sei eingeschlossen, wenn von einer „Wiederherstellung" der Segmentverweise die Rede ist – auch wenn diese dann vor der Abschaltung noch gar nicht existiert haben.The Segment references can but in principle - according to one another embodiment the invention - too only be generated immediately before entering the volatile memory unit and / or another volatile one Memory unit of the computer system (e.g., TLB). Also this case is included if from a "restoration" of the segment references the speech is - too if they did not exist before shutdown.

Die nichtflüchtige Speichereinheit, in welcher die – bereits vor der Abschaltung existierenden – Segmentverweise zwischenzeitlich abgelegt werden, kann selbstverständlich dieselbe sein, wie diejenige, in welcher die ausgelagerten Segmente abgelegt werden. Vorzugsweise werden die Segmentverweise in der nichtflüchtigen Speichereinheit bereits in einer Form abgelegt, die nach der Reaktivierung eine schnelle Wiederherstellung erlaubt. Insbesondere eignet sich die Form einer oder mehrerer so genannter „page tables". Eine solche „page table" kann gegebenenfalls nach der Reaktivierung zumindest teilweise unmittelbar in einen eventuell vorhandenen TLB geladen werden.The nonvolatile Memory unit in which - even before the shutdown existing - segment references can be stored in the meantime, of course, the same be like the one in which the outsourced segments are stored. Preferably, the segment references are in the non-volatile Storage unit already stored in a form following the reactivation a fast recovery allowed. In particular, is suitable the form of one or more so-called "page tables." Such a "page table" may optionally after reactivation at least partially directly into one possibly existing TLB are loaded.

Indem die Segmentverweise nach der Reaktivierung wiederhergestellt werden, wird für eine verarbeitende Recheneinheit des Computersystems eine Basis geschaffen, um auf die noch ausgelagerten Segmente zu einem späteren Zeitpunkt funktional zuzugreifen. Daher müssen die Inhalte der ausgelagerten Segmente vorteilhafterweise nicht unmittelbar nach der Reaktivierung in die flüchtige Speichereinheit rückgespeichert werden, sondern die Inhalte der ausgelagerten Segmente werden erfindungsgemäß zumindest teilweise erst dann in die flüchtige Speichereinheit rückgespeichert, wenn funktional auf sie zugegriffen wird.By doing the segment references are restored after reactivation, is for a processing unit of the computer system a base created to move on to the still outsourced segments at a later date to access functionally. Therefore, must the contents of the outsourced segments advantageously not restored immediately after reactivation in the volatile memory unit be, but the contents of the outsourced segments according to the invention at least partially only then in the volatile Memory unit restored, when it is accessed functionally.

Ein wesentlicher Vorteil der Erfindung besteht darin, dass dank der auf die Segmente verweisenden Segmentverweise ein funktionaler Zugriff auf die Inhalte der Segmente bereits möglich ist, obwohl diese noch nicht in die flüchtige Speichereinheit geladen sind. Ein funktionaler Zugriff auf den Inhalt eines ausgelagerten Segments kann nämlich erfolgen, indem der jeweilige Segmentverweis aufgerufen wird. Im Falle eines solchen funktionalen Zugriffs auf ein Segment kann dessen Speicherort anhand des Segmentverweises aufgefunden werden.One significant advantage of the invention is that thanks to the Functional access to segment references referring to the segments on the contents of the segments is already possible, although these are still not in the fleeting Memory unit are loaded. A functional access to the content an outsourced segment can be done by the respective Segment reference is called. In the case of such a functional Access to a segment can be based on the segment reference be found.

Typischerweise wird im Falle eines funktionalen Zugriffs auf ein noch nicht in die flüchtige Speichereinheit geladenes Segment zunächst der Inhalt des Segments in die flüchtige Speichereinheit „nachgeladen" und erst dann die eigentlich durch den Zugriff beabsichtigte Aktion anhand der nun – nach dem Nachladen – in der flüchtigen Speichereinheit verfügbaren Daten ausgeführt.typically, is in the case of a functional access to a not yet in the fleeting ones Memory unit loaded segment, first the content of the segment in the fleeting Memory unit "reloaded" and then the Actually intended by the action on the basis of the now - after reloading - in the volatile Memory unit available Data executed.

Nach der Reaktivierung kann das Computersystem seine Arbeit im Extremfall bereits dann wieder aufnehmen, wenn die Segmentverweise wiederhergestellt sind. Die hierzu erforderliche Zeit ist deutlich geringer als die für eine Rückspeicherung aller ausgelagerten Speicherinhalte erforderliche Zeit.To In reactivation, the computer system can do its job in extreme cases already resume when the segment references are restored are. The time required for this is significantly lower than the for one rear storage all paged memory contents required time.

Gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung wird zumindest ein Teil des ausgelagerten Speicherinhalts unmittelbar nach der Reaktivierung in die flüchtige Speichereinheit rückgespeichert. Dabei kann es sich um wichtige und/oder häufig genutzte Speicherinhalte handeln, auf die besonders schnell zugegriffen werden können soll. Dabei kann es sich aber auch und insbesondere um wesentliche Systeminformationen handeln, die zur Wiederaufnahme der Arbeit des Computersystems zwingend erforderlich sind. Vorzugsweise werden dauerhaft und/oder einzelfallbezogen systemrelevante Speicherinhalte definiert, die unmittelbar nach der Reaktivierung zur Verfügung stehen sollen.According to one preferred embodiment of Present invention is at least a part of the outsourced Memory contents stored immediately after reactivation in the volatile memory unit. These may be important and / or frequently used memory contents act, which should be accessible very quickly. But it can also and in particular to essential system information Forcing to resume the work of the computer system required are. Preferably, permanent and / or case-related defines system-relevant memory contents immediately after of reactivation available should stand.

Nach der Reaktivierung kann das Computersystem bei solchen Ausführungsformen der Erfindung seine Arbeit bereits dann wieder aufnehmen, wenn die wenigen unmittelbar nach der Reaktivierung in die flüchtige Speichereinheit rückzuspeichernden Segmente rückgespeichert sind und die Segmentverweise wiederhergestellt sind.To The computer system may reactivate in such embodiments the invention resume its work already when the few immediately after reactivation in the volatile memory unit rückzuspeichernden Restored segments and the segment references are restored.

Sofern auch der eventuell unmittelbar nach der Reaktivierung in die flüchtige Speichereinheit rückzuspeichernde Speicherinhalt zumindest teilweise in einer in Segmente unterteilten Form in der nichtflüchtigen Speichereinheit vorliegt, auf welche durch Segmentverweise verwiesen wird, können die entsprechenden Segmentverweise so gekennzeichnet sein, dass die Notwendigkeit erkennbar ist, diese Segmente unmittelbar nach der Reaktivierung in die flüchtige Speichereinheit rückzuspeichern. Es kann dann so vorgegangen werden, dass zunächst nur die Segmentverweise wiederhergestellt werden. Anhand der Kennzeichnungen der wiederhergestellten Segmentverweise ist anschließend zu erkennen, welche Segmentinhalte rückgespeichert werden sollen bzw. müssen, bevor das Computersystem seine Arbeit wieder aufnimmt bzw. wieder aufnehmen kann.Provided also the possibly immediately after reactivation in the volatile memory unit rückzuspeichernde Memory content at least partially in a segmented into segments Form in the non-volatile Storage unit is present, to which reference by segment references will, can the corresponding segment references should be marked so that the need to recognize these segments immediately after reactivation in the volatile Restore storage unit. It can then be proceeded so that initially only the segment references be restored. Based on the marks of the restored Segment references are then to recognize which segment contents should be restored or must, before the computer system resumes work or again can record.

Der erfindungsgemäße funktionale Zugriff auf ein Segment, dessen Inhalt noch nicht in die flüchtige Speichereinheit rückgespeichert worden ist, kann eine längere Zeit beanspruchen als ein Zugriff auf unmittelbar in der flüchtigen Speichereinheit vorliegende Speicherinhalte. Daher ist es Gegenstand einer Weiterbildung der Erfindung, nach der Wiederaufnahme der Arbeit des Computersystems freie Übertragungskapazitäten zwischen der nichtflüchtigen Speichereinheit, in welche die Segmente ausgelagert wurden, und der flüchtigen Speichereinheit zu nutzen, um die Inhalte bestimmter Segmente – eigentlich entgegen dem grundlegenden Ansatz der Erfindung – bereits in die flüchtige Speichereinheit rückzuspeichern, bevor funktional auf sie zugegriffen wird. Dabei ist jedoch darauf zu achten, dass jederzeit Übertragungskapazitäten freigehalten bzw. freigemacht werden können, um – erfindungsgemäß – die Inhalte von Segmenten in die flüchtige Speichereinheit zu laden, auf die aktuell funktional zugegriffen wird. Durch eine solche Weiterbildung der Erfindung kann erreicht werden, dass nach und nach alle ausgelagerten Speicherinhalte in die flüchtige Speichereinheit rückgespeichert werden können und dass somit in gewohnter Art und Weise schnell auf diese zugegriffen werden kann. Die selbsttätige – nicht streng bedarfsorientierte – Rückspeicherung gemäß der beschriebenen Weiterbildung der Erfindung kann beispielsweise auf einer Priorisierung der ausgelagerten Segmente basieren (z.B. wichtigste oder statistisch meistgenutze Segmente zuerst).Of the functional according to the invention Access to a segment whose content is not yet in the volatile memory unit stored back can be a longer one Time claim as an immediate access in the volatile Memory unit present memory contents. Therefore, it is the subject of a Development of the invention, after the resumption of work the computer system free transfer capacities between the non-volatile Storage unit in which the segments have been swapped out, and the volatile one Memory unit to use the contents of certain segments - actually contrary to the basic approach of the invention - to restore already in the volatile memory unit, before it is functionally accessed. It is, however, on it to ensure that transmission capacities are kept free at all times or can be freed up, um - according to the invention - the contents from segments to the volatile ones To load memory unit that is currently being functionally accessed. By such a development of the invention can be achieved that gradually all paged memory contents in the volatile memory unit stored back can be and that thus accessed in the usual way quickly can be. The automatic - not strictly on demand - restoring according to the described Development of the invention may, for example, on a prioritization of the outsourced segments (e.g., most important or most statistically used Segments first).

Die Erfindung macht sich das im Zusammenhang mit der Verwaltung des Hauptspeichers von Computersystemen unter der Bezeichnung „demand paging" bekannte Prinzip zunutze. „Demand paging" wird typischerweise verwendet zur temporären Auslagerung einzelner flüchtiger Speicherinhalte auf sekundäre Speicher (z.B. hard disc). Dabei wird der flüchtige Speicher nicht direkt über physikalische Speicheradressen, sondern indirekt über so genannte virtuelle Speicheradressierung angesprochen. Der Bezug zwischen virtuellen und physikalischen Adressen wird hergestellt unter Verwendung einer Übersetzungsvorschrift für die Abbildung von virtuellen auf physikalische Adressen. Eine virtuelle Adresse kann dabei abgebildet werden auf eine physikalische Adresse auf der primären flüchtigen Speichereinheit oder aber auf eine physikalische Adresse auf der sekundären Speichereinheit.The invention takes advantage of the principle known in connection with the management of the main memory of computer systems called "demand paging." Demand paging is typically used for temporary termination Storage of individual volatile storage contents on secondary storage (eg hard disc). The volatile memory is addressed not directly via physical memory addresses, but indirectly via so-called virtual memory addressing. The relationship between virtual and physical addresses is established using a translation policy for the mapping of virtual to physical addresses. A virtual address can be mapped to a physical address on the primary volatile memory unit or to a physical address on the secondary memory unit.

Dieses Prinzip kann fortgeführt werden, wenn auch die bereits rückgespeicherten Segmente über Segmentverweise adressiert werden. Die Segmentverweise müssen dann lediglich bei/nach der Rückspeicherung des jeweiligen Segments entsprechend auf den neuen Speicherort – nun im flüchtigen Speicher – angepasst werden. Bei solcher Ausführung der Erfindung kann auf die Inhalte noch ausgelagerter Segmente aus Sicht einer verarbeitenden Recheneinheit in exakt derselben Art und Weise zugegriffen werden wie auf die Inhalte der bereits rückgespeicherten Segmente – nämlich über die Segmentverweise, die somit einer Umrechnungsvorschrift von einer virtuellen auf eine physikalische Adresse entsprechen. Im Falle noch ausgelagerter Segmente verweist der jeweilige Segmentverweis auf einen Speicherort (entspricht der physikalischen Adresse) in der nichtflüchtigen Speichereinheit, im Falle bereits rückgespeicherter Segmente verweist der jeweilige Segmentverweis auf einen Speicherort in der flüchtigen Speichereinheit. Unter anderem da der Zugriff auf noch ausgelagerte Segmente eine erhöhte Zugriffszeit erfordert, ist es vorteilhaft, wenn die zu noch nicht rückgespeicherten Segmenten gehörigen Segmentverweise als solche erkennbar sind oder zumindest die Information enthalten, dass die Inhalte des zugehörigen Segment noch nicht rückgespeichert sind.This Principle can continue be, even if already restored Segments over Segment references are addressed. The segment references must then only during / after the recovery of the respective segment accordingly to the new storage location - now in volatile memory - adjusted become. In such execution The invention may be based on the contents of still paged segments View of a processing unit in exactly the same way and how to access the contents of the already restored Segments - namely on the Segment references, which are therefore a conversion rule of one virtual correspond to a physical address. In the event of The segment reference still refers to segments that are still outsourced a location (corresponding to the physical address) in the nonvolatile Memory unit, in the case of already restored segments, the respective segment reference to a location in the volatile Storage unit. Among other things because the access to still outsourced Segments increased Access time requires, it is beneficial if not yet said restored Belonging to segments Segment references are recognizable as such or at least the information contain that the contents of the associated segment have not yet been restored are.

Gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung unterscheiden sich daher die zu noch nicht rückgespeicherten Segmenten gehörigen Segmentverweise durch eine Kennzeichnung von den Segmentverweisen zu bereits rückgespeicherten Segmenten. Die Kennzeichnung kann etwa in einem so genannten „flag" bestehen. Für dessen Implementierung, z.B. als flag mit der Bedeutung „paged", kann pro Segment ein einziges Datenbit genügen. Anhand der Kennzeichnung kann dem Segmentverweis entnommen werden, ob die zugehörigen Inhalte noch ausgelagert sind oder bereits in der flüchtigen Speichereinheit vorliegen.According to one preferred embodiment of Therefore, the present invention does not differ yet said restored Belonging to segments Segment references by marking the segment references to already restored Segments. For example, the marking may consist of a so-called "flag" Implementation, e.g. as flag with the meaning "paged", can per segment satisfy a single data bit. The label can be taken from the segment reference, whether the associated Contents are still outsourced or already in the volatile Storage unit present.

Abweichend vom Wortlaut des Anspruchs 1 kann es auch vorteilhaft sein, anstelle von Segmenten, die vor der Abschaltung ausgelagert worden sind, Standard-Segmente bzw. Default-Segmente in einer nichtflüchtigen Speichereinheit bereitzuhalten, die ebenfalls nach der Reaktivierung zur Verfügung stehen sollen, aber selbst erst dann in die flüchtige Speichereinheit geladen werden, wenn funktional auf sie zugegriffen wird. Auch für solche Segmente können nach der Reaktivierung Segmentverweise erfindungsgemäß wiederhergestellt – also in die flüchtige Speichereinheit und/oder eine andere flüchtige Speichereinheit des Computersystems (z.B. TLB) geladen – werden, die auf den Speicherort des jeweiligen Segments verweisen. Es kann dadurch beispielsweise der Aufwand für die Auslagerung und die dafür benötigte Zeit verringert werden. Eine solche Variante des beschriebenen Verfahrens eignet sich insbesondere für solche Segmente, die während des Betriebs des Computersystems typischerweise unverändert bleiben. Insofern ist es nicht erforderlich, den genauen Zustand vor der Abschaltung des Computersystems durch Auslagerung zu sichern, sondern es genügt eine Standard- bzw. Default-Version des jeweiligen Segments. Auf ein solches Segment kann dann im Stile einer Bibliothek zugegriffen werden. Außerdem kann durch eine solche Nutzung von Standard-Segmenten bzw. Default-Segmenten beispielsweise auch ein Segment ersetzt werden, welches nicht rechtzeitig erfindungsgemäß ausgelagert werden konnte, welches bei der Auslagerung beschädigt wurde oder welches in einen definierten Zustand (z.B. Werkseinstellungen) zurückversetzt werden soll.deviant from the wording of claim 1, it may also be advantageous instead of segments that have been outsourced before shutdown, Standard segments or default segments in a non-volatile Storage unit ready, which also after reactivation be available but only then loaded into the volatile memory unit when they are functionally accessed. Also for such Segments can after reactivation segment references restored according to the invention - ie in the volatile memory unit and / or another volatile one Memory unit of the computer system (e.g., TLB) are loaded, which refer to the location of the respective segment. It can This, for example, the cost of outsourcing and the time required for it be reduced. Such a variant of the method described is particularly suitable for such segments during the operation of the computer system typically remain unchanged. In this respect, it is not necessary to know the exact condition before Shutdown of the computer system by outsourcing to secure, but it is sufficient a standard or default version of the respective segment. On such a segment can then be accessed in the style of a library become. Furthermore can by such use of standard segments or default segments For example, a segment will be replaced, which is not timely outsourced according to the invention could be, which was damaged during the removal or which in reset a defined state (e.g., factory settings) shall be.

Nachfolgend wird die Erfindung anhand der beigefügten Zeichnungen an einem Ausführungsbeispiel veranschaulicht, bei welchem das Computersystem als zentrale Steuer- und Bedieneinheit (Head-Unit) eines Kraftfahrzeugs ausgebildet ist. Aus dem Ausführungsbeispiel ergeben sich auch weitere bevorzugte Ausführungsformen und Weiterbildungen der vorliegenden Erfindung.following the invention with reference to the accompanying drawings of an embodiment illustrates where the computer system is the central control and operating unit (head unit) of a motor vehicle is formed. From the embodiment also result in further preferred embodiments and further developments of present invention.

In den beigefügten Zeichnungen zeigen jeweils schematischIn the attached Drawings show each schematically

1 eine Übersicht über die Adressierung von Speicherinhalten bei einem Ausführungsbeispiel für die Erfindung, 1 an overview of the addressing of memory contents in an embodiment of the invention,

2 einen ersten Zustand zweier physikalischer Adressräume und 2 a first state of two physical address spaces and

3, 4, 5 weitere spätere Zustände derselben physikalischen Adressräume. 3 . 4 . 5 further later states of the same physical address spaces.

Die Head-Unit in einem Kraftfahrzeug wird beim Abstellen des Kraftfahrzeugs regelmäßig abgeschaltet. Dennoch sollen verschiedene, insbesondere sicherheitsrelevante Funktionen wie etwa die Anzeige eines Parkhilfesystems, nach der Reaktivierung möglichst sofort, spätestens innerhalb weniger Sekunden, zur Verfügung stehen.The head unit in a motor vehicle is switched off regularly when parking the motor vehicle. Nevertheless, different, in particular safety-related functions such as the display of a parking aid system after reactivation as soon as possible, at the latest within a few Seconds, are available.

Die verarbeitende Recheneinheit CPU der Head-Unit ist geeignet, den flüchtigen Speicher (hier SDRAM) nicht direkt über physikalische Speicheradressen, sondern indirekt über eine so genannte virtuelle Adressierung anzusprechen. Die CPU sorgt unter Verwendung einer Übersetzungstabelle (translation lookaside buffer, TLB) für die Abbildung von virtuellen auf physikalische Adressen. Diese Abbildung ist über so genannte „page tables" (entsprechend den erfindungsgemäßen Segmentverweisen) in einer gewissen Granularität (Seitengröße, z.B. 4 kByte) frei programmierbar. Insbesondere ermöglichen diese page tables die Angabe, ob sich eine virtuell adressierbare page tatsächlich im flüchtigen Speicher (SDRAM) oder nur im sekundären Speicher (hier ausgebildet als hard disc drive HDD oder Flash-Speicher FLASH) befindet.The Processing unit CPU of the head unit is suitable, the volatile Memory (here SDRAM) not directly via physical memory addresses, but indirectly via to address a so-called virtual addressing. The CPU takes care of Use of a translation table (translation lookaside buffer, TLB) for the mapping of virtual to physical addresses. This illustration is about so-called "page tables" (corresponding to the Segment references according to the invention) in a certain granularity (Page size, e.g. 4 kbytes) freely programmable. In particular, these page tables allow the Specifies whether a virtually addressable page is actually in the volatile Memory (SDRAM) or only in the secondary memory (here formed as a hard disc drive HDD or flash memory FLASH) is located.

Vor einer Trennung der Head-Unit von der Stromversorgung wird ein Großteil aller im flüchtigen Speicher (SDRAM) befindlichen memory pages (entsprechend den erfindungsgemäßen Segmenten) auf den persistenten Speicher (HDD/FLASH) gesichert. Dabei werden die Page tables so modifiziert, dass die Einträge in den Page tables, welche die jeweils gesicherten pages betreffen, als „paged" markiert werden. Auch der file offset im persistenten Speichermedium wird jeweils in die Page table eingetragen. Zuletzt werden die Page tables selbst zusammen mit anderen wenigen systemrelevanten – zur Wiederaufnahme der Arbeit der Head-Unit zwingend erforderlichen – memory pages gesichert.In front A separation of the head unit from the power supply is a major part of all in the volatile memory (SDRAM) located memory pages (according to the segments of the invention) backed up to persistent storage (HDD / FLASH). It will be the page tables are modified so that the entries in the page tables, which the respective secured pages are marked as "paged." Also the file offset in the persistent storage medium is entered in the page table. Finally, the page tables themselves become together with other few systemically relevant - to Resumption of work of the head unit mandatory - memory secured pages.

Nach dem erneuten Anschalten der Stromversorgung (Reaktivierung) werden zunächst nur die Page tables wiederhergestellt und die wenigen systemrelevanten memory pages werden ins SDRAM rückgespeichert. Dies benötigt nur einen Bruchteil der Zeit, die erforderlich wäre für eine vollständige Wiederherstellung des Speicherinhalts des flüchtigen Speichers vor der Abschaltung. Nach der Wiederherstellung der Page tables und der Rückspeicherung der wenigen systemrelevanten memory pages ist die Head-Unit wieder verfügbar und kann ihre Arbeit aufnehmen. Sobald die CPU dabei auf einzelne memory pages zugreift, deren Inhalte noch nicht rückgespeichert worden sind, führt dieses zur Wiedereinlagerung (on demand) der entsprechenden memory Page aus dem persistenten Speichermedium (HDD/FLASH).To the power is turned on again (reactivation) first only the page tables restored and the few system-relevant ones memory pages are restored to the SDRAM. This is needed only a fraction of the time that would be required for a complete recovery the memory contents of the volatile memory before the shutdown. After restoring the page tables and the restoring of the few system-relevant memory pages, the head unit is available again and can start her work. As soon as the CPU goes to single memory pages whose contents have not yet been restored, leads this for restoring (on demand) the corresponding memory page the persistent storage medium (HDD / FLASH).

Dabei wird beim Zugriff auf das Segment – welcher erfolgt, indem der jeweilige Eintrag in der Page table aufgerufen wird – festgestellt, dass das flag „paged" gesetzt ist. Dementsprechend wird die entsprechende memory Page zunächst aus dem persistenten Speichermedium ins SDRAM rückgespeichert. Das flag „paged" wird gelöscht, die physikalische Adresse im SDRAM in die Page table eingetragen. Dann wird auf die Daten der nun im SDRAM vorliegenden Page zugegriffen.there when accessing the segment - which is done by the respective entry in the page table is called - found that the flag "paged" is set The corresponding memory page is initially made from the persistent storage medium saved back to the SDRAM. The flag "paged" is deleted, the physical address entered in the SDRAM in the page table. Then the data of the page which is now available in the SDRAM is accessed.

Das Verfahren ist in 1 schematisch skizziert. Herkömmliche (d.h. nicht systemrelevante) memory pages (z.B. Benutzer-Daten) sind mit dem Kürzel MP beschriftet. Systemrelevante memory pages sind mit dem Kürzel SYS beschriftet, Page tables durch das Kürzel PT. Die jeweilige Bedeutung der Kürzel CPU, TLB, SDRAM und HDD ergibt sich bereits aus der obigen Beschreibung.The procedure is in 1 sketched schematically. Conventional (ie not system-relevant) memory pages (eg user data) are labeled with the abbreviation MP. System-relevant memory pages are labeled with the abbreviation SYS, page tables with the abbreviation PT. The respective meaning of the abbreviations CPU, TLB, SDRAM and HDD already results from the above description.

1 ist in vier Ebenen gegliedert. Die oberste Ebene zeigt den virtuellen Adressraum (VIRTUAL ADDRESS SPACE), dabei links den systembezogenen Adressraum (SYSTEM ADDRESS SPACE) mit systemrelevanten memory pages und den Page tables, anschließend Teile des benutzerbezogenen Adressraums (USER ADRESS SPACE 1 ... N) mit Benutzer-Daten. 1 is divided into four levels. The top level shows the virtual address space (VIRTUAL ADDRESS SPACE), with the system-related address space (SYSTEM ADDRESS SPACE) with system-relevant memory pages and the page tables on the left, and then user-defined address space (USER ADDRESS SPACE 1 ... N) with user-defined address space. Dates.

Die zweite Ebene in 1 zeigt die CPU der Head-Unit mit TLB und einer Speicherverwaltung MEMORY CONTROL. Durch den TLB und die MEMORY CONTROL wird in an sich von Computersystemen mit virtueller Speicheradressierung bekannter Art und Weise eine Umsetzung des in der obersten Ebene dargestellten virtuellen Adressraums auf den in der dritten und vierten Ebene dargestellten physikalischen Adressraum vorgenommen. Die Bedeutung der verschiedenen eingezeichneten Pfeile ist in der ebenfalls in 1 enthaltenen Legende erklärt (INSTRUCTION FETCH, DATA R/W, TLB FETCH). Die Signalflüsse sind für den Fachmann auf dem Gebiet der Erfindung selbsterklärend.The second level in 1 shows the CPU of the head unit with TLB and memory management MEMORY CONTROL. The TLB and the MEMORY CONTROL, in a manner known per se from computer systems with virtual memory addressing, convert the virtual address space shown in the top level onto the physical address space shown in the third and fourth levels. The meaning of the different drawn arrows is also in the 1 Legend explained (INSTRUCTION FETCH, DATA R / W, TLB FETCH). The signal flows are self-explanatory to those skilled in the art.

Die dritte Ebene in 1 zeigt den physikalischen Adressraum des SDRAM, die vierte Ebene zeigt einen Ausschnitt des physikalischen Adressraums des persistenten Speichers (HDD/FLASH).The third level in 1 shows the physical address space of the SDRAM, the fourth level shows a section of the physical address space of the persistent memory (HDD / FLASH).

In dem in 1 dargestellten Zustand der dritten Ebene sind bereits sämtliche memory pages MP, die zuvor anlässlich einer Abschaltung gesichert wurden, wieder erfindungsgemäß ins SDRAM rückgespeichert. Der Speicherzustand des SDRAM entspricht somit auch dem Speicherzustand des SDRAM vor der Abschaltung des Computersystems.In the in 1 shown state of the third level are already all memory pages MP, which were previously saved on the occasion of a shutdown, again stored according to the invention in the SDRAM. The memory state of the SDRAM thus also corresponds to the memory state of the SDRAM before the shutdown of the computer system.

Die vierte Ebene (physikalischer Adressraum HDD) enthält im in 1 dargestellten Zustand noch die zur Sicherung verwendeten ausgelagerten pages. Ausgelagert wurden vor der Abschaltung des Computersystems sowohl die systemrelevanten memory pages SYS und die Page tables PT als auch die herkömmlichen memory pages MP. Grundsätzlich werden diese pages in der persistenten Speichereinheit nach der Rückspeicherung nicht mehr benötigt und könnten auch gelöscht werden. Zur Veranschaulichung des Vorgehens sind sie hier weiterhin – auch nach der Rückspeicherung – in der persistenten Speichereinheit enthalten.The fourth level (physical address space HDD) contains in 1 state nor the paged pages used for backup. Before the shutdown of the computer system, both the system-relevant memory pages SYS and the page tables PT as well as the conventional memory pages MP were stored. Basically, these pages are no longer needed in the persistent storage unit after the restore and could also be deleted. To the vision They are still included in the persistent storage unit, even after the recovery.

Die relative Anordnung der pages im persistenten Speicher muss selbstverständlich nicht derjenigen im SDRAM entsprechen. Durch die virtuelle Adressierung kann eine beliebige Umordnung bewerkstelligt werden. In den Zeichnungen ist der besseren Anschaulichkeit halber aber dieselbe relative Anordnung gewählt. Aufgrund ihrer unterschiedlichen Handhabung bei dem erfindungsgemäßen Verfahren ist der Speicherbereich der pages SYS und PT von dem der MPs getrennt dargestellt.The of course, relative arrangement of pages in persistent storage does not have to correspond to those in the SDRAM. Through the virtual addressing can be accomplished any reordering. In the drawings For the sake of clarity, however, it is the same relative arrangement selected. Due to their different handling in the inventive method the memory area of the pages SYS and PT is separate from that of the MPs shown.

Die Figuren 2, 3, 4 und 5 zeigen Momentaufnahmen der physikalischen Speicherbelegung während des hier beschriebenen Ausführungsbeispiels für das erfindungsgemäße Verfahren. Der grundlegende Ablauf des Verfahrens, der oben bereits beschrieben wurde, durchläuft dabei die in den Figuren 2, 3, 4 und 5 dargestellten Phasen. Die jeweils obere Ebene in den Figuren 2, 3, 4 und 5 entspricht der oben bereits beschriebenen dritten Ebene von 1, die jeweils untere Ebene entspricht der vierten Ebene von 1.The figures 2 . 3 . 4 and 5 show snapshots of the physical memory occupancy during the embodiment described here for the inventive method. The basic procedure of the method, which has already been described above, goes through that in the figures 2 . 3 . 4 and 5 illustrated phases. The upper level in the figures 2 . 3 . 4 and 5 corresponds to the third level of 1 , the lower level respectively corresponds to the fourth level of 1 ,

2 zeigt eine Momentaufnahme noch vor der Abschaltung und auch noch vor der Feststellung einer bevorstehenden Abschaltung. Die obere Ebene zeigt den Speicherzustand des SDRAM, der nachfolgend erfindungsgemäß gesichert wird. Die Page tables verweisen dabei auf die jeweiligen physikalischen Adressen der pages im SDRAM. Der ebenfalls in 2 dargestellte Ausschnitt des physikalischen Adressraums des persistenten Speichers HDD/FLASH ist noch nicht belegt. Alternativ könnten hier auch noch obsolete Daten gespeichert sein, die nachfolgend überschrieben werden. 2 shows a snapshot before the shutdown and even before the detection of an imminent shutdown. The upper level shows the memory state of the SDRAM, which is subsequently saved according to the invention. The page tables refer to the respective physical addresses of the pages in the SDRAM. The also in 2 shown section of the physical address space of the persistent memory HDD / FLASH is not yet occupied. Alternatively, even obsolete data could be stored here, which will be overwritten below.

Zur Sicherung des Speicherinhalts des SDRAM werden bei Feststellung einer bevorstehenden Abschaltung der Head-Unit die folgenden Schritte unternommen: Die memory pages MP werden nach und nach auf den persistenten Speicher HDD/FLASH ausgelagert. Für jede ausgelagerte MP wird in der entsprechenden Page table PT das flag „paged" gesetzt. Außerdem wird in der PT die physikalische Adresse der ausgelagerten MP im persistenten Speicher HDD/FLASH vermerkt. Sind alle memory pages MP ausgelagert, werden zuletzt die Page tables PT selbst und die systemrelevanten memory pages SYS ausgelagert (hier in einen gesonderten Bereich des persistenten Speichers HDD/FLASH, links der vertikalen Trennlinie in der unteren Ebene von 2 bzw. 3). Die Auslagerung ist nun abgeschlossen; das System kann abgeschaltet werden, wodurch das flüchtige SDRAM gelöscht wird. 3 zeigt den so entstehenden Zustand mit leerem SDRAM.To secure the memory contents of the SDRAM, the following steps are taken when an imminent shutdown of the head unit is detected: The memory pages MP are gradually transferred to the persistent storage HDD / FLASH. For each paged out MP, the flag "paged" is set in the corresponding page table PT Furthermore, the physical address of the paged out MP is noted in the PT in the persistent memory HDD / FLASH If all memory pages MP are paged out, the page tables PT last become itself and the system-relevant memory pages SYS outsourced (here into a separate area of the persistent memory HDD / FLASH, left of the vertical dividing line in the lower level of 2 respectively. 3 ). The outsourcing is now complete; the system can be turned off, which clears the volatile SDRAM. 3 shows the resulting state with empty SDRAM.

Nach der Reaktivierung werden nun zunächst nur die systemrelevanten memory pages SYS rückgespeichert und die Page tables PT wiederhergestellt. Beide werden hierzu ins SDRAM geschrieben. 4 zeigt den entstehenden Zustand. Der eigentliche BIOS-Restore-Vorgang ist damit bereits abgeschlossen. Die Head-Unit kann bereits jetzt ihre Arbeit wieder aufnehmen und beispielsweise die Anzeige des bereits angesprochenen Parkhilfesystems auf einer Anzeigeeinheit im Kraftfahrzeuginnenraum ausgeben.After reactivation, only the system-relevant memory pages SYS are initially restored and the page tables PT restored. Both are written to the SDRAM for this purpose. 4 shows the resulting state. The actual BIOS restore process is already completed. The head unit can already resume its work and, for example, output the display of the already mentioned parking aid system on a display unit in the motor vehicle interior.

Die memory pages MP sind zunächst noch alle ausgelagert. Dennoch kann bereits funktional auf sie zugegriffen werden, da die Page tables Einträge mit Verweisen auf ihre Speicherorte enthalten. Der Zugriff kann dabei – völlig unabhängig vom Speicherort der jeweiligen MP – über die jeweilige virtuelle Adresse erfolgen. Wird nun während des Betriebs der Head-Unit funktional auf eine noch ausgelagerte memory Page zugegriffen, wird das flag „paged" in der Page table PT erkannt. Es wird dann beispielsweise eine so genannte „exception" ausgelöst und die jeweilige memory Page wird vom aktuellen Speicherort im persistenten Speicher wieder ins SDRAM rückgespeichert. Nach der Rückspeicherung wird die Page table entsprechend aktualisiert (das flag „paged" wird gelöscht, der neue Speicherort wird eingetragen) und die Daten der nun im SDRAM vorliegenden MP können verarbeitet werden. Wie bereits oben erwähnt, könnten die rückgespeicherten memory pages in der persistenten Speichereinheit nach der Rückspeicherung auch gelöscht werden, bleiben zur Veranschaulichung jedoch in der vorliegenden Darstellung enthalten.The memory pages MP are first all outsourced. Nevertheless, they can already be accessed functionally because the page tables entries with References to their locations included. Access can be completely independent of the Location of the respective MP - over the respective virtual address. Will now during the operation of the head unit functionally accessed on a still paged memory page becomes the flag "paged" in the page table PT detected. It is then triggered, for example, a so-called "exception" and the respective memory page becomes persistent from the current location Memory restored to SDRAM. After the recovery the page table is updated accordingly (the flag "paged" is deleted, the new location will be entered) and the data in the SDRAM present MP can are processed. As mentioned above, the restored memory pages be deleted in the persistent storage unit after the restore also remain for illustration, however, in the present presentation contain.

5 zeigt einen Zustand des SDRAM, in welchem bereits einige, aber noch nicht alle, memory pages in Folge von funktionalen Zugriffen ins SDRAM rückgespeichert worden sind. 5 shows a state of the SDRAM in which some, but not all, memory pages have been restored to the SDRAM as a result of functional accesses.

Spätestens nachdem auf alle memory pages MP zumindest einmalig funktional zugegriffen worden ist, stellt sich der bereits in 1 abgebildete Zustand des SDRAM ein. Alle memory pages sind rückgespeichert. Der Speicherzustand ist erfindungsgemäß wiederhergestellt.At the latest after all memory pages MP have been accessed at least once functionally, the already in 1 pictured state of the SDRAM. All memory pages are restored. The memory state is restored according to the invention.

Claims (6)

Verfahren zur zumindest teilweisen Wiederherstellung des Speicherinhalts einer flüchtigen Speichereinheit in einem Computersystem nach einer durch eine Abschaltung des Computersystems bedingten Rücksetzung des Speicherinhalts der flüchtigen Speichereinheit, wobei der Speicherinhalt der flüchtigen Speichereinheit vor der Abschaltung zumindest teilweise in solcher Art und Weise auf eine nichtflüchtige Speichereinheit ausgelagert wird, dass er nach einer Reaktivierung des Computersystems in die flüchtige Speichereinheit rückspeicherbar ist, dadurch gekennzeichnet, dass zumindest ein Teil des ausgelagerten Speicherinhalts in einer in Segmente unterteilten Form ausgelagert wird, dass für zumindest einen Teil dieser ausgelagerten Segmente jeweils ein Segmentverweis generiert wird, der auf den Speicherort des jeweiligen Segments verweist, dass die Segmentverweise nach der Reaktivierung wiederhergestellt werden, dass die Inhalte der ausgelagerten Segmente nach der Reaktivierung zumindest teilweise erst dann in die flüchtige Speichereinheit rückgespeichert werden, wenn funktional auf sie zugegriffen wird, dass ein funktionaler Zugriff auf den Inhalt eines ausgelagerten Segments erfolgt, indem der jeweilige Segmentverweis aufgerufen wird, und dass im Falle eines funktionalen Zugriffs auf ein Segment dessen Speicherort anhand des Segmentverweises aufgefunden wird.A method for at least partially recovering the memory contents of a volatile memory unit in a computer system after a shutdown of the computer system resetting the memory contents of the volatile memory unit, wherein the memory contents of the volatile memory unit before the shutdown at least partially in sol is outsourced to a non-volatile memory unit in such a way that it can be restored to the volatile memory unit after a reactivation of the computer system, characterized in that at least part of the paged memory content is swapped out in a segmented form for at least a part of it outsourced segments are each a segment reference is generated, which refers to the location of the respective segment that the segment references are restored after reactivation, that the contents of the outsourced segments after reactivation at least partially only then stored back into the volatile memory unit, if functional on them is accessed, that a functional access to the content of an outsourced segment takes place by the respective segment reference is called, and that in the case of a functional access to a segment whose memory location based on the segment reference Ises is found. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass im Falle freier Übertragungskapazitäten zwischen der nichtflüchtigen und der flüchtigen Speichereinheit die Inhalte ausgewählter Segmente in die flüchtige Speichereinheit rückgespeichert werden, bevor funktional auf sie zugegriffen wird.Method according to claim 1, characterized in that that in case of free transmission capacities between the non-volatile and the volatile memory unit the contents of selected ones Segments in the volatile Memory unit restored before it is functionally accessed. Verfahren nach einem der Ansprüche 1 oder 2, dadurch gekennzeichnet, dass die Segmentverweise in derselben nichtflüchtigen Speichereinheit abgelegt werden wie die ausgelagerten Segmente.Method according to one of claims 1 or 2, characterized that the segment references are stored in the same non-volatile storage unit like the outsourced segments. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass die zu noch nicht rückgespeicherten Segmenten gehörigen Segmentverweise sich durch eine Kennzeichnung von den zu bereits rückgespeicherten Segmenten gehörigen Segmentverweisen unterscheiden.Method according to one of claims 1 to 3, characterized that to not yet restored Belonging to segments Segment references differ from one to another by a label said restored Segments belong to segment references differ. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass zumindest ein Teil des ausgelagerten Speicherinhalts unmittelbar nach der Reaktivierung in die flüchtige Speichereinheit rückgespeichert wird.Method according to one of claims 1 to 4, characterized that at least part of the paged memory contents immediately after reactivation in the volatile Memory unit restored becomes. Verfahren nach einem der Ansprüche 1 bis 5 dadurch gekennzeichnet, dass das Computersystem als zentrale Steuer- und Bedieneinheit eines Kraftfahrzeugs ausgebildet ist.Method according to one of claims 1 to 5, characterized that the computer system as a central control and operating unit of a Motor vehicle is formed.
DE200610039418 2006-08-23 2006-08-23 Volatile memory unit e.g. synchronous dynamic RAM, contents recovering method for computer system, involves carrying out functional access to contents, and retrieving storage location in segments based on segment pointer in case of access Withdrawn DE102006039418A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE200610039418 DE102006039418A1 (en) 2006-08-23 2006-08-23 Volatile memory unit e.g. synchronous dynamic RAM, contents recovering method for computer system, involves carrying out functional access to contents, and retrieving storage location in segments based on segment pointer in case of access

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200610039418 DE102006039418A1 (en) 2006-08-23 2006-08-23 Volatile memory unit e.g. synchronous dynamic RAM, contents recovering method for computer system, involves carrying out functional access to contents, and retrieving storage location in segments based on segment pointer in case of access

Publications (1)

Publication Number Publication Date
DE102006039418A1 true DE102006039418A1 (en) 2008-02-28

Family

ID=38973257

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200610039418 Withdrawn DE102006039418A1 (en) 2006-08-23 2006-08-23 Volatile memory unit e.g. synchronous dynamic RAM, contents recovering method for computer system, involves carrying out functional access to contents, and retrieving storage location in segments based on segment pointer in case of access

Country Status (1)

Country Link
DE (1) DE102006039418A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2530586A1 (en) * 2011-05-31 2012-12-05 Myriad France Method for generating software

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5784628A (en) * 1996-03-12 1998-07-21 Microsoft Corporation Method and system for controlling power consumption in a computer system
US20020087816A1 (en) * 2000-12-29 2002-07-04 Atkinson Lee W. Fast suspend to disk

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5784628A (en) * 1996-03-12 1998-07-21 Microsoft Corporation Method and system for controlling power consumption in a computer system
US20020087816A1 (en) * 2000-12-29 2002-07-04 Atkinson Lee W. Fast suspend to disk

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2530586A1 (en) * 2011-05-31 2012-12-05 Myriad France Method for generating software
FR2976094A1 (en) * 2011-05-31 2012-12-07 Myriad France METHOD FOR GENERATING A SOFTWARE
US8935659B2 (en) 2011-05-31 2015-01-13 Myriad France Method for generating software

Similar Documents

Publication Publication Date Title
DE112010003650B4 (en) Container marking scheme for reducing write gain in semiconductor devices
DE3151745C2 (en)
DE102005006863B4 (en) Data processing device in a vehicle control system
DE102007006307A1 (en) Non volatile memory unit i.e. flash memory unit, operating method, involves determining log-block as reusable log block, without deleting updated version of data, and fulfilling pre-determined condition depending on determination
DE69034227T2 (en) EEprom system with block deletion
EP2923261B1 (en) Method for controlling a flash memory for mass storage, which is comprised by a communications device that can be connected to a host, and computer program product for carrying out said method
DE112008000180T5 (en) Method and system for implementing a fast wakeup of a flash memory system
DE102009019271A1 (en) Transfer Sequence Numbers for Power Failure Recovery in a Nonvolatile Memory
EP1744236A1 (en) Configuration of components when changing from a low-power to a normal-power consumption mode
EP1314135B1 (en) Method for virtually enlarging the stack of a portable data carrier
DE102018202446A1 (en) Method for modularizing a software architecture
DE60019364T2 (en) Memory defragmentation in smart cards
EP1611517A2 (en) Program-controlled unit
DE102006039418A1 (en) Volatile memory unit e.g. synchronous dynamic RAM, contents recovering method for computer system, involves carrying out functional access to contents, and retrieving storage location in segments based on segment pointer in case of access
DE60210118T2 (en) SAFETY DEVICE FOR MASS STORAGE
EP2608037A2 (en) Method for managing data in a flash memory, driver assistance device and motor vehicle
DE102016202684B4 (en) DATA MANAGEMENT DEVICE AND DATA MANAGEMENT PROGRAM
DE10260103A1 (en) Method and device for changing software in a control unit and corresponding control unit
DE102004055051B3 (en) Procedure for the acceleration of a startup procedure for an application employs non-volatile memory
DE1774212B2 (en) EN 20417 08/12/67 "37132 BEZ: DATA PROCESSING SYSTEM
DE10227256C1 (en) Addressing blockwise erasable memories involves checking flag memory per address conversion in connection with sector write command leading to written sector to determine if block address present
EP0556430B1 (en) Method for controlling a peripheral system
DE102021002079B3 (en) Procedures for efficient data filing
EP2711793B1 (en) Method for operating an operating device for controlling a technical installation
EP2037360A2 (en) Control device for a mass storage and method for providing data for a start procedure of a computer

Legal Events

Date Code Title Description
OM8 Search report available as to paragraph 43 lit. 1 sentence 1 patent law
R005 Application deemed withdrawn due to failure to request examination

Effective date: 20130824