DE102019124738A1 - Method for the energy-saving operation of a computer system and the associated computer system and computer program product - Google Patents

Method for the energy-saving operation of a computer system and the associated computer system and computer program product Download PDF

Info

Publication number
DE102019124738A1
DE102019124738A1 DE102019124738.1A DE102019124738A DE102019124738A1 DE 102019124738 A1 DE102019124738 A1 DE 102019124738A1 DE 102019124738 A DE102019124738 A DE 102019124738A DE 102019124738 A1 DE102019124738 A1 DE 102019124738A1
Authority
DE
Germany
Prior art keywords
memory
dram
data
computer system
banks
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
DE102019124738.1A
Other languages
German (de)
Inventor
Ivan Iliev Ivanov
Günther Kraft
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.)
Harman Becker Automotive Systems GmbH
Original Assignee
Harman Becker Automotive Systems 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 Harman Becker Automotive Systems GmbH filed Critical Harman Becker Automotive Systems GmbH
Priority to DE102019124738.1A priority Critical patent/DE102019124738A1/en
Publication of DE102019124738A1 publication Critical patent/DE102019124738A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4076Timing circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • G06F1/3225Monitoring of peripheral devices of memory devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40618Refresh operations over multiple banks or interleaving
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/10Aspects relating to interfaces of memory device to external buses
    • G11C2207/102Compression or decompression of data before storage

Abstract

Zum Zweck der Energieeinsparung und damit eines verlängerten Betriebs eines Computersystems (6), welches einen DRAM-Speicher (1) aufweist, bestehend aus mehreren Speicherbänken (2), deren Speicherinhalte jeweils einzeln mittels eines DRAM-Refresh-Zyklus (7) wiederaufgefrischt werden können, wird vorgeschlagen, dass durch Auslesen des DRAM-Speichers (1) zunächst Daten (9) erfasst werden, die zu erhalten sind, dass anschließend diese Daten (9) in komprimierter Form in den DRAM-Speicher (1) zurückgeschrieben werden, insbesondere wobei dabei weniger der Speicherbänke (2) mit zu erhaltenden Daten (9) beschrieben werden als eine Anzahl der Speicherbänke (2), die vor dem Auslesen solche zu erhaltenden Daten (9) enthielten, und dass schließlich nur solche der Speicherbänke (2) mittels des DRAM-Refresh-Zyklus (7) periodisch wiederaufgefrischt werden, die beim Schreiben der komprimierten Daten (28) in den DRAM-Speicher (1) mit zu erhaltenden komprimierten Daten (9, 28) neu beschrieben worden sindFor the purpose of energy saving and thus extended operation of a computer system (6) which has a DRAM memory (1) consisting of several memory banks (2), the memory contents of which can be refreshed individually by means of a DRAM refresh cycle (7) , It is proposed that by reading out the DRAM memory (1) first of all data (9) are recorded which are to be obtained so that these data (9) are then written back in compressed form to the DRAM memory (1), in particular where less of the memory banks (2) are written with data to be received (9) than a number of memory banks (2) which contained such data to be received (9) before reading out, and that ultimately only those of the memory banks (2) by means of the DRAM refresh cycle (7) are periodically refreshed, which sin when writing the compressed data (28) in the DRAM memory (1) with compressed data (9, 28) to be obtained d

Description

Die Erfindung betrifft ein Verfahren zum energiesparenden Betrieb eines Computersystems, welches insbesondere als ein „in-vehicle-infotainment‟(IVI)-System ausgestaltet sein kann. Die Erfindung betrifft ferner ein solches Computersystem und ein zugehöriges Computerprogrammprodukt.The invention relates to a method for the energy-saving operation of a computer system, which can in particular be designed as an “in-vehicle infotainment” (IVI) system. The invention also relates to such a computer system and an associated computer program product.

Das besagte Computersystem weist einen DRAM-Speicher auf Basis eines Dynamic Random Access Memory (DRAM) auf, der seinerseits mehrere einzeln adressierbare Speicherbänke (banks) aufweist. Dabei können jeweilige Speicherinhalte der Speicherbänke elektronisch mittels eines DRAM-Refresh-Zyklus wiederaufgefrischt werden. Das Computersystem umfasst ferner einen host controller zum Auslesen und Beschreiben des DRAM-Speichers. Schließlich ist das Computersystem von einem Normalbetriebszustand in einen Bereitschaftsbetriebszustand (standby mode) versetzbar, in welchem der Gesamtenergieverbrauch des Computersystems reduziert ist im Vergleich zu dem Normalbetriebszustand.Said computer system has a DRAM memory based on a Dynamic Random Access Memory (DRAM), which in turn has several individually addressable memory banks. The respective memory contents of the memory banks can be refreshed electronically by means of a DRAM refresh cycle. The computer system also includes a host controller for reading and writing to the DRAM memory. Finally, the computer system can be switched from a normal operating state to a standby mode, in which the total energy consumption of the computer system is reduced compared to the normal operating state.

Derartige Computersysteme werden bereits eingesetzt, insbesondere als sogenannte „in-vehicle-infotainment‟(IVI)-Systeme, die der elektronischen Unterhaltung und Information (information and entertainment, i.e. „infotainment“) von Fahrgästen in Fahrzeugen dienen. Um Energie während des Betriebs zu sparen, weisen solche Systeme typischerweise den besagten Bereitschaftsbetriebszustand auf, also eine Energiesparfunktion, durch welche einzelne Systemkomponenten in einen jeweiligen Energiesparmodus versetzt werden, in welchem ein jeweiliger elektrischer Stromverbrauch der Systemkomponente abgesenkt und damit der Gesamtenergiebedarf des Systems reduziert ist.Such computer systems are already in use, in particular as so-called "in-vehicle infotainment" (IVI) systems, which are used for electronic entertainment and information (information and entertainment, i.e. "infotainment") for passengers in vehicles. In order to save energy during operation, such systems typically have the aforementioned standby mode, i.e. an energy-saving function through which individual system components are put into a respective energy-saving mode in which the respective electrical power consumption of the system component is reduced and thus the overall energy requirement of the system is reduced.

Einen Hauptbeitrag zum Energieverbrauch tragen typischerweise ein Chipset und ein Datenspeicherungssystem des Computersystems. Letzteres ist heutzutage typischerweise als ein DRAM (Dynamic Random Access Memory) ausgestaltet. Da sich die Speicherkapazität von DRAM-Speichern derzeit von Chip-Generation zu Chip-Generation immer weiter erhöht, wird es immer wichtiger, den Energiebedarf des DRAM abzusenken, um den Gesamtenergiebedarf des Computersystems zu begrenzen. Dieses Problem wird sich in Zukunft mit weiterer Zunahme der DRAM-Speicherkapazität weiter verschärfen.A chipset and a data storage system of the computer system typically make a major contribution to energy consumption. Nowadays, the latter is typically designed as a DRAM (Dynamic Random Access Memory). Since the storage capacity of DRAM memories is currently increasing from chip generation to chip generation, it is becoming more and more important to lower the energy requirement of the DRAM in order to limit the overall energy requirement of the computer system. This problem will be exacerbated in the future as the DRAM storage capacity continues to grow.

Aus diesem Grund wurden bereits vier Generationen von low-power Varianten von DRAM entwickelt, die unter den Industrie-Standards LPDDR1, LPDDR2, LPDDR3 und LPDDR4 (veröffentlicht in 2014 durch die JEDEC) bekannt sind. Genauer handelt es sich hierbei um Low-Power Double Data Rate Synchronous Dynamic Random Access Memory (LPDDR-SDRAM), häufig abgekürzt als low-power DDR SDRAM und im Folgenden der Einfachheit halber als LPDDRx bezeichnet. Im Februar 2019 wurde zudem eine fünfte Generation des Standards unter dem Kürzel LPDDR5 von der JEDEC publiziert. Alle diese spezifisch für die Verwendung in mobilen Endgeräten ausgelegten DRAM-Typen eint die Eigenschaft eines niedrigen Energieverbrauchs, was insbesondere durch eine immer weitergehende Absenkung der Versorgungsspannung auf zuletzt 0.5 V in LPDDR5 erreicht wird.For this reason, four generations of low-power variants of DRAM have already been developed, which are known under the industry standards LPDDR1, LPDDR2, LPDDR3 and LPDDR4 (published in 2014 by JEDEC). More precisely, this is Low-Power Double Data Rate Synchronous Dynamic Random Access Memory (LPDDR-SDRAM), often abbreviated as low-power DDR SDRAM and hereinafter referred to as LPDDRx for the sake of simplicity. In February 2019, a fifth generation of the standard under the abbreviation LPDDR5 was published by JEDEC. All of these DRAM types, which are specifically designed for use in mobile end devices, share the property of low energy consumption, which is achieved in particular by continuously lowering the supply voltage to 0.5 V in LPDDR5.

Ferner weisen diese Speichertypen sehr geringe „self-refreshcurrents“ im Bereich weniger mA auf, also typischerweise eine Größenordnung weniger als beispielsweise herkömmliche Double Data Rate Synchronous Dynamic Random Access Memory (DDR-SDRAM), was den Energieverbrauch im „standby mode“ (Bereitschaftsbetriebszustand) auf wenige mW reduziert.Furthermore, these memory types have very low “self-refresh currents” in the range of a few mA, that is typically an order of magnitude less than, for example, conventional Double Data Rate Synchronous Dynamic Random Access Memory (DDR-SDRAM), which reduces energy consumption in “standby mode”. reduced to a few mW.

Beim sogenannten „Suspend-to-RAM“ als Teil des Bereitschaftsbetriebszustands wird typischerweise die aktuelle Systemkonfiguration in den DRAM-Speicher geschrieben und die meisten Systemkomponenten werden abgeschaltet, um weniger elektrische Energie zu verbrauchen. Lediglich der DRAM wird weiterhin mit Strom versorgt, da sonst die gespeicherten Daten verlorengehen würden. Dadurch ergibt sich bereits eine enorme Einsparung an elektrischer Energie im Vergleich zum Normalbetriebszustand.With so-called "Suspend-to-RAM" as part of the standby mode, the current system configuration is typically written to the DRAM memory and most of the system components are switched off in order to consume less electrical energy. Only the DRAM is still supplied with power, otherwise the stored data would be lost. This already results in enormous savings in electrical energy compared to normal operating conditions.

Trotz dieser Vorkehrungen und der Verwendung energiesparsamer DRAM-Speicher vom Typ LPDDRx ist die Zeit, in welcher heutige Computersysteme im Bereitschaftsbetriebszustand betreibbar sind, begrenzt.Despite these precautions and the use of energy-saving DRAM memories of the LPDDRx type, the time in which today's computer systems can be operated in the standby mode is limited.

Hiervon ausgehend liegt der Erfindung die Aufgabe zugrunde, den Energiebedarf von Computersystemen wie eingangs beschrieben - zumindest im Bereitschaftsbetriebszustand - weiter abzusenken.Proceeding from this, the invention is based on the object of further reducing the energy requirement of computer systems as described at the outset - at least in the standby mode.

Zur Lösung dieser Aufgabe sind erfindungsgemäß bei einem Verfahren zum energiesparenden Betrieb eines Computersystems die Merkmale von Anspruch 1 vorgesehen. Insbesondere wird somit erfindungsgemäß zur Lösung der Aufgabe bei einem Verfahren der eingangs beschriebenen Art vorgeschlagen, dass im Bereitschaftsbetriebszustand in einem Identifikationsschritt diejenigen der Speicherbänke des DRAM-Speichers als auszuschließende Speicherbänke identifiziert werden, die keine Daten oder aktuell nicht mehr benötigte Daten enthalten. Ferner wird vorgeschlagen, dass in einem Wiederauffrischungsschritt alle übrigen der Speicherbänke des DRAM-Speichers, die zu erhaltende Daten enthalten, mittels des DRAM-Refresh-Zyklus wiederaufgefrischt werden, während die auszuschließenden Speicherbänke von dem DRAM-Refresh-Zyklus ausgeschlossen werden.To achieve this object, the features of claim 1 are provided according to the invention in a method for energy-saving operation of a computer system. In particular, according to the invention, in order to achieve the object in a method of the type described at the outset, in the standby mode, in an identification step, those of the memory banks of the DRAM memory that contain no data or currently no longer required are identified as memory banks to be excluded. It is also proposed that, in a refresh step, all of the remaining memory banks of the DRAM memory which contain data to be received are refreshed by means of the DRAM refresh cycle, while those to be excluded Memory banks are excluded from the DRAM refresh cycle.

Mit anderen Worten wird demnach vorgeschlagen nicht den gesamten DRAM-Speicher wiederaufzufrischen, sondern lediglich ausgewählte Speicherbänke des DRAM-Speichers. Die Auswahl, welche der Speicherbänke des DRAM-Speichers mittels des DRAM-Refresh-Zyklus wiederaufgefrischt werden, kann dabei anhand des Speicherinhalts der Speicherbänke erfolgen, wie noch genauer zu erläutern sein wird.In other words, it is accordingly proposed not to refresh the entire DRAM memory, but rather only selected memory banks of the DRAM memory. The selection of which of the memory banks of the DRAM memory are refreshed by means of the DRAM refresh cycle can be made on the basis of the memory content of the memory banks, as will be explained in more detail below.

Die einzelnen Speicherzellen einzelner Speicherbänke des DRAM-Speichers, die dem Speichern eines jeweiligen Daten-Bits dienen, bestehen typischerweise aus je einer winzigen Kapazität und einem zugehörigen Transistor zum Beaufschlagen der Kapazität mit einer elektrischen Ladung. Aufgrund von Leckströmen muss dabei die Speicherzelle periodisch neu elektrisch aufgeladen werden, um den Speicherzustand beizubehalten und so einen Datenverlust zu vermeiden, was als „refresh“ bezeichnet wird. Sogenannte self-refresh-Modi, mit denen sich die Speicherinhalte der Speicherzellen wiederauffrischen lassen, dienen somit dem Wiederaufladen der Kapazitäten einzelner Speicherzellen, um deren Leckströme auszugleichen.The individual memory cells of individual memory banks of the DRAM memory, which are used to store a respective data bit, typically each consist of a tiny capacitance and an associated transistor for applying an electrical charge to the capacitance. Because of leakage currents, the memory cell must be periodically recharged electrically in order to maintain the memory state and thus avoid data loss, which is referred to as “refresh”. So-called self-refresh modes, with which the memory contents of the memory cells can be refreshed, are used to recharge the capacities of individual memory cells in order to compensate for their leakage currents.

Unter einem „refresh“ oder Wiederauffrischen des DRAM-Speichers kann hier somit insbesondere ein Prozess verstanden werden, bei dem periodisch Daten aus Speicherzellen des DRAM-Speichers ausgelesen werden und sofort wieder diese ausgelesenen Daten ohne Modifizierung in die jeweiligen Speicherzellen des DRAM-Speichers zurückgeschrieben werden, mit dem Zweck, dadurch die in den Speicherzellen gespeicherten Daten, beziehungsweise die durch die Daten kodierte Information, zu erhalten. Derartige DRAM-refresh-Zyklen sind somit ein notwendiger Hintergrund-Prozess für den Betrieb von DRAM, um Datenverlust zu vermeiden.A “refresh” or refreshing of the DRAM memory can thus be understood here in particular as a process in which data is periodically read out from memory cells of the DRAM memory and these read data are immediately written back to the respective memory cells of the DRAM memory without modification with the purpose of thereby obtaining the data stored in the memory cells or the information encoded by the data. Such DRAM refresh cycles are therefore a necessary background process for the operation of DRAM in order to avoid data loss.

Die Vorteile des zuvor beschriebenen Verfahrens sind wie folgt:

  • Im Bereitschaftsbetriebszustand können stets nur diejenigen Speicherbänke elektronisch wiederaufgefrischt werden, die tatsächlich Daten enthalten, die zu einem späteren Zeitpunkt, insbesondere nach einem Übergang in den Normalbetriebszustand, von dem Computersystem benötigt werden. Dadurch kann ein Refresh-Strom, der zum Wiederauffrischen der Speicherbänke des DRAM-Speichers im Bereitschaftsbetriebszustand eingesetzt werden muss, stark reduziert werden, was den Energieverbrauch des Computersystems im Bereitschaftsbetriebszustand senkt.
The advantages of the procedure described above are as follows:
  • In the standby operating state, only those memory banks can be electronically refreshed which actually contain data that are required by the computer system at a later point in time, in particular after a transition to the normal operating state. As a result, a refresh current that has to be used to refresh the memory banks of the DRAM memory in the standby mode can be greatly reduced, which lowers the energy consumption of the computer system in the standby mode.

Die möglichen Energieeinsparungen sind dabei erheblich: Beispielsweise werden von Technologie-Generation zu Technologie-Generation typischerweise 12-15% Energieersparnis bei LPDDR-Speicherbausteinen erzielt. Demgegenüber können wesentliche höhere Energieeinsparungen mit dem vorgeschlagenen erfindungsgemäßen Verfahren erzielt werden.The possible energy savings are considerable: For example, from technology generation to technology generation, typically 12-15% energy savings are achieved with LPDDR memory modules. In contrast, significantly higher energy savings can be achieved with the proposed method according to the invention.

Ein weiterer Vorteil besteht darin, dass der host controller nach dem Identifikationsschritt alle Speicherorte und damit alle Speicherbänke des DRAM-Speichers kennt, in denen zu erhaltende Daten aktuell gespeichert sind und die daher mittels des DRAM-Refresh-Zyklus wiederaufgefrischt werden müssen, um einen Datenverlust zu vermeiden. Diese Kenntnis geht einher mit der Kenntnis allderjenigen Speicherorte und damit Speicherbänke des DRAM-Speichers, die aktuell, insbesondere nach dem Identifikationsschritt, keine Daten oder aktuell nicht mehr benötigte Daten enthalten; diese müssen daher nicht wiederaufgefrischt werden, da in diesen von dem DRAM-Refresh-Zyklus auszuschließenden Speicherbänken kein relevanter Datenverlust eintreten kann. Durch das Vermeiden des Auffrischens von Speicherbänken, die nicht wiederaufgefrischt werden müssen, kann Stromverbrauch und damit elektrische Energie eingespart werden.Another advantage is that, after the identification step, the host controller knows all storage locations and thus all memory banks of the DRAM memory in which data to be received is currently stored and which must therefore be refreshed using the DRAM refresh cycle to prevent data loss to avoid. This knowledge goes hand in hand with the knowledge of all those memory locations and thus memory banks of the DRAM memory which currently, in particular after the identification step, contain no data or currently no longer required data; they therefore do not have to be refreshed, since no relevant data loss can occur in these memory banks to be excluded from the DRAM refresh cycle. By avoiding refreshing memory banks that do not have to be refreshed, power consumption and thus electrical energy can be saved.

Aufgrund des verringerten Energieverbrauchs im Bereitschaftsbetriebszustand wird zudem erreicht, dass eine mögliche „Suspend-To-RAM“-Zeit, in welcher das Computersystem im Bereitschaftsbetriebszustand betrieben wird, maximiert ist.Due to the reduced energy consumption in the standby mode, it is also achieved that a possible “suspend-to-RAM” time in which the computer system is operated in the standby mode is maximized.

Erfindungsgemäß kann die Aufgabe auch durch weitere vorteilhafte Ausführungen gemäß den Unteransprüchen gelöst werden.According to the invention, the object can also be achieved by further advantageous embodiments according to the subclaims.

So kann beispielsweise vorgesehen sein, dass der Identifikationsschritt eine Modifikation, vorzugsweise eine Umordnung, der zu erhaltenden Daten auf den Speicherbänken, und/oder eine, vorzugsweise verlustfreie, Datenkomprimierung der zu erhaltenden Daten umfasst.For example, it can be provided that the identification step comprises a modification, preferably a rearrangement, of the data to be obtained on the memory banks and / or a, preferably lossless, data compression of the data to be obtained.

Unter (Daten-)Komprimierung kann hier insbesondere ein Vorgang verstanden werden, bei dem eine Menge an, vorzugsweise digitalen, Originaldaten zu komprimierten Daten verdichtet wird, sodass ein für die Menge benötigter Speicherplatz reduziert wird. Durch eine solche Komprimierung sinkt somit der benötigte Speicherplatz und die Übertragungszeit der Daten verkürzt sich. Die Datenkomprimierung kann dabei auf dem Ansatz basieren, redundante Information in den Daten zu entfernen.(Data) compression can be understood here in particular as a process in which a quantity of, preferably digital, original data is compressed into compressed data, so that a storage space required for the quantity is reduced. Such a compression reduces the storage space required and the transmission time of the data is shortened. The data compression can be based on the approach of removing redundant information in the data.

Unter verlustfreier Kompression kann hier eine Kompression verstanden werden, in Folge derer aus komprimierten Daten wieder alle Originaldaten gewonnen werden können und zwar ohne jeglichen Informationsverlust.Lossless compression can be understood here as a compression, as a result of which all original data are restored from compressed data can be obtained without any loss of information.

Die Modifikation und/oder die Datenkomprimierung kann dabei auf mannigfaltige Weise geschehen.The modification and / or the data compression can take place in a variety of ways.

Bevorzugt erfolgt der Identifikationsschritt dabei derart, dass eine Anzahl der Speicherbänke, die im Wiederauffrischungsschritt von dem DRAM-Refresh-Zyklus ausgeschlossen wird, erhöht ist im Vergleich zu einer Anzahl der Speicherbänke, die vor dem Identifikationsschritt keine Daten oder nicht mehr benötigte Daten enthielten.The identification step is preferably carried out in such a way that a number of memory banks that are excluded from the DRAM refresh cycle in the refresh step is increased compared to a number of memory banks that did not contain any data or data that were no longer required before the identification step.

Alternativ oder ergänzend kann die Identifikation der auszuschließenden Speicherbänke auch derart erfolgen, dass eine Anzahl der Speicherbänke, die im Wiederauffrischungsschritt mittels des DRAM-Refresh-Zyklus wiederaufgefrischt werden verringert ist im Vergleich zu einer Anzahl der Speicherbänke, die vor dem Identifikationsschritt zu erhaltende Daten enthielten.Alternatively or additionally, the memory banks to be excluded can also be identified in such a way that a number of memory banks that are refreshed in the refresh step by means of the DRAM refresh cycle is reduced compared to a number of memory banks that contained data to be obtained before the identification step.

Schließlich kann der Identifikationsschritt ergänzend oder alternativ so ausgeführt werden, dass nach dem Identifikationsschritt jeweilige der Speicherbänke, insbesondere einzelne Speicherorte, insbesondere Speicherzellen, in denen die zu erhaltenden Daten im DRAM-Speicher aktuell gespeichert sind, bekannt sind.Finally, the identification step can additionally or alternatively be carried out in such a way that, after the identification step, the respective memory banks, in particular individual memory locations, in particular memory cells in which the data to be obtained are currently stored in the DRAM memory, are known.

Gemäß einer bevorzugten Ausgestaltung umfasst der Identifikationsschritt folgende Schritte A-C:

  1. A. der gesamte Speicherinhalt des DRAM-Speichers wird ausgelesen;
  2. B. der ausgelesene gesamte Speicherinhalt wird, vorzugsweise mit einer maximal verfügbaren Kompressionsrate und/oder verlustfrei, in ein komprimiertes Speicherabbild komprimiert;
  3. C. das komprimierte Speicherabbild wird in den DRAM-Speicher geschrieben.
According to a preferred embodiment, the identification step comprises the following steps AC:
  1. A. the entire memory content of the DRAM memory is read out;
  2. B. the entire memory content that has been read is compressed into a compressed memory image, preferably with a maximum available compression rate and / or loss-free;
  3. C. The compressed memory map is written to the DRAM memory.

Hierbei ist es bevorzugt, wenn die Komprimierung so ausgestaltet ist, dass alle Originaldaten des DRAM-Speichers in Form des ursprünglichen Speicherinhalts durch Dekomprimierung des komprimierten Speicherabbilds wiedergewonnen werden können.It is preferred here if the compression is designed such that all of the original data of the DRAM memory can be recovered in the form of the original memory content by decompressing the compressed memory image.

Ferner können im Identifikationsschritt als auszuschließende Speicherbänke diejenigen der Speicherbänke des DRAM-Speichers identifiziert werden, welche in Schritt C nicht beschrieben werden.Furthermore, those of the memory banks of the DRAM memory which are not written to in step C can be identified as memory banks to be excluded in the identification step.

Alternativ oder ergänzend können hingegen im Wiederauffrischungsschritt diejenigen der Speicherbänke wiederaufgefrischt werden, die in Schritt C mit dem komprimierten Speicherabbild beschrieben worden sind.Alternatively or additionally, however, those of the memory banks which have been written to with the compressed memory image in step C can be refreshed in the refresh step.

Insbesondere dann, wenn im Identifikationsschritt eine Komprimierung der zu sichernden Daten stattgefunden hat, können in Schritt C somit weniger der Speicherbänke beschrieben werden als eine Anzahl der Speicherbänke, die vor Schritt C zu erhaltende Daten enthielten.In particular, if the data to be saved has been compressed in the identification step, fewer of the memory banks can be written to in step C than a number of memory banks which contained data to be obtained before step C.

Ferner können in Schritt C einzelne der Speicherbänke, die zu erhaltende Daten enthielten, mit dem komprimierten Speicherabbild überschrieben werden und/oder es können im Wiederauffrischungsschritt einzelne der Speicherbänke von dem DRAM-Refresh-Zyklus ausgenommen werden, die vor Schritt C zu erhaltende Daten enthielten.Furthermore, in step C, individual memory banks that contained data to be received can be overwritten with the compressed memory image and / or, in the refresh step, individual memory banks that contained data to be received prior to step C can be excluded from the DRAM refresh cycle.

Für einen besonders energiesparenden Betrieb des Computersystems ist es ferner vorteilhaft, wenn der Identifikationsschritt erst dann wiederholt wird, sobald neue Daten in den DRAM-Speicher geschrieben oder ältere Daten in dem DRAM-Speicher gelöscht worden sind. Denn nur in diesen Fällen müssen entweder mehr Speicherbänke aufgefrischt werden (sofern neue Daten hinzukamen) oder es können noch weniger Speicherbänke mit dann noch geringerem Refresh-Strom aufgefrischt werden (nämlich dann, wenn einige der ursprünglich zu erhaltenden Daten gelöscht worden sind).For a particularly energy-saving operation of the computer system, it is also advantageous if the identification step is only repeated as soon as new data has been written to the DRAM memory or older data has been deleted from the DRAM memory. Only in these cases do more memory banks have to be refreshed (if new data were added) or even fewer memory banks can be refreshed with an even lower refresh current (namely when some of the originally retained data has been deleted).

Hierbei kann der Wiederauffrischungsschritt in regelmäßigen Abständen auch dann wiederholt werden, wenn keine neuen Daten in den DRAM-Speicher geschrieben und keine ältere Daten in dem DRAM-Speicher gelöscht worden sind. Denn dies stellt gerade sicher, dass die zu erhaltenden Daten auch ohne neuerlichen Identifikationsschritt erhalten bleiben.In this case, the refreshing step can be repeated at regular intervals even if no new data has been written into the DRAM memory and no older data has been deleted in the DRAM memory. Because this precisely ensures that the data to be received is retained even without a new identification step.

Nach dem Identifikationsschritt kann somit der Wiederauffrischungsschritt periodisch wiederholt werden.After the identification step, the refresh step can thus be repeated periodically.

Um nun einen reibungslosen gewohnten Betrieb des Computersystems zu ermöglichen, sobald ein Benutzer das Computersystem vom Bereitschaftsbetriebszustand in den Normalbetriebszustand versetzt, was auch automatisiert erfolgen kann in Reaktion auf bestimmte Befehle oder Sensorsignale, kann die Modifikation, insbesondere die Umordnung, der Daten und/oder die Datenkomprimierung rückgängig gemacht werden, bei Versetzen des Computersystems von dem Bereitschaftsbetriebszustand in den Normalbetriebszustand.In order to enable the computer system to operate smoothly as usual, as soon as a user switches the computer system from the standby mode to the normal mode, which can also be done automatically in response to certain commands or sensor signals, the modification, in particular the rearrangement, of the data and / or the Data compression can be reversed when the computer system is brought from the standby mode to the normal mode.

Es kann hierzu insbesondere ein Wach-auf-Prozess ausgeführt werden, der folgende Schritte D-F umfasst:

  • D. das komprimierte Speicherabbild wird aus dem DRAM-Speicher ausgelesen;
  • E. das ausgelesene komprimierte Speicherabbild wird in einen dekomprimierten Speicherinhalt dekomprimiert;
  • F. der dekomprimierte Speicherinhalt wird in den DRAM-Speicher geschrieben.
In particular, a wake-up process can be carried out for this purpose, which comprises the following steps DF:
  • D. the compressed memory map is read from the DRAM memory;
  • E. The read-out compressed memory image is decompressed into a decompressed memory content;
  • F. the decompressed memory content is written to the DRAM memory.

Der Wach-auf-Prozess kann hierbei vorzugweise so erfolgen, dass das Computersystem im Normalzustand nach einer Latenzzeit auf einen ursprünglichen Speicherinhalt des DRAM-Speichers vor Ausführung des Identifikationsschritts vollumfänglich zugreifen kann. Dieser ursprüngliche Speicherinhalt kann insbesondere dem zuvor erläuterten dekomprimierten Speicherinhalt entsprechen.The wake-up process can preferably take place in such a way that, in the normal state, after a latency period, the computer system can fully access an original memory content of the DRAM memory before the identification step is carried out. This original memory content can in particular correspond to the previously explained decompressed memory content.

Eine besonders bevorzugte Verfahrensvariante sieht vor, dass im Identifikationsschritt der ausgelesene gesamte Speicherinhalt in kritische Daten und unkritische Daten unterteilt wird, und dass die kritischen Daten in eine erste Partition des DRAM-Speichers als komprimierte Daten geschrieben werden, während die unkritischen Daten in eine zweite Partition des DRAM-Speichers als komprimierte Daten geschrieben werden. Hierbei ist es bevorzugt, wenn die erste Partition und die zweite Partition keine Überlappung in Speicherbänken des DRAM-Speichers aufweisen.A particularly preferred variant of the method provides that, in the identification step, the entire memory content read is divided into critical data and non-critical data, and that the critical data is written as compressed data in a first partition of the DRAM memory, while the non-critical data is written in a second partition of the DRAM memory can be written as compressed data. It is preferred here if the first partition and the second partition do not have any overlap in memory banks of the DRAM memory.

Das Unterteilen des Speicherinhalts in kritische Daten und unkritische Daten hat den Vorteil, das beim Übergang in den Normalbetriebszustand gestuft vorgegangen werden kann, um die Latenzzeit zu verkürzen, nach der auf Speicherinhalte des DRAM-Speichers wie gewohnt zugegriffen werden kann.The subdivision of the memory contents into critical data and non-critical data has the advantage that the transition to the normal operating state can be proceeded in stages in order to shorten the latency period after which the memory contents of the DRAM memory can be accessed as usual.

Hierzu kann bei Versetzen des Computersystems von dem Bereitschaftsbetriebszustand in den Normalbetriebszustand und/oder während des zuvor erläuterten Wach-auf-Prozess zunächst nur die erste Partition ausgelesen werden. Anschließend können aus der ersten Partition ausgelesene Daten, dekomprimiert und anschließend als dekomprimierte kritische Daten in den DRAM-Speicher zurückgeschrieben werden. For this purpose, when the computer system is switched from the standby operating state to the normal operating state and / or during the wake-up process explained above, only the first partition can initially be read out. Data read out from the first partition can then be decompressed and then written back to the DRAM memory as decompressed critical data.

Dadurch kann somit erreicht werden, dass eine Latenzzeit, nach der ein Zugriff auf die dekomprimierten kritischen Daten möglich ist, verkürzt ist im Vergleich zu einer Latenzzeit, die benötigt würde für einen Zugriff auf den gesamten ursprünglichen Speicherinhalt des DRAM-Speichers.It can thus be achieved that a latency period after which access to the decompressed critical data is possible is shortened compared to a latency period which would be required for access to the entire original memory content of the DRAM memory.

Hierbei ist es ferner vorzuziehen, wenn nach dem Auslesen der ersten Partition die zweite Partition, insbesondere mittels eines Hintergrund-Prozesses, ausgelesen wird. Anschließend können aus der zweiten Partition ausgelesene Daten dekomprimiert und anschließend als dekomprimierte unkritische Daten in den DRAM-Speicher zurückgeschrieben werden.It is also preferable here if, after reading out the first partition, the second partition is read out, in particular by means of a background process. Subsequently, data read out from the second partition can be decompressed and then written back to the DRAM memory as decompressed, non-critical data.

Ganz besonders bevorzugt bei diesem zweistufigen Wiederaufwach-Prozess ist es, wenn die erste Partition kleiner ausgestaltet ist als die zweite Partition, denn dies führt zu einer weiteren Verkürzung der besagten Latenzzeit. Ferner ist es vorzuziehen, wenn die erste Partition und die zweite Partition keine gemeinsame Speicherbank aufweisen, da dadurch keine Daten unnötig im ersten Schritt ausgelesen werden, was weitere Latenzzeit kosten würde.It is very particularly preferred in this two-stage wake-up process if the first partition is designed to be smaller than the second partition, because this leads to a further shortening of said latency period. It is also preferable if the first partition and the second partition do not have a common memory bank, since this means that no data is unnecessarily read out in the first step, which would cost further latency.

Zur Lösung der genannten Aufgabe sind ferner erfindungsgemäß die Merkmale des unabhängigen Vorrichtungsanspruchs, gerichtet auf ein Computersystem, vorgesehen. Insbesondere wird somit erfindungsgemäß zur Lösung der Aufgabe bei einem Computersystem der eingangs beschriebenen Art vorgeschlagen, dass der host controller des Computersystems dazu eingerichtet ist, ein Verfahren gemäß einem der vorhergehenden Ansprüche im Zusammenspiel mit dem DRAM-Speicher auszuführen.To achieve the stated object, the features of the independent device claim, directed to a computer system, are also provided according to the invention. In particular, it is therefore proposed according to the invention to achieve the object in a computer system of the type described above that the host controller of the computer system is set up to carry out a method according to one of the preceding claims in conjunction with the DRAM memory.

Hierzu kann das Computersystem, insbesondere der host controller, ein Chipset zum Komprimieren eines gesamten Speicherinhalts des DRAM-Speichers aufweisen, um die zuvor beschriebene Umordnung und Komprimierung des Speicherinhalts des DRAM-Speichers vorzunehmen.For this purpose, the computer system, in particular the host controller, can have a chipset for compressing the entire memory content of the DRAM memory in order to carry out the previously described rearrangement and compression of the memory content of the DRAM memory.

Vorzugsweise weist das Computersystem ferner einen Zwischenspeicher auf zum Zwischenspeichern eines komprimierten Speicherabbilds des DRAM-Speichers und/oder komprimierter Daten.The computer system preferably also has an intermediate memory for temporarily storing a compressed memory image of the DRAM memory and / or compressed data.

Ebenso ist es bevorzugt, wenn das Computersystem selbst ein Chipset aufweist zum Dekomprimieren des komprimierten Speicherabbilds des DRAM-Speichers und/oder komprimierter Daten.It is also preferred if the computer system itself has a chipset for decompressing the compressed memory image of the DRAM memory and / or compressed data.

Gemäß einer besonders bevorzugten da einfach implementierbaren Ausgestaltung des Computersystems ist vorgesehen, dass der DRAM-Speicher aus mehreren LPDDRx-Speicherbausteinen (Vgl. die Erläuterungen zu Beginn) aufgebaut ist, die jeweils mehrere einzeln adressierbare Speicherbänke (banks) aufweisen, deren jeweilige Speicherinhalte elektronisch mittels eines DRAM-Refresh-Zyklus wiederaufgefrischt werden können.According to an embodiment of the computer system that is particularly preferred because it is easy to implement, it is provided that the DRAM memory is made up of several LPDDRx memory modules (cf. the explanations at the beginning), each of which has several individually addressable memory banks, the respective memory contents of which are electronically by means of a DRAM refresh cycle can be refreshed.

Hierbei ist es bevorzugt, wenn der host controller dazu eingerichtet ist, im Identifikationsschritt in jedem der LPDDR4-Speicher einzelne Speicherbänke als auszuschließende Speicherbänke zu identifizieren.It is preferred here if the host controller is set up to identify individual memory banks in each of the LPDDR4 memories as memory banks to be excluded in the identification step.

Der host controller kann ferner dazu eingerichtet sein, im Wiederauffrischungsschritt diejenigen Speicherbänke des DRAM-Speichers, die zu erhaltende Daten enthalten, mittels eines Partial Array Self Refresh (PASR) wiederaufzufrischen.The host controller can also be set up to refresh those To refresh memory banks of the DRAM memory which contain data to be retained by means of a Partial Array Self Refresh (PASR).

Der host controller des erfindungsgemäßen Computersystems kann demnach insbesondere dazu eingerichtet sein im Bereitschaftsbetriebszustand in einem Identifikationsschritt diejenigen der Speicherbänke als auszuschließende Speicherbänke zu identifizieren, die keine Daten oder nicht mehr benötigte Daten enthalten und/oder in einem Wiederauffrischungsschritt alle übrigen der Speicherbänke, die zu erhaltende Daten enthalten, mittels des DRAM-Refresh-Zyklus wiederaufzufrischen und die identifizierten Speicherbänke von dem DRAM-Refresh-Zyklus auszunehmen.The host controller of the computer system according to the invention can therefore in particular be set up in the standby mode in an identification step to identify those memory banks as excluded memory banks that contain no data or data that is no longer required and / or, in a refresh step, all the remaining memory banks that contain the data to be received contain to refresh by means of the DRAM refresh cycle and to exclude the identified memory banks from the DRAM refresh cycle.

Ferner kann der host controller gerade so eingerichtet sein, dass er im Identifikationsschritt als auszuschließende Speicherbänke diejenigen der Speicherbänke des DRAM-Speichers identifiziert, welche in Schritt C nicht beschrieben werden und/oder im Wiederauffrischungsschritt diejenigen der Speicherbänke wiederauffrischt, die in Schritt C mit dem komprimierten Speicherabbild beschrieben wurden.Furthermore, the host controller can be set up in such a way that in the identification step it identifies as memory banks to be excluded those of the memory banks of the DRAM memory that are not written in step C and / or in the refresh step refreshes those of the memory banks that were compressed in step C with the Memory dump were written.

Der DRAM-Speicher kann insbesondere bei Ausgestaltung des Computersystems als IVI-System bevorzugt in folgender Architektur realisiert sein: Der DRAM-Speicher verfügt über eine 128-bit breite Datenbusleitung, mit der vier verschiedene LPDDRx-Speicherbausteine des DRAM-Speichers beschrieben werden können. Dabei sind die vier LPDDRx-Speicherbausteine parallel adressiert und weisen jeweils eine Bitbreite von 32 Bit auf. Bei Verwendung eines solchen DRAM-Speichers kann in dem Verfahren zum energiesparenden Betrieb des Computersystems vorgesehen sein, dass eine jeweilige Speicherbank über alle vier LPDDRx-Speicherbausteine des DRAM-Speichers verläuft. Wird demnach eine der Speicherbänke im Identifikationsschritt als eine „auszuschließende Speicherbank“ erkannt, und im Wiederauffrischungsschritt von dem DRAM-Refresh-Zyklus ausgeschlossen, so werden alldiejenigen Speicherzellen in den vier LPDDRx-Speicherbausteine des DRAM-Speichers, die zu der ausgeschlossenen Speicherbank gehören, nicht wiederaufgefrischt. Dieser Ansatz kann vereinfacht als „dropping a bank across all LPDDRx memory devices“ beschrieben werden, wobei „dropping“ ein Ausschließen aus dem DRAM-Refresh-Zyklus bezeichnet.The DRAM memory can preferably be implemented in the following architecture, especially when the computer system is configured as an IVI system: The DRAM memory has a 128-bit wide data bus line with which four different LPDDRx memory modules of the DRAM memory can be written. The four LPDDRx memory modules are addressed in parallel and each have a bit width of 32 bits. When using such a DRAM memory, the method for energy-saving operation of the computer system can provide that a respective memory bank runs over all four LPDDRx memory modules of the DRAM memory. Accordingly, if one of the memory banks is recognized as a “memory bank to be excluded” in the identification step and excluded from the DRAM refresh cycle in the refresh step, then none of those memory cells in the four LPDDRx memory modules of the DRAM memory that belong to the excluded memory bank are removed refreshed. This approach can be described simply as “dropping a bank across all LPDDRx memory devices”, with “dropping” denoting an exclusion from the DRAM refresh cycle.

Ferner kann bei einem erfindungsgemäßen Computersystem der Identifikationsschritt folgende Schritte A-C umfassen:

  1. A. der host controller liest den gesamten Speicherinhalt des DRAM-Speichers aus;
  2. B. der host controller komprimiert den gesamten ausgelesenen Speicherinhalt, vorzugsweise mit einer maximal verfügbaren Kompressionsrate, in ein komprimiertes Speicherabbild;
  3. C. der host controller schreibt das komprimierte Speicherabbild in den DRAM-Speicher.
Furthermore, in a computer system according to the invention, the identification step can include the following steps AC:
  1. A. the host controller reads out the entire memory content of the DRAM memory;
  2. B. the host controller compresses the entire read memory content, preferably with a maximum available compression rate, into a compressed memory map;
  3. C. the host controller writes the compressed memory image to the DRAM memory.

Schließlich schlägt die Erfindung zur Lösung der eingangs beschriebenen Aufgabe auch ein Computerprogrammprodukt, insbesondere in Form einer Software-Applikation, vor. Dieses Computerprogrammprodukt kann in einen Speicher eines Computersystems geladen werden, wobei das Computersystem insbesondere wie zuvor beschrieben ausgestaltet sein kann. Zur Lösung der Aufgabe umfasst das Computerprogrammprodukt einen Softwarecode, mit dessen Hilfe ein erfindungsgemäßes Verfahren wie zuvor beschrieben und/oder nach einem der auf ein Verfahren gerichteten Ansprüche implementiert wird, sobald der Softwarecode von dem Computersystem ausgeführt wird.Finally, the invention also proposes a computer program product, in particular in the form of a software application, in order to achieve the object described at the outset. This computer program product can be loaded into a memory of a computer system, wherein the computer system can in particular be configured as described above. To achieve the object, the computer program product comprises a software code with the aid of which a method according to the invention as described above and / or according to one of the claims directed to a method is implemented as soon as the software code is executed by the computer system.

Die Erfindung wird nun anhand von Ausführungsbeispielen näher beschrieben, ist aber nicht auf diese Ausführungsbeispiele beschränkt.The invention will now be described in more detail with reference to exemplary embodiments, but is not limited to these exemplary embodiments.

Weitere Ausführungsbeispiele ergeben sich durch Kombination der Merkmale einzelner oder mehrerer Schutzansprüche untereinander und/oder mit einzelnen oder mehreren Merkmalen des jeweiligen Ausführungsbeispiels. Insbesondere können somit Ausbildungen der Erfindung aus der nachfolgenden Beschreibung eines bevorzugten Ausführungsbeispiels in Verbindung mit der allgemeinen Beschreibung, den Ansprüchen sowie den Zeichnungen gewonnen werden.Further exemplary embodiments result from the combination of the features of individual or several protection claims with one another and / or with individual or several features of the respective exemplary embodiment. In particular, embodiments of the invention can thus be obtained from the following description of a preferred exemplary embodiment in conjunction with the general description, the claims and the drawings.

Es zeigt:

  • 1 ein erfindungsgemäßes Computersystem,
  • 2 eine Illustration von zwei grundlegenden Ansätzen für DRAM-Refresh-Zyklen,
  • 3 eine Illustration der Anwendung eines erfindungsgemäßen Verfahrens auf einen DRAM-Speicher eines erfindungsgemäßen Computersystems beim Übergang von einem Normalbetriebszustand in einen Bereitschaftsbetriebszustand,
  • 4 eine Illustration des Wiederauffrischungsschritts des erfindungsgemäßen Verfahrens,
  • 5 eine Illustration der Anwendung eines erfindungsgemäßen Verfahrens auf einen DRAM-Speicher eines erfindungsgemäßen Computersystems beim Übergang von einem Bereitschaftsbetriebszustand in einen Normalbetriebszustand,
  • 5 eine Illustration der Anwendung eines erfindungsgemäßen Verfahrens auf einen DRAM-Speicher eines erfindungsgemäßen Computersystems beim Übergang von einem Bereitschaftsbetriebszustand in einen Normalbetriebszustand,
  • 6 den Betrieb des Computersystems in einem Wechsel zwischen Normalbetriebszustand und Bereitschaftsbetriebszustand,
  • 7 eine mögliche Ausgestaltung des DRAM-Speichers des Computersystems aus 1,
  • 8 Details des DRAM-Speichers gemäß 7,
  • 9 eine bevorzugte, stufenweise Ausgestaltung des erfindungsgemäßen Verfahrens, wobei der DRAM-Speicher hierzu in zwei Partitionen unterteilt wird.
It shows:
  • 1 a computer system according to the invention,
  • 2 an illustration of two basic approaches to DRAM refresh cycles,
  • 3 an illustration of the application of a method according to the invention to a DRAM memory of a computer system according to the invention during the transition from a normal operating state to a standby operating state,
  • 4th an illustration of the refresh step of the method according to the invention,
  • 5 an illustration of the application of a method according to the invention to a DRAM memory of a computer system according to the invention during the transition from a standby operating state to a normal operating state,
  • 5 an illustration of the application of a method according to the invention to a DRAM memory of a computer system according to the invention during the transition from a standby operating state to a normal operating state,
  • 6th the operation of the computer system in a change between normal operating mode and standby mode,
  • 7th a possible configuration of the DRAM memory of the computer system 1 ,
  • 8th Details of the DRAM memory according to 7th ,
  • 9 a preferred, step-by-step embodiment of the method according to the invention, the DRAM memory being divided into two partitions for this purpose.

Die 1 zeigt ein im Ganzen mit Ziffer 6 bezeichnetes Computersystem, welches als ein in-vehicle-infotainment(IVI)-System ausgestaltet ist und einen DRAM-Speicher 1 auf Basis eines Dynamic Random Access Memory (DRAM) aufweist, welcher von einem host controller 4 des Computersystems 6 ausgelesen und beschrieben werden kann. Der DRAM-Speicher 1 weist insgesamt 4 LPDRAM-Speicherbausteine 3 auf. Diese bilden zusammen insgesamt vier einzeln adressierbare Speicherbänke 2 aus (in der 1 als „bank 0“, „bank 1“, „bank 2“ und „bank 3“ bezeichnet und mit gestrichelten Boxen hervorgehoben), deren jeweilige Speicherinhalte elektronisch mittels eines DRAM-Refresh-Zyklus 7 wiederaufgefrischt werden können. Der DRAM-Refresh-Zyklus 7 beschreibt dabei einzelne Speicherzellen mit identischen Speicherinhalten neu, wodurch eine jeweilige Ladung auf einer Kapazität der Speicherzelle auf den gewünschten Wert gebracht wird, der dem jeweils von der Speicherzelle zu speichernden Bit entspricht.The 1 shows a whole with a number 6th Designated computer system, which is designed as an in-vehicle-infotainment (IVI) system and a DRAM memory 1 on the basis of a dynamic random access memory (DRAM), which is controlled by a host controller 4 of the computer system 6th can be read out and written to. The DRAM memory 1 has a total of 4 LPDRAM memory modules 3 on. Together these form a total of four individually addressable memory banks 2 off (in the 1 referred to as “bank 0”, “bank 1”, “bank 2” and “bank 3” and highlighted with dashed boxes), their respective memory contents electronically by means of a DRAM refresh cycle 7th can be refreshed. The DRAM refresh cycle 7th rewrites individual memory cells with identical memory contents, as a result of which a respective charge on a capacity of the memory cell is brought to the desired value, which corresponds to the bit to be stored in each case by the memory cell.

Zu diesem Zweck greift der host controller 4 mittels eines Datenbus 5 auf den DRAM-Speicher 1 zu. Ferner können auch Software-Applikationen 8, die auf dem Computersystem 6 laufen, vermittelt durch den host controller 4, auf den DRAM-Speicher 1 zugreifen.For this purpose, the host controller 4 uses a data bus 5 on the DRAM memory 1 to. Software applications 8th running on the computer system 6th run, mediated by the host controller 4, on the DRAM memory 1 access.

Wie die 6 illustriert, kann das Computersystem 6 zwischen einem Normalbetriebszustand 14 und einem Bereitschaftsbetriebszustand 15 hin-und-herwechseln, wobei der gesamte Energieverbrauch des Computersystems 6 im Bereitschaftsbetriebszustand 15 reduziert ist im Vergleich zu dem Normalbetriebszustand 14. Um nun den Gesamtenergieverbrauch des Computersystems 6 im Bereitschaftsbetriebszustand 15 weiter zu senken ist der host controller 4 dazu eingerichtet, ein erfindungsgemäßes Verfahren im Zusammenspiel mit dem DRAM-Speicher 1 auszuführen, welches im Folgenden genauer erläutert wird:

  • Die 2 erläutert zunächst zwei grundlegende vorbekannte Verfahren, mit Hilfe derer Speicherinhalte eines DRAM-Speichers 1 vor Datenverlust geschützt werden können: Bei dem sogenannten „all bank refresh“-Verfahren, links dargestellt in 2, werden alle Speicherbänke 2 eines DRAM-Speichers 1, gemeinsam wiederaufgefrischt, d.h. in periodischen Zeitabständen mit identischen Daten neu beschrieben, um die eingangs beschriebenen Datenverluste aufgrund von Leckströmen in den Kapazitäten der einzelnen Speicherzellen der Speicherbänke 2 zu vermeiden.
As the 6th illustrated, the computer system can 6th between a normal operating condition 14th and a standby mode 15th toggling back and forth, taking the total power consumption of the computer system 6th in standby mode 15th is reduced compared to the normal operating state 14th . To now the total energy consumption of the computer system 6th in standby mode 15th To lower it further, the host controller 4 is set up to use a method according to the invention in interaction with the DRAM memory 1 to be carried out, which is explained in more detail below:
  • The 2 first explains two basic previously known methods with the aid of which the memory contents of a DRAM memory 1 can be protected against data loss: With the so-called “all bank refresh” procedure, shown on the left in 2 , become all memory banks 2 of a DRAM memory 1 , refreshed together, ie rewritten at periodic time intervals with identical data, in order to avoid the initially described data losses due to leakage currents in the capacities of the individual memory cells of the memory banks 2 to avoid.

Bei dem in 2 rechts dargestellten „partial array self refresh“-Verfahren, werden hingegen - je nach Bedarf - nur einzelne der Speicherbänke 2 des DRAM-Speichers 1 wiederaufgefrischt: Wie rechts in 2 zu sehen, können mit diesem Verfahren also beispielsweise nur zwei Speicherbänke 2 („2 banks refresh“) oder nur eine der Speicherbänke 2 („1 bank refresh“) wiederaufgefrischt werden. Die übrigen Speicherbänke 2, die vom Wiederauffrischungszyklus 7 ausgenommen sind, werden somit nicht neu beschrieben, sodass die Daten, die in deren Speicherzellen gespeichert sind, dem Verfall preisgegeben werden und nach kurzer Zeit verloren sind.The in 2 On the other hand, the “partial array self refresh” method shown on the right - depending on requirements - only some of the memory banks are used 2 of the DRAM memory 1 Refreshed: As in right in 2 can be seen with this method, for example, only two memory banks 2 ("2 banks refresh") or just one of the memory banks 2 ("1 bank refresh"). The remaining memory banks 2 from the refresh cycle 7th are excluded, are therefore not rewritten, so that the data that are stored in their memory cells are exposed to expiry and are lost after a short time.

Diese vorbekannten Vorgehensweisen können eingesetzt werden, um elektrischen Strom und damit elektrische Energie einzusparen, der/die beim Wiederbeschreiben der Speicherzellen während des Wiederauffrischungszyklus 7 aufgewendet werden muss. Das Ausschließen von Speicherbänken 2 aus dem Wiederauffrischungszyklus 7 („dropping the banks“) ist dabei unkritisch, solange die vom Wiederauffrischungszyklus 7 ausgeschlossenen Speicherbänke 12 („dropped banks“) keine zu erhaltenden Daten 9 enthalten.These previously known procedures can be used in order to save electrical power and thus electrical energy that is required when rewriting the memory cells during the refresh cycle 7th must be spent. Excluding memory banks 2 from the refresh cycle 7th ("Dropping the banks") is not critical as long as the refresh cycle 7th excluded memory banks 12th ("Dropped banks") no data to be received 9 contain.

Wie in der 3 ganz oben zu erkennen ist, liegen - nach einer bestimmten Betriebszeit des DRAM-Speichers 1 im Normalbetriebszustand 14 - solche zu erhaltenden Daten 9 jedoch typischerweise zufällig verteilt in mehreren der Speicherbänke 2 des DRAM-Speichers 1 vor. Mit anderen Worten ist also typischerweise ein ursprünglicher Speicherinhalt 22, der nach einem Übergang des Computersystems 6 von dem Bereitschaftsbetriebszustand 15 in den Normalbetriebszustand 14 wieder zugänglich gemacht werden muss, um einen ordnungsgemäßen Betrieb des Computersystems 6 zu gewährleisten, über den gesamten DRAM-Speicher 1 verteilt. Daher kann zunächst nicht ohne weiteres gesagt werden, welche der Speicherbänke 2 des DRAM-Speichers 1 relevante zu erhaltende Daten 9 enthalten und welche der Speicherbänke 2 keine Daten bzw. nicht zu erhaltende Daten 10 enthalten, die also nicht zwingend wiederaufgefrischt werden müssten. Hierbei ist zu berücksichtigen, dass das Computersystem 6 im Normalbetriebszustand den DRAM-Speicher 1 ständig dynamisch ausliest und neu beschreibt, je nach Anforderung der gerade laufenden Software-Applikationen, sodass die zu erhaltenden Daten 9 nach kurzer Zeit zufällig über den DRAM-Speicher 1 verteilt vorliegen.Like in the 3 can be seen at the top, lie - after a certain operating time of the DRAM memory 1 in normal operating condition 14th - such data to be obtained 9 however, typically distributed randomly in several of the memory banks 2 of the DRAM memory 1 in front. In other words, it is typically an original memory content 22nd that after a transition of the computer system 6th from the standby mode 15th in the normal operating state 14th Must be made accessible again in order for the computer system to operate properly 6th to ensure over the entire DRAM memory 1 distributed. Therefore, it is not easy to say at first which of the memory banks 2 of the DRAM memory 1 relevant data to be obtained 9 included and which of the memory banks 2 no data or data that cannot be obtained 10 included, so they are not would have to be refreshed. It should be noted that the computer system 6th the DRAM memory in the normal operating state 1 constantly dynamically reads and rewrites, depending on the requirements of the software applications currently running, so that the data to be retained 9 after a short time randomly via the DRAM memory 1 distributed.

Um nun einen energiesparenden Betrieb des Computersystems 6 im Bereitschaftsbetriebszustand 15 zu ermöglichen, schlägt das erfindungsgemäße Verfahren vor, dass in einem Identifikationsschritt 17 zunächst diejenigen der Speicherbänke 2 des DRAM-Speichers 1 als auszuschließende Speicherbänke 12 identifiziert werden, welche keine Daten oder aktuell nicht mehr benötigte Daten 10 enthalten. In einem zweiten darauffolgenden Wiederauffrischungsschritt 18 können dann alle übrigen der Speicherbänke 2, die zu erhaltende Daten 9 enthalten, mittels des DRAM-Refresh-Zyklus 7 wiederaufgefrischt werden, während hingegen die auszuschließenden Speicherbänke 12 von dem DRAM-Refresh-Zyklus 7 gerade ausgenommen werden können.To now an energy-saving operation of the computer system 6th in standby mode 15th to enable, the inventive method proposes that in an identification step 17th first those of the memory banks 2 of the DRAM memory 1 as memory banks to be excluded 12th identify which no data or data that is currently no longer required 10 contain. In a second subsequent refresh step 18th can then all the rest of the memory banks 2 , the data to be obtained 9 included, by means of the DRAM refresh cycle 7th are refreshed while the memory banks to be excluded 12th from the DRAM refresh cycle 7th can just be excluded.

Um die Identifikation der auszuschließenden Speicherbänke 12 zu ermöglichen, schlägt eine bevorzugte Ausgestaltung des Verfahrens vor, dass zunächst der gesamte Speicherinhalt 22 des DRAM-Speichers 1 ausgelesen wird, anschließend der ausgelesene gesamte Speicherinhalt 22 mit einer maximal verfügbaren Kompressionsrate verlustfrei in ein komprimiertes Speicherabbild 19 komprimiert wird und schließlich das komprimierte Speicherabbild 19, nach Zwischenspeicherung in einem Zwischenspeicher 11, wieder in den DRAM-Speicher 1 zurück geschrieben wird. Diese Vorgehensweise ist in der 3 dargestellt. Wie zu erkennen ist umfasst dieses Verfahren somit die drei Schritte A), B) und C) (Vergleiche dazu Anspruch 3).To identify the memory banks to be excluded 12th To enable, a preferred embodiment of the method suggests that initially the entire memory content 22nd of the DRAM memory 1 is read out, then the entire memory content that has been read out 22nd with a maximum available compression rate lossless into a compressed memory image 19th is compressed and finally the compressed memory dump 19th , after being temporarily stored in a buffer 11 , again in the DRAM memory 1 is written back. This procedure is in the 3 shown. As can be seen, this method thus comprises the three steps A), B) and C) (compare claim 3).

Durch die Komprimierung der zu erhaltenden Daten 9, die ursprünglich über alle Speicherbänke 2 des DRAM-Speichers 1 verteilt waren, wird der Speicherbedarf für diese Daten 9 stark reduziert, sodass alle zu erhaltenden Daten 9 in dem in 3 illustrierten Beispiel lediglich in der ersten Speicherbank 2 „bank 0“ abgelegt werden können. Damit muss nur noch die erste Speicherbank 2 „bank 0“ als „wiederaufzufrischende Speicherbank 12“ wiederaufgefrischt werden, während die übrigen Speicherbänke 2 „bank 1, 2, 3“ von dem DRAM-Refresh-Zyklus 7 als „auszuschließende Speicherbänke 12“ ausgeschlossen werden können. Dadurch ergibt sich ein geringerer notwendiger Refresh-Strom und damit eine Energieersparnis.By compressing the data to be preserved 9 originally across all memory banks 2 of the DRAM memory 1 were distributed, the storage requirements for this data 9 greatly reduced, so all data to be preserved 9 in the in 3 illustrated example only in the first memory bank 2 "Bank 0" can be stored. All that remains is the first memory bank 2Bank 0” is refreshed as “memory bank 12 to be refreshed”, while the other memory banks 2Bank 1, 2, 3” from the DRAM refresh cycle 7th can be excluded as "memory banks 12 to be excluded". This results in a lower necessary refresh current and thus energy savings.

Bei dem Beispiel gemäß 3, insbesondere bei der Speicherbelegung wie ganz oben im DRAM-Speicher 1 ersichtlich, müssten normalerweise im Bereitschaftsbetriebszustand 15 alle vier Speicherbänke 2 jeweils einzeln wiederaufgefrischt werden. Nach der Komprimierung und Umordnung der zu erhaltenden Daten 9 sind diese relevanten Daten 9 jedoch allesamt in der ersten Speicherbank 2 „bank 0“ angeordnet, wie in der unteren Abbildung des DRAM-Speichers 1 in 3 zu erkennen ist. Daher muss nach dem Wiederbeschreiben des DRAM-Speichers 1 mit dem komprimierten Speicherabbild 19 nur noch die erste der vier Speicherbänke 2 „bank 0“ wiederaufgefrischt werden, während die restlichen drei Speicherbänke 2 „bank 1 - 3“ als auszuschließende Speicherbänke 12 identifiziert wurden, die keine Daten oder aktuell nicht mehr benötigte Daten 10 enthalten. Diese Speicherbänke 2 „bank 1 - bank 3“ werden somit im Wiederauffrischungsschritt 18 von dem DRAM-Refresh-Zyklus 7 ausgeschlossen („banks 1-3 can be dropped“).In the example according to 3 , especially with the memory allocation as at the top of the DRAM memory 1 apparent, should normally be in standby mode 15th all four memory banks 2 refreshed one at a time. After compressing and rearranging the data to be preserved 9 are these relevant data 9 but all in the first memory bank 2 "Bank 0" arranged as in the figure below of the DRAM memory 1 in 3 can be seen. Therefore, after rewriting the DRAM memory 1 with the compressed memory image 19th only the first of the four memory banks 2 "Bank 0" can be refreshed while the remaining three memory banks 2 "Bank 1 - 3" as memory banks to be excluded 12th have been identified that have no data or data that is currently no longer required 10 contain. These memory banks 2 "Bank 1 - bank 3" are thus in the refresh step 18th from the DRAM refresh cycle 7th excluded ("banks 1-3 can be dropped").

Wie durch einen Vergleich des DRAM-Speichers 1 vor und nach dem Identifikationsschritt 17 ersichtlich ist, wurden die zu erhaltenden Daten 9 somit auf den Speicherbänken 2 des DRAM-Speichers 1 umgeordnet und modifiziert. Genauer wurde der ursprüngliche Speicherinhalt 22 verlustfrei in ein komprimiertes Speicherabbild 19 komprimiert und anschließend zurück in den DRAM-Speicher 1 geschrieben. Bei diesem Zurückschreiben wurden sowohl zu erhaltende Daten 9 des ursprünglichen Speicherinhalts 22 überschrieben als auch teilweise dem Verfall preisgegeben. Denn beispielsweise wird die „bank 1“, die ursprünglich zu erhaltende Daten 9 enthielt, nach dem Identifikationsschritt 17 im Wiederauffrischungsschritt 18 nicht mehr wiederaufgefrischt.As by comparing DRAM memory 1 before and after the identification step 17th it can be seen that the data to be obtained were 9 thus on the memory banks 2 of the DRAM memory 1 rearranged and modified. The original memory contents became more precise 22nd lossless to a compressed memory image 19th compressed and then back into the DRAM memory 1 written. During this write back, both data to be preserved 9 of the original memory contents 22nd overwritten and partially abandoned to expiry. Because, for example, “bank 1” is the data originally to be received 9 after the identification step 17th in the refresh step 18th no longer refreshed.

Da der ursprüngliche Speicherinhalt 22 zunächst über alle vier Speicherbänke 2 des DRAM-Speicher 1 verteilt war, mussten im Normalbetriebszustand 14 zunächst auch alle diese vier Speicherbänke 2 wiederaufgefrischt werden. Verglichen mit der Situation vor dem Identifikationsschritt 17 hat sich somit aufgrund der Modifikation der Daten die Anzahl der Speicherbänke 2, die ihm Wiederauffrischungsschritt von dem DRAM-Refresh-Zyklus 7 ausgeschlossen wird (im Beispiel der 3 sind dies die Speicherbänke „bank 1, bank 2, bank 3“), erhöht im Vergleich zur Anzahl der Speicherbänke 2 (im vorliegenden Beispiel der 3 „Null“ Speicherbänke 2), die vor dem Identifikationsschritt 17 keine Daten oder nicht mehr benötigte Daten 10 enthielten.Since the original memory contents 22nd initially across all four memory banks 2 of the DRAM memory 1 was distributed, had to be in normal operating condition 14th initially all of these four memory banks 2 be refreshed. Compared to the situation before the identification step 17th The number of memory banks has therefore increased due to the modification of the data 2 that gave it refresh step from the DRAM refresh cycle 7th excluded (in the example the 3 if these are the memory banks "bank 1, bank 2, bank 3"), increased compared to the number of memory banks 2 (in this example the 3 "Zero" memory banks 2 ) before the identification step 17th no data or data that is no longer required 10 contained.

Aus einem anderen Blickwinkel betrachtet hat sich zudem die Anzahl der Speicherbänke 2, die im Wiederauffrischungsschritt 18 wiederaufgefrischt werden, nämlich nur die „bank 0“, verringert im Vergleich zu einer Anzahl der Speicherbänke 2, die vor dem Identifikationsschritt 17 zu erhaltende Daten 9 enthielten (dies waren ursprünglich alle Speicherbänke 2 „bank 0-3“) und entsprechend wieder aufgefrischt werden mussten.From a different point of view, the number of memory banks has also increased 2 that are in the refresh step 18th refreshed, namely only the "bank 0" is reduced compared to a number of memory banks 2 that before the identification step 17th data to be obtained 9 contained (originally these were all memory banks 2 "Bank 0-3") and had to be refreshed accordingly.

Wie die 4 zeigt, kann das Wiederauffrischen der „bank 0“ mittels eines „bank refresh across all LPDRAM devices“, also durch Wiederauffrischen der ersten Speicherbank 2 über alle 4 LPDRAM-Speicherbausteine 3 hinweg, erfolgen.As the 4th shows, “bank 0” can be refreshed by means of a “bank refresh across all LPDRAM devices”, ie by refreshing the first memory bank 2 over all 4 LPDRAM memory modules 3 away.

Durch das Neubeschreiben des DRAM-Speichers 1 mit dem komprimierten Speicherabbild 19 (Schritt C in 3) ist dem Computersystem 6 somit nach dem Identifikationsschritt 17 bekannt, in welchen Speicherzellen und damit auch in welchen Speicherbänken 2 des DRAM-Speichers 1 aktuell zu erhaltende Daten 9 gespeichert sind. Dadurch kann das Computersystem 6 nach dem Identifikationsschritt 17 autonom entscheiden, welche der Speicherbänke 2 von dem DRAM-Refresh-Zyklus 7 ohne Datenverlust ausgeschlossen werden können.By rewriting the DRAM memory 1 with the compressed memory image 19th (Step C in 3 ) is the computer system 6th thus after the identification step 17th known in which memory cells and thus also in which memory banks 2 of the DRAM memory 1 current data to be received 9 are stored. This allows the computer system 6th after the identification step 17th autonomously decide which of the memory banks 2 from the DRAM refresh cycle 7th can be excluded without data loss.

Besonders einfach gelingt dies, wenn das Computersystem 6 im Identifikationsschritt 17 diejenigen der Speicherbänke 2 des DRAM-Speichers 1 als auszuschließende Speicherbänke 12 identifiziert, welche gerade in Schritt C (vergleiche 3) nicht beschrieben worden sind (also die Speicherbänke „bank 1 - 3“). Anders ausgedrückt können im Wiederauffrischungsschritt somit gerade diejenigen der Speicherbänke 2 wiederaufgefrischt werden, die in Schritt C mit dem komprimierten Speicherabbild 19 beschrieben worden sind.This is particularly easy if the computer system 6th in the identification step 17th those of the memory banks 2 of the DRAM memory 1 as memory banks to be excluded 12th identified which just in step C (compare 3 ) have not been written to (i.e. the memory banks "bank 1 - 3"). In other words, it is precisely those of the memory banks that can be used in the refresh step 2 refreshed in step C with the compressed memory image 19th have been described.

Vorteilhaft an dem beschriebenen Verfahren ist, dass im Schritt C weniger der Speicherbänke 2 beschrieben werden müssen als eine Anzahl der Speicherbänke, die vor Schritt C zu erhaltende Daten 9 enthielten. Denn vorliegend wird in dem Beispiel der 3 in Schritt C nur die „bank 0“ beschrieben, nicht aber die „banks 1-3“, die vor dem Identifikationsschritt 17 zu erhaltende Daten 9 enthielten.The advantage of the method described is that in step C fewer of the memory banks 2 must be described as a number of memory banks containing the data to be obtained before step C. 9 contained. Because in the present example the 3 in step C only the "bank 0" is described, but not the "banks 1-3", which are before the identification step 17th data to be obtained 9 contained.

Es fällt ferner auf, dass in Schritt C die „bank 0“ mit dem komprimierten Speicherabbild 19 überschrieben wurde, obwohl diese Speicherbank 2 ursprünglich bereits zu erhaltende Daten 9 enthielt. Andererseits werden aber auch im Wiederauffrischungsschritt 18 die Speicherbänke „banks 1 - 3“ gerade von dem DRAM-refresh-Zyklus 7 ausgenommen, obwohl diese Speicherbänke 2 vor dem Schritt C zu erhaltende Daten 9 enthielten.It is also noticeable that in step C the "bank 0" with the compressed memory image 19th was overwritten, although this memory bank 2 data originally to be received 9 contained. On the other hand, however, are also in the refresh step 18th the memory banks “banks 1 - 3” just excluded from the DRAM refresh cycle 7, although these memory banks 2 data to be obtained before step C. 9 contained.

Gemäß der Erfindung muss der Identifikationsschritt 17 erst dann wiederholt werden, wenn neue Daten in den DRAM-Speicher 1 geschrieben oder ältere der zu erhaltenden Daten 9 in dem DRAM-Speicher 1 gelöscht worden sind, was beispielsweise vorkommen kann, wenn das Computersystem 6 zwischenzeitlich in den Normalbetriebszustand 14 gewechselt hatte. Der Wiederauffrischungsschritt 18 kann hingegen in regelmäßigen Abständen auch dann wiederholt werden, wenn keine neue Daten in den DRAM-Speicher 1 geschrieben und auch keine ältere Daten in dem DRAM-Speicher 1 gelöscht worden sind. Wie die 6 illustriert, kann ferner nach dem Identifikationsschritt 17 der Wiederauffrischungsschritt 18 in periodischen Zeitabständen wiederholt werden.According to the invention, the identification step 17th will only be repeated when new data is in the DRAM memory 1 written or older of the data to be retained 9 in the DRAM memory 1 have been deleted, which can happen, for example, if the computer system 6th meanwhile in the normal operating state 14th had changed. The refresh step 18th can, however, be repeated at regular intervals even if there is no new data in the DRAM memory 1 written and no older data in the DRAM memory 1 have been deleted. As the 6th illustrated, can also after the identification step 17th the refresh step 18th be repeated at periodic intervals.

Um nun einen reibungslosen Betrieb des Computersystems 6 nach einem Versetzen des Computersystems 6 von dem Bereitschaftsbetriebszustand 15 in den Normalbetriebszustand 14 zu gewährleisten, wird ein Verfahrensablauf wie in 5 illustriert vorgeschlagen: Damit das Computersystem 6 auf den ursprünglichen Speicherinhalt 22 nach Übergang in den Normalbetriebszustand 14 wieder zugreifen kann, muss zunächst die Modifikation der Daten, d. h. insbesondere die Datenkomprimierung, rückgängig gemacht werden. Hierzu wird ein sogenannter Wach-auf-Prozess 20 ausgeführt, der drei Schritte D bis F umfasst, wie die 5 zeigt:

  • Im Schritt D liest der host controller 4 zunächst den DRAM-Speicher 1 aus und extrahiert dadurch das komprimierte Speicherabbild 19, welches zuvor im Bereitschaftsbetriebszustand 15 während des Identifikationsschritt 17 erzeugt wurde. Anschließend dekomprimiert der host controller 4 im Schritt E mit Hilfe eines dafür eingerichteten Chipsets 16 das komprimierte Speicherabbild 19 in einen dekomprimiert Speicherinhalt 21 und legt diesen im Zwischenspeicher 11 ab.
To now ensure the smooth operation of the computer system 6th after relocating the computer system 6th from the standby mode 15th in the normal operating state 14th a procedure as in 5 illustrated proposed: So that the computer system 6th to the original memory contents 22nd after transition to normal operating status 14th can access again, the modification of the data, ie in particular the data compression, must first be undone. For this purpose, a so-called wake-up process 20 is carried out, which comprises three steps D to F, such as 5 shows:
  • In step D, the host controller 4 first reads the DRAM memory 1 and extracts the compressed memory image 19th , which was previously in standby mode 15th during the identification step 17th was generated. The host controller 4 then decompresses in step E with the aid of a chipset set up for this purpose 16 the compressed memory image 19th into a decompressed memory content 21 and stores it in the buffer 11 from.

Wiederum anschließend beschreibt der host controller 4 im Schritt F den DRAM-Speicher 1 mit dem dekomprimierten Speicherinhalt 21, der gerade dem ursprünglichen Speicherinhalt 22 entspricht. Damit wird gerade der Speicherzustand des DRAM-Speichers 1 wiederhergestellt, der vor Eintritt des Computersystems 6 in den Bereitschaftsbetriebszustand 15 vorherrschte, wie anhand eines Vergleichs der 5 ganz unten mit der 3 ganz oben zu erkennen ist. Somit wurde gerade der ursprüngliche Zustand des DRAM-Speichers 1 vor dem Übergang des Computersystems 6 in den Bereitschaftsbetriebszustand 15 wiederhergestellt.The host controller 4 then again writes to the DRAM memory in step F 1 with the decompressed memory content 21 which has just returned to the original memory contents 22nd corresponds to. This just becomes the memory state of the DRAM memory 1 restored to the one before the computer system entered 6th in the standby mode 15th prevailed, as based on a comparison of the 5 at the bottom with the 3 can be seen at the very top. Thus, the DRAM memory has just become the original state 1 before the transition of the computer system 6th in the standby mode 15th restored.

Im Ergebnis kann somit das Computersystem 6 nach einer gewissen Latenzzeit, die für die zuvor beschriebenen Schritte D-F benötigt wird, auf den ursprünglichen Speicherinhalt 22 des DRAM-Speicher 1 vollumfänglich zugreifen.As a result, the computer system can 6th after a certain latency, which is required for the steps DF described above, to the original memory content 22nd of the DRAM memory 1 access to the full.

Die Latenzzeit lässt sich mit einer weiteren Verfeinerung des Verfahrens verkürzen, wie im Folgenden anhand der 9 erläutert wird: Hierzu wird der gesamte ausgelesene Speicherinhalt 22 des DRAM-Speichers 1 in für den Betrieb des Computersystems 6 kritische Daten 23 und unkritische Daten 24 unterteilt. Mit anderen Worten findet also eine Klassifizierung der im DRAM-Speicher 1 abgespeicherten Daten statt und zwar anhand der Frage, ob die jeweiligen Daten beim Übergang des Computersystems 6 vom Bereitschaftsbetriebszustand 15 in den Normalbetriebszustand 14 anfänglich benötigt werden oder nicht.The latency time can be shortened with a further refinement of the method, as follows using the 9 The following is explained: For this purpose, the entire read-out memory content 22nd of the DRAM memory 1 in for the operation of the computer system 6th critical data 23 and non-critical data 24 divided. In other words, there is a classification in the DRAM memory 1 stored data based on the question, whether the respective data at the transition of the computer system 6th from the standby mode 15th in the normal operating state 14th may or may not be needed initially.

Nach der Unterteilung der Daten werden diese wie im Beispiel der 3 komprimiert, wobei die kritischen Daten 23 in eine erste Partition 25 des DRAM-Speichers 1 geschrieben werden, während die unkritischen Daten 24 in eine zweite Partition 26 des DRAM-Speicher 1 geschrieben werden. Wie ganz oben in 9 zu erkennen, ist die erste Partition 25 gerade durch die ersten beiden Speicherbänke 2, also die „bank 0“ und die „bank 1“, gebildet, während die zweite Partition 26 durch die Speicherbänke 2 „bank 2“ und „bank 3“ gebildet ist.After the data has been subdivided, it is displayed as in the example of 3 compressed, with the critical data 23 into a first partition 25th of the DRAM memory 1 are written while the non-critical data 24 into a second partition 26th of the DRAM memory 1 to be written. As at the top in 9 recognizable is the first partition 25th straight through the first two memory banks 2 , ie “bank 0” and “bank 1”, are formed while the second partition 26th through the memory banks 2 "Bank 2" and "Bank 3" are formed.

Beim Übergang von dem Bereitschaftsbetriebszustand 15 in den Normalbetriebszustand 14 liest der host controller 4 dann nicht das gesamte komprimierte Speicherabbild 19 aus dem DRAM-Speicher 1 aus, sondern lediglich die erste Partition 25, also die komprimierten kritischen Daten 23, 28 aus den Speicherbänken 2 „bank 0“ und „bank 1“. Nach dem Dekomprimieren dieser Daten, schreibt der host controller 4 dann ein dekomprimiertes Speicherabbild dieser kritischen Daten 23 in die erste Partition 25 zurück, sodass die kritischen Daten nun von Software Applikationen 8 vermittelt über den host controller 4 aus dem DRAM-Speicher 1 ausgelesen werden können (vergleiche 1). Damit kann bereits nach einer sehr kurzen Latenzzeit ein rudimentärer Betrieb des Computersystems 6 gewährleistet werden.When transitioning from the standby mode 15th in the normal operating state 14th the host controller 4 then does not read the entire compressed memory image 19th from the DRAM memory 1 off, just the first partition 25th , that is, the compressed critical data 23 , 28 from the memory banks 2 "Bank 0" and "bank 1". After this data has been decompressed, the host controller 4 then writes a decompressed memory image of this critical data 23 in the first partition 25th back, so that the critical data now comes from software applications 8th mediated via the host controller 4 from the DRAM memory 1 can be read out (compare 1 ). This enables rudimentary operation of the computer system after a very short latency period 6th guaranteed.

Nach dem Auslesen der ersten Partition 25 kann dann mittels eines Hintergrund-Prozesses auch die zweite Partition 26 in analoger Weise ausgelesen, dekomprimiert und anschließend als dekomprimierte unkritische Daten 24, 28 wieder von dem host controller 4 in den DRAM-Speicher 1 zurück geschrieben werden, was in 9 unterhalb der gestrichelten horizontalen Linie dargestellt ist.After reading out the first partition 25th can then also use a background process to create the second partition 26th read out in an analogous manner, decompressed and then as decompressed non-critical data 24 , 28 again from the host controller 4 into the DRAM memory 1 back what is written in 9 is shown below the dashed horizontal line.

Nach einer zweiten Latenzzeit steht somit der ursprüngliche Speicherinhalt 22 wieder vollumfänglich zum Auslesen zur Verfügung. Allerdings ist hierbei zu berücksichtigen, dass beispielsweise die kritischen Daten 23 ursprünglich typischerweise über den gesamten DRAM-Speicher 1 zufällig verteilt waren und durch die Umordnung der Daten während des Identifikationsschritt 17 nach dem Übergang von dem Bereitschaftsbetriebszustand 15 in den Normalbetriebszustand 14 in der ersten Partition 25 des DRAM-Speichers 1 konzentriert worden sind.After a second latency period, the original memory content is available 22nd fully available again for reading. However, it must be taken into account here that, for example, the critical data 23 originally typically across the entire DRAM memory 1 were randomly distributed and by rearranging the data during the identification step 17th after the transition from the standby mode 15th in the normal operating state 14th in the first partition 25th of the DRAM memory 1 have been concentrated.

Da das Computersystem 6 diese Umordnung der Daten jedoch selbst vorgenommen hat, ist sichergestellt, dass das Computersystem 6 auf alle relevanten Daten 9 des ursprünglichen Speicherinhalt 22 nach Durchführung des Wach-auf-Prozesses 20 wieder zugreifen kann. Für diesen Ansatz ist es von großem Vorteil, wenn die beiden Partitionen 25 und 26 gerade keine Überlappung aufweisen, sodass kritische Daten 23 von unkritischen Daten 24 sicher separierbar sind. Ferner ist es für einen besonders schnellen Übergang vom Bereitschaftsbetriebszustand 15 in den Normalbetriebszustand 14 vorteilhaft, wenn die erste Partition 25 so klein wie möglich ausgestaltet wird, also mit ausreichender Speicherkapazität, um alle typischerweise notwendigen kritischen Daten 23 in dekomprimierter Form aufnehmen zu können.Since the computer system 6th However, this rearrangement of the data has done itself, it is ensured that the computer system 6th on all relevant data 9 of the original memory contents 22nd after completing the wake-up process 20th can access again. For this approach it is of great advantage if the two partitions 25th and 26th just have no overlap, so critical data 23 of uncritical data 24 are securely separable. It is also used for a particularly fast transition from the standby mode 15th in the normal operating state 14th advantageous if the first partition 25th is designed to be as small as possible, i.e. with sufficient storage capacity to store all of the critical data that is typically required 23 to be able to record in decompressed form.

Die gesamten zuvor beschriebenen Verfahren werden in dem Computersystem 6 dadurch umgesetzt, dass ein erfindungsgemäßes Computerprogrammprodukt in einen internen Speicher des Computersystems 6 geladen wird, wobei dieses Computerprogrammprodukt einen Softwarecode umfasst, der von dem Computersystem 6 ausgeführt wird, um das erfindungsgemäße Verfahren zu implementieren.All of the procedures described above are carried out in the computer system 6th implemented in that a computer program product according to the invention is stored in an internal memory of the computer system 6th is loaded, this computer program product comprising a software code generated by the computer system 6th is carried out in order to implement the method according to the invention.

Die 7 und 8 schließlich zeigen eine bevorzugte Ausgestaltung eines DRAM-Speichers 1 eines erfindungsgemäßen Computersystems 6. Wie zu erkennen, wird der DRAM-Speicher 1 durch vier parallel angeordnete LPDDRx-Speicherbausteine 3 gebildet, die insgesamt 8 Speicherbänke („bank 0 ... bank 7“) zur Verfügung stellen. Hierbei ist jeder der vier LPDDRx-Speicherbausteine 3 mit einer Bitdatenbreite von 32 organisiert, sodass ein Datenbus 5 mit einer Bitbreite von 128 ausgebildet wird, wie in 7 und 8 illustriert bitte nicht auf mich mit dem Essen warten. Wie die 8 beispielhaft zeigt, sind gerade vier der Speicherbänke 2 von dem DRAM-Refresh-Zyklus 7 ausgeschlossen.The 7th and 8th finally show a preferred embodiment of a DRAM memory 1 of a computer system according to the invention 6th . As can be seen, the DRAM memory 1 formed by four LPDDRx memory modules 3 arranged in parallel, which provide a total of 8 memory banks ("bank 0 ... bank 7"). Here, each of the four LPDDRx memory chips 3 is organized with a bit data width of 32, so that a data bus 5 is formed with a bit width of 128, as in 7th and 8th illustrated please do not wait for me to eat. As the 8th shows by way of example, there are just four of the memory banks 2 from the DRAM refresh cycle 7th locked out.

Zusammenfassend wird zum Zwecke der Energieeinsparung und damit eines verlängerten Betriebs eines Computersystems 6, welches einen DRAM-Speicher 1 aufweist bestehend aus mehreren Speicherbänken 2, deren Speicherinhalte jeweils einzeln mittels eines DRAM-Refresh-Zyklus 7 wiederaufgefrischt werden können, vorgeschlagen, dass durch Auslesen des DRAM-Speichers 1 Daten 9 erfasst werden, die zu erhalten sind, dass anschließend diese Daten 9 in komprimierter Form in den DRAM-Speicher 1 zurückgeschrieben werden, insbesondere wobei dabei weniger Speicherbänke 2 mit zu erhaltenden Daten 9 beschrieben werden als eine Anzahl der Speicherbänke 2, die vor dem Auslesen solche zu erhaltenden Daten 9 enthielten, und dass schließlich nur solche der Speicherbänke 2 mittels des DRAM-Refresh-Zyklus 7 periodisch wiederaufgefrischt werden, die beim Schreiben der komprimierten Daten 28 in den DRAM-Speicher 1 mit zu erhaltenden komprimierten Daten 9, 28 neu beschrieben worden sind.In summary, for the purpose of energy saving and thus prolonged operation of a computer system 6th , which is a DRAM memory 1 has consisting of several memory banks 2 whose memory contents are each individually by means of a DRAM refresh cycle 7th Can be refreshed, suggested that by reading out the DRAM memory 1 Data 9 are recorded, which are to be obtained that subsequently this data 9 in compressed form in the DRAM memory 1 are written back, in particular with fewer memory banks 2 with data to be obtained 9 can be described as a number of the memory banks 2 , the data to be preserved before reading out 9 contained, and that ultimately only those of the memory banks 2 by means of the DRAM refresh cycle 7th periodically refreshed when the compressed data is written 28 into DRAM memory 1 with compressed data to be preserved 9 , 28 have been rewritten.

BezugszeichenlisteList of reference symbols

11
DRAM-SpeicherDRAM memory
22
Speicherbank (von 1)Memory bank (of 1)
33
SpeicherbausteinMemory chip
44th
host controllerhost controller
55
DatenbusData bus
66th
ComputersystemComputer system
77th
DRAM-Refresh-ZyklusDRAM refresh cycle
88th
Software-ApplikationSoftware application
99
zu erhaltende Datendata to be obtained
1010
keine Daten / nicht zu erhaltende Datenno data / data not to be obtained
1111
ZwischenspeicherCache
1212th
von der Wiederauffrischung ausgeschlossene Speicherbank / Speicherbänkememory bank (s) excluded from refreshing
1313th
wiederaufzufrischende Speicherbank / Speicherbänkememory bank (s) to be refreshed
1414th
NormalbetriebszustandNormal operating condition
1515th
Bereitschaftsbetriebszustand („stand-by-mode“)Stand-by mode
1616
ChipsetChipset
1717th
IdentifikationsschrittIdentification step
1818th
WiederauffrischungsschrittRefresh step
1919th
komprimiertes Speicherabbild (von 1)compressed memory image (of 1)
2020th
Wach-auf-ProzessWake up process
2121
dekomprimierter Speicherinhaltdecompressed memory content
2222nd
ursprünglicher Speicherinhaltoriginal memory content
2323
kritische Datencritical data
2424
unkritische Datennon-critical data
2525th
erste Partitionfirst partition
2626th
zweite Partitionsecond partition
2727
dekomprimierte Datendecompressed data
2828
komprimierte Datencompressed data

Claims (13)

Verfahren zum energiesparenden Betrieb eines Computersystems (6), insbesondere eines in-vehicle-infotainment(IVI)-Systems, mit - einem DRAM-Speicher (1) auf Basis eines Dynamic Random Access Memory (DRAM), der mehrere einzeln adressierbare Speicherbänke (2) aufweist, deren Speicherinhalte elektronisch mittels eines DRAM-Refresh-Zyklus (7) wiederaufgefrischt werden können und - einem host controller (4) zum Auslesen und Beschreiben des DRAM-Speichers (1), - wobei das Computersystem (6) von einem Normalbetriebszustand (14) in einen Bereitschaftsbetriebszustand (15) versetzbar ist, in welchem der Gesamtenergieverbrauch des Computersystems (6) reduziert ist im Vergleich zu dem Normalbetriebszustand (14), dadurch gekennzeichnet, dass im Bereitschaftsbetriebszustand (15) - in einem Identifikationsschritt (17) diejenigen der Speicherbänke (2) als auszuschließende Speicherbänke (12) identifiziert werden, die keine Daten oder aktuell nicht mehr benötigte Daten (10) enthalten und dass - in einem Wiederauffrischungsschritt (18) alle übrigen der Speicherbänke (13), die zu erhaltende Daten (9) enthalten, mittels des DRAM-Refresh-Zyklus (7) wiederaufgefrischt werden, während die auszuschließenden Speicherbänke (12) von dem DRAM-Refresh-Zyklus ausgeschlossen werden.A method for the energy-saving operation of a computer system (6), in particular an in-vehicle infotainment (IVI) system, with - a DRAM memory (1) based on a dynamic random access memory (DRAM), which has several individually addressable memory banks (2 ), the memory contents of which can be refreshed electronically by means of a DRAM refresh cycle (7) and - a host controller (4) for reading and writing to the DRAM memory (1), - the computer system (6) from a normal operating state ( 14) can be put into a standby mode (15), in which the total energy consumption of the computer system (6) is reduced compared to the normal operating mode (14), characterized in that in the standby mode (15) - in an identification step (17) those of the memory banks (2) to be identified as memory banks (12) to be excluded that contain no data or currently no longer required data (10) and that - in a In the refreshing step (18), all remaining memory banks (13) containing data (9) to be received are refreshed by means of the DRAM refresh cycle (7), while the memory banks (12) to be excluded are excluded from the DRAM refresh cycle become. Verfahren nach Anspruch 1, - wobei der Identifikationsschritt (17) eine Modifikation, vorzugsweise eine Umordnung, der zu erhaltenden Daten (9) auf den Speicherbänken (2), und/oder - eine, vorzugsweise verlustfreie, Datenkomprimierung der zu erhaltenden Daten (9) umfasst, - vorzugsweise derart, dass eine Anzahl der Speicherbänke (2), die im Wiederauffrischungsschritt (18) von dem DRAM-Refresh-Zyklus (7) ausgeschlossen wird, erhöht ist im Vergleich zu einer Anzahl der Speicherbänke (2), die vor dem Identifikationsschritt (17) keine Daten oder nicht mehr benötigte Daten (10) enthielten und/oder derart, - dass eine Anzahl der Speicherbänke (2), die im Wiederauffrischungsschritt (18) mittels des DRAM-Refresh-Zyklus (7) wiederaufgefrischt werden verringert ist im Vergleich zu einer Anzahl der Speicherbänke (2), die vor dem Identifikationsschritt (17) zu erhaltende Daten (9) enthielten und/oder derart, - dass nach dem Identifikationsschritt (17) jeweilige der Speicherbänke (2), insbesondere einzelne Speicherorte, in denen die zu erhaltenden Daten (9) im DRAM-Speicher (1) aktuell gespeichert sind, bekannt sind.Procedure according to Claim 1 - wherein the identification step (17) comprises a modification, preferably a rearrangement, of the data (9) to be received on the memory banks (2), and / or - preferably lossless, data compression of the data (9) to be received, - preferably in such a way that a number of memory banks (2) which are excluded from the DRAM refresh cycle (7) in the refresh step (18) is increased compared to a number of memory banks (2) which were excluded before the identification step (17) contained no data or data (10) no longer required and / or such that a number of memory banks (2) that are refreshed in the refresh step (18) by means of the DRAM refresh cycle (7) is reduced compared to one Number of memory banks (2) which contained data (9) to be obtained before the identification step (17) and / or such that - after the identification step (17), respective memory banks (2), in particular individual memory locations, are stored in which the data (9) to be obtained are currently stored in the DRAM memory (1) are known. Verfahren nach Anspruch 1 oder 2, wobei der Identifikationsschritt (17) folgende Schritte A-C umfasst: A. der gesamte Speicherinhalt des DRAM-Speichers (1) wird ausgelesen; B. der ausgelesene gesamte Speicherinhalt wird, vorzugsweise mit einer maximal verfügbaren Kompressionsrate und/oder verlustfrei, in ein komprimiertes Speicherabbild (19) komprimiert; C. das komprimierte Speicherabbild (19) wird in den DRAM-Speicher (1) geschrieben.Procedure according to Claim 1 or 2 , wherein the identification step (17) comprises the following steps AC: A. the entire memory content of the DRAM memory (1) is read out; B. the entire memory content read out is compressed into a compressed memory image (19), preferably with a maximum available compression rate and / or loss-free; C. the compressed memory map (19) is written into the DRAM memory (1). Verfahren nach Anspruch 3, - wobei im Identifikationsschritt (17) als auszuschließende Speicherbänke (12) diejenigen der Speicherbänke (2) des DRAM-Speichers (1) identifiziert werden, welche in Schritt C nicht beschrieben werden und/oder - wobei im Wiederauffrischungsschritt (18) diejenigen der Speicherbänke (2) wiederaufgefrischt werden, die in Schritt C mit dem komprimierten Speicherabbild (19) beschrieben worden sind.Procedure according to Claim 3 - wherein in the identification step (17), those of the memory banks (2) of the DRAM memory (1) are identified as memory banks (12) to be excluded which are not written to in step C and / or - wherein in the refreshing step (18) those of the memory banks (2) are refreshed which have been written with the compressed memory image (19) in step C. Verfahren nach einem der Ansprüche 3 bis 4, wobei - in Schritt C weniger der Speicherbänke (2) beschrieben werden als eine Anzahl der Speicherbänke (2), die vor Schritt C zu erhaltende Daten (9) enthielten und/oder - wobei in Schritt C einzelne der Speicherbänke (2), die zu erhaltende Daten (9) enthielten, mit dem komprimierten Speicherabbild (19) überschrieben werden und/oder - wobei im Wiederauffrischungsschritt (18) einzelne der Speicherbänke (2) von dem DRAM-Refresh-Zyklus (7) ausgenommen werden, die vor Schritt C zu erhaltende Daten (9) enthielten.Method according to one of the Claims 3 to 4th , wherein - in step C fewer of the memory banks (2) are written than a number of the memory banks (2) that contained data (9) to be obtained before step C and / or - wherein in step C individual memory banks (2) that contain to be received data (9) are overwritten with the compressed memory image (19) and / or - in the refresh step (18) individual of the memory banks (2) are excluded from the DRAM refresh cycle (7) that were prior to step C contained data to be obtained (9). Verfahren nach einem der vorhergehenden Ansprüche, - wobei der Identifikationsschritt (17) erst dann wiederholt wird, wenn neue Daten in den DRAM-Speicher (1) geschrieben oder ältere Daten in dem DRAM-Speicher (1) gelöscht worden sind, - insbesondere wobei der Wiederauffrischungsschritt (18) in regelmäßigen Abständen auch dann wiederholt wird, wenn keine neue Daten in den DRAM-Speicher (1) geschrieben und keine ältere Daten in dem DRAM-Speicher (1) gelöscht worden sind und/oder wobei - nach dem Identifikationsschritt (17) der Wiederauffrischungsschritt (18) periodisch wiederholt wird.Method according to one of the preceding claims, - The identification step (17) is only repeated when new data has been written to the DRAM memory (1) or older data has been deleted in the DRAM memory (1), - In particular, the refreshing step (18) being repeated at regular intervals even if no new data has been written to the DRAM memory (1) and no older data has been deleted in the DRAM memory (1) and / or where - after the identification step (17), the refreshing step (18) is repeated periodically. Verfahren nach einem der Ansprüche 3 bis 6, wobei bei Versetzen des Computersystems (6) von dem Bereitschaftsbetriebszustand (15) in den Normalbetriebszustand (14) - die Modifikation, insbesondere die Umordnung, der Daten und/oder die Datenkomprimierung rückgängig gemacht wird und/oder - ein Wach-auf-Prozess (20) ausgeführt wird, der folgende Schritte D-F umfasst: D. das komprimierte Speicherabbild (19) wird aus dem DRAM-Speicher ausgelesen; E. das ausgelesene komprimierte Speicherabbild (19) wird in einen dekomprimierten Speicherinhalt (21) dekomprimiert; F. der dekomprimierte Speicherinhalt (21) wird in den DRAM-Speicher (1) geschrieben, - vorzugweise sodass das Computersystem (6) im Normalbetriebszustand (14) nach einer Latenzzeit auf einen ursprünglichen Speicherinhalt (22) des DRAM-Speichers (1), insbesondere der dem dekomprimierten Speicherinhalt (21) entspricht, vor Ausführung des Identifikationsschritts (17) vollumfänglich zugreifen kann.Method according to one of the Claims 3 to 6th , whereby when the computer system (6) is moved from the standby operating state (15) to the normal operating state (14) - the modification, in particular the rearrangement, of the data and / or the data compression is reversed and / or - a wake-up process ( 20), which comprises the following steps DF: D. the compressed memory map (19) is read from the DRAM memory; E. the read-out compressed memory image (19) is decompressed into a decompressed memory content (21); F. the decompressed memory content (21) is written into the DRAM memory (1), - preferably so that the computer system (6) in the normal operating state (14) after a latency period on an original memory content (22) of the DRAM memory (1), in particular which corresponds to the decompressed memory content (21), can access the full extent before the identification step (17) is carried out. Verfahren nach einem der vorhergehenden Ansprüche 3 bis 7, wobei im Identifikationsschritt (17) - der ausgelesene gesamte Speicherinhalt (22) in kritische Daten (23) und unkritische Daten (24) unterteilt wird, und - die kritischen Daten (23) in eine erste Partition (25) des DRAM-Speichers (1) als komprimierte Daten geschrieben werden, während die unkritischen Daten (24) in eine zweite Partition (26) des DRAM-Speichers (1) als komprimierte Daten geschrieben werden.Method according to one of the preceding Claims 3 to 7th , wherein in the identification step (17) - the read out entire memory content (22) is divided into critical data (23) and non-critical data (24), and - the critical data (23) in a first partition (25) of the DRAM memory ( 1) are written as compressed data, while the non-critical data (24) are written as compressed data in a second partition (26) of the DRAM memory (1). Verfahren nach Anspruch 8, wobei bei Versetzen des Computersystems (6) von dem Bereitschaftsbetriebszustand (15) in den Normalbetriebszustand (14) und/oder während des Wach-auf-Prozesses (20) - zunächst nur die erste Partition (25) ausgelesen, dekomprimiert und anschließend als dekomprimierte kritische Daten (24, 27), in den DRAM-Speicher (1) geschrieben wird, - insbesondere derart, dass eine Latenzzeit, nach der ein Zugriff auf die dekomprimierten kritischen Daten (23, 27) möglich ist, verkürzt ist im Vergleich zu einer Latenzzeit, die benötigt würde für einen Zugriff auf den gesamten ursprünglichen Speicherinhalt (22) des DRAM-Speichers (1), - vorzugsweise wobei nach dem Auslesen der ersten Partition (25) die zweite Partition (26), insbesondere mittels eines Hintergrund-Prozesses, ausgelesen, dekomprimiert und anschließend als dekomprimierte unkritische Daten (24, 27) in den DRAM-Speicher (1) geschrieben wird, - besonders bevorzugt, wobei die erste Partition (25) kleiner ausgestaltet ist als die zweite Partition (26) und/oder wobei die erste Partition (25) und die zweite Partition (26) keine gemeinsame Speicherbank (2) aufweisen.Procedure according to Claim 8 , wherein when the computer system (6) is moved from the standby operating state (15) to the normal operating state (14) and / or during the wake-up process (20) - initially only the first partition (25) is read out, decompressed and then as decompressed critical data (24, 27) is written into the DRAM memory (1) - in particular in such a way that a latency period after which access to the decompressed critical data (23, 27) is possible is shortened compared to a Latency time that would be required for access to the entire original memory content (22) of the DRAM memory (1), - preferably with the second partition (26) after reading out the first partition (25), in particular by means of a background process, read out, decompressed and then written as decompressed non-critical data (24, 27) in the DRAM memory (1) - particularly preferred, the first partition (25) being designed to be smaller than the second part tion (26) and / or wherein the first partition (25) and the second partition (26) do not have a common memory bank (2). Computersystem (6), insbesondere ausgestaltet als ein in-vehicle-infotainment(IVI)-System, mit - einem DRAM-Speicher (1) auf Basis eines Dynamic Random Access Memory (DRAM), der mehrere einzeln adressierbare Speicherbänke (2) aufweist, deren Speicherinhalte elektronisch mittels eines DRAM-Refresh-Zyklus (7) wiederaufgefrischt werden können und - einem host controller (4) zum Auslesen und Beschreiben des DRAM-Speichers (1), - wobei das Computersystem (6) in einen Bereitschaftsbetriebszustand (15) versetzbar ist, in welchem der Gesamtenergieverbrauch des Computersystems (6) reduziert ist im Vergleich zu einem Normalbetriebszustand (14), dadurch gekennzeichnet, - dass der host controller (4) dazu eingerichtet ist, ein Verfahren gemäß einem der vorhergehenden Ansprüche im Zusammenspiel mit dem DRAM-Speicher (1) auszuführen.Computer system (6), in particular designed as an in-vehicle infotainment (IVI) system, with - a DRAM memory (1) based on a dynamic random access memory (DRAM), which has several individually addressable memory banks (2), the memory contents of which can be refreshed electronically by means of a DRAM refresh cycle (7) and - a host controller (4) for reading and writing to the DRAM memory (1), - the computer system (6) being able to be put into a standby mode (15) is, in which the total energy consumption of the computer system (6) is reduced compared to a normal operating state (14), characterized in that the host controller (4) is set up to implement a method according to one of the preceding claims in interaction with the DRAM Execute memory (1). Computersystem (6) nach Anspruch 10, wobei das Computersystem (6), insbesondere der host controller (4), ein Chipset (16) zum Komprimieren eines gesamten Speicherinhalts (22) des DRAM-Speichers (1) aufweist, - vorzugsweise und einen Zwischenspeicher (11) zum Zwischenspeichern eines komprimierten Speicherabbilds (19) und/oder komprimierter Daten (28), - besonders bevorzugt und ein Chipset (16) zum Dekomprimieren des komprimierten Speicherabbilds (19) und/oder komprimierter Daten (28).Computer system (6) according to Claim 10 , wherein the computer system (6), in particular the host controller (4), has a chipset (16) for compressing an entire memory content (22) of the DRAM memory (1), - preferably and a buffer (11) for buffering a compressed Memory images (19) and / or compressed data (28), - particularly preferred, and a chipset (16) for decompressing the compressed memory image (19) and / or compressed data (28). Computersystem (6) nach Anspruch 10 oder 11, wobei der DRAM-Speicher (1) aus mehreren LPDDRx-Speicherbausteinen (3) aufgebaut ist, die jeweils mehrere einzeln adressierbare Speicherbänke (2) aufweisen, deren jeweilige Speicherinhalte elektronisch mittels eines DRAM-Refresh-Zyklus (7) wiederaufgefrischt werden können, - vorzugsweise wobei der host controller (4) dazu eingerichtet ist, im Identifikationsschritt (17) in jedem der LPDDR4-Speicherbausteine (3) einzelne Speicherbänke (2) als auszuschließende Speicherbänke (12) zu identifizieren, - insbesondere wobei der host controller (4) dazu eingerichtet ist, im Wiederauffrischungsschritt (18) diejenigen Speicherbänke (2) des DRAM-Speichers (1), die zu erhaltende Daten (9) enthalten, mittels eines Partial Array Self Refresh (PASR) wiederaufzufrischen.Computer system (6) according to Claim 10 or 11 , the DRAM memory (1) being constructed from several LPDDRx memory modules (3) each having several individually addressable memory banks (2), the respective memory contents of which can be refreshed electronically by means of a DRAM refresh cycle (7), preferably wherein the host controller (4) is set up to identify individual memory banks (2) as excluded memory banks (12) in the identification step (17) in each of the LPDDR4 memory modules (3), in particular where the host controller (4) does this is set up in the refreshing step (18) to refresh those memory banks (2) of the DRAM memory (1) which contain data (9) to be obtained by means of a partial array self refresh (PASR). Computerprogrammprodukt, welches in einen Speicher eines Computersystems (6), insbesondere gemäß Anspruch 10 oder 11, geladen werden kann und einen Softwarecode umfasst, mit dessen Hilfe ein Verfahren gemäß einem der Ansprüche 1 bis 9 implementiert wird, wenn der Softwarecode von dem Computersystem (6) ausgeführt wird.Computer program product which is stored in a memory of a computer system (6), in particular according to Claim 10 or 11 , can be loaded and comprises a software code with the aid of which a method according to one of the Claims 1 to 9 is implemented when the software code is executed by the computer system (6).
DE102019124738.1A 2019-09-13 2019-09-13 Method for the energy-saving operation of a computer system and the associated computer system and computer program product Pending DE102019124738A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102019124738.1A DE102019124738A1 (en) 2019-09-13 2019-09-13 Method for the energy-saving operation of a computer system and the associated computer system and computer program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102019124738.1A DE102019124738A1 (en) 2019-09-13 2019-09-13 Method for the energy-saving operation of a computer system and the associated computer system and computer program product

Publications (1)

Publication Number Publication Date
DE102019124738A1 true DE102019124738A1 (en) 2021-03-18

Family

ID=74686248

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019124738.1A Pending DE102019124738A1 (en) 2019-09-13 2019-09-13 Method for the energy-saving operation of a computer system and the associated computer system and computer program product

Country Status (1)

Country Link
DE (1) DE102019124738A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5524248A (en) * 1993-07-06 1996-06-04 Dell Usa, L.P. Random access memory power management system
US5928365A (en) * 1995-11-30 1999-07-27 Kabushiki Kaisha Toshiba Computer system using software controlled power management method with respect to the main memory according to a program's main memory utilization states
US6094705A (en) * 1999-03-10 2000-07-25 Picoturbo, Inc. Method and system for selective DRAM refresh to reduce power consumption

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5524248A (en) * 1993-07-06 1996-06-04 Dell Usa, L.P. Random access memory power management system
US5928365A (en) * 1995-11-30 1999-07-27 Kabushiki Kaisha Toshiba Computer system using software controlled power management method with respect to the main memory according to a program's main memory utilization states
US6094705A (en) * 1999-03-10 2000-07-25 Picoturbo, Inc. Method and system for selective DRAM refresh to reduce power consumption

Similar Documents

Publication Publication Date Title
DE60317347T2 (en) MEMORY SWITCHING WITH NON-VOLATILE RAM AND RAM
DE10343525B4 (en) Method for operating semiconductor components, control device for semiconductor components and arrangement for operating memory components
EP1744236B1 (en) Configuration of components when changing from a low-power to a normal-power consumption mode
DE2617408A1 (en) DATA PROCESSING DEVICE
DE602004002300T2 (en) SELECTIVE BANK OPERATION
DE102007038615B4 (en) Memory with memory banks and mode registers, as well as methods for operating such a memory
DE102006058895A1 (en) Memory device and memory method for user data and parity data
DE202007019469U1 (en) Device for communicating command and address signals
DE102005003903B4 (en) System and method for refreshing a dynamic storage device
DE10307244A1 (en) Auto-precharge control circuit used in e.g. dynamic RAM, varies write recovery time of semiconductor memory device in response to control signal including clock frequency information
DE102011075023A1 (en) Indexed register access for a memory device
DE102004027121A1 (en) A multi-bank chip compatible with a controller designed for a smaller number of banks, and a method of operation
DE102017124188A1 (en) A method and apparatus for controlling a storage system for the purpose of securely shutting down a volatile memory of a host
DE112017005167T5 (en) CHARGE PUMP SWITCHES WITH FAST RAMP AND LOW SUPPLY
DE102016123247A1 (en) SYSTEMS AND METHODS FOR MEMORY MANAGEMENT
DE102022102434A1 (en) Volatile register to detect a loss of power
DE10233250A1 (en) Semiconductor memory device, has refresh activating circuitry that generates signal for activating refresh operation in relation to specific address bit of refresh address
DE102017103214A1 (en) Methods and apparatus for managing a non-volatile digital information store
DE102019124738A1 (en) Method for the energy-saving operation of a computer system and the associated computer system and computer program product
DE102011081438A1 (en) Modified read operation for a nonvolatile memory
DE102004044984B4 (en) A random access memory device, a semiconductor memory device, and a method of reducing power consumption in a dynamic memory device
DE10034699B4 (en) Sense amplifier in a non-volatile ferroelectric memory
EP1197854B1 (en) Method for starting a data processing apparatus and corresponding components
DE102006040399B4 (en) Device for renewing memory contents
DE69907800T2 (en) Fast DRAM arrangement

Legal Events

Date Code Title Description
R083 Amendment of/additions to inventor(s)
R163 Identified publications notified