DE102016109892B4 - Datenverarbeitungsvorrichtung und Verfahren zum Einsparen von Leistung in einer Datenverarbeitungsvorrichtung - Google Patents

Datenverarbeitungsvorrichtung und Verfahren zum Einsparen von Leistung in einer Datenverarbeitungsvorrichtung Download PDF

Info

Publication number
DE102016109892B4
DE102016109892B4 DE102016109892.2A DE102016109892A DE102016109892B4 DE 102016109892 B4 DE102016109892 B4 DE 102016109892B4 DE 102016109892 A DE102016109892 A DE 102016109892A DE 102016109892 B4 DE102016109892 B4 DE 102016109892B4
Authority
DE
Germany
Prior art keywords
data processing
volatile memory
processing device
memory
processing apparatus
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.)
Active
Application number
DE102016109892.2A
Other languages
English (en)
Other versions
DE102016109892A1 (de
Inventor
Leong Kee Chee
Witold Gora
Peter Blicharski
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE102016109892.2A priority Critical patent/DE102016109892B4/de
Priority to US15/607,710 priority patent/US10303386B2/en
Publication of DE102016109892A1 publication Critical patent/DE102016109892A1/de
Application granted granted Critical
Publication of DE102016109892B4 publication Critical patent/DE102016109892B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4418Suspend and resume; Hibernate and awake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0625Power saving in storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

Datenverarbeitungsvorrichtung, die Folgendes umfasst: einen nichtflüchtigen Speicher, der zum Speichern von Konfigurationsdaten für die Datenverarbeitungsvorrichtung konfiguriert ist; einen flüchtigen Speicher; und ein Steuersystem, das zu Folgendem konfiguriert ist: Kopieren der Konfigurationsdaten aus dem nichtflüchtigen Speicher in einen Abschnitt des flüchtigen Speichers, Sperren des Schreibens in den Abschnitt des flüchtigen Speichers, und Versetzen der Datenverarbeitungsvorrichtung in eine Schlafbetriebsart, in der eine oder mehrere Komponenten des nichtflüchtigen Speichers abgeschalten oder in eine Leistungssparbetriebsart versetzt sind und der flüchtige Speicher aktiv ist.

Description

  • Die vorliegende Offenbarung bezieht sich auf Datenverarbeitungsvorrichtungen und auf Verfahren zum Einsparen von Leistung in einer Datenverarbeitungsvorrichtung.
  • In elektronischen Vorrichtungen wie etwa in Mikrocontrollern oder in Kommunikationsvorrichtungen ist der Leistungsverbrauch, z. B. in Fällen, in denen die Energiequelle eine begrenzte Stromfähigkeit aufweist, ein typisches Problem. Somit werden in solche elektronischen Vorrichtungen üblicherweise Maßnahmen zur Verringerung des Leistungsverbrauchs wie etwa Leistungseinsparungsbetriebsarten eingeführt. Allerdings kann es Bauelemente, z. B. einen Flash-Speicher, geben, die hinsichtlich Kleinleistungsfähigkeiten nicht gut geeignet sind. Dementsprechend sind Vorgehensweisen zur Verringerung des Leistungsverbrauchs in solchen Szenarien erwünscht.
  • Dokument US 2011/0 022 826 A1 beschreibt einen integrierten Schaltkreis für ein Energiemanagement. Der integrierte Schaltkreis weist einen nicht-flüchtigen Speicher mit darin gespeicherten Boot-Daten auf. Ferner weist der integrierte Schaltkreis einen Steuerschaltkreis auf, welcher erkennt, ob ein weiterer, externer nicht-flüchtiger Speicher angeschlossen ist, wobei der integrierte Schaltkreis bei Vorhandensein des externen nicht-flüchtigen Speichers Boot-Daten von dem externen nicht-flüchtigen Speicher nutzt.
  • Dokument US 7 681 057 B2 beschreibt einen nichtflüchtigen Speicher, welcher verschiedene Komponenten und Schaltkreise aufweist. In verschiedenen Energiemodi können verschiedene Komponenten des nicht-flüchtigen Speichers abgeschaltet werden.
  • Dokument US 2002/0 116 651 A1 beschreibt einen Automobil-Computer, welcher einen flüchtigen Speicher aufweist. Der flüchtige Speicher ist mit einer Batterie verbunden, so dass im Fall eines Energieausfalls die in dem flüchtigen Speicher gespeicherten Daten dennoch zur Verfügung stehen.
  • Dokument US 2008/0 022 108 A1 beschreibt einen Prozessor, der mittels Boot-Daten gestartet wird, wobei vor dem Ausführen von Nutzercode die Boot-Daten mittels Hash-Werte überprüft werden.
  • Eine Aufgabe ist, eine Datenverarbeitungsvorrichtung bereitzustellen, deren Energiebedarf verringert werden kann.
  • Es wird eine Datenverarbeitungsvorrichtung bereitgestellt, die einen nichtflüchtigen Speicher, der zum Speichern von Konfigurationsdaten für die Datenverarbeitungsvorrichtung konfiguriert ist, einen flüchtigen Speicher und ein Steuersystem, das zum Kopieren der Konfigurationsdaten aus dem nichtflüchtigen Speicher in einen Abschnitt des flüchtigen Speichers, zum Sperren des Schreibens in den Abschnitt des flüchtigen Speichers und zum Versetzen der Datenverarbeitungsvorrichtung in eine Schlafbetriebsart, in der der nichtflüchtige Speicher abgeschaltet ist und der flüchtige Speicher aktiv ist, konfiguriert ist, enthält.
  • Ferner wird ein Verfahren zum Einsparen von Leistung in einer Datenverarbeitungsvorrichtung in Übereinstimmung mit der oben beschriebenen Datenverarbeitungsvorrichtung bereitgestellt.
  • In den Zeichnungen beziehen sich gleiche Bezugszeichen allgemein überall in den mehreren Ansichten auf die gleichen Teile. Die Zeichnungen sind nicht notwendig maßstabsgerecht, wobei der Schwerpunkt stattdessen allgemein auf der Darstellung der Prinzipien der Erfindung liegt. In der folgenden Beschreibung sind verschiedene Aspekte in Bezug auf die folgenden Zeichnungen beschrieben, in denen:
  • 1 einen Mikrocontroller zeigt.
  • 2 einen Vergleich zwischen dem Leistungsverbrauch der aktiven Betriebsart mit aktivem nichtflüchtigen Speicher und dem Leistungsverbrauch der aktiven Betriebsart mit inaktivem nichtflüchtigen Speicher zeigt.
  • 3 einen Ablaufplan zeigt, der die Vorbereitung des Mikrocontrollers aus 1 für ein NVM-loses Aufwecken aus der Schlafbetriebsart darstellt.
  • 4 einen Ablaufplan zeigt, der ein Aufwecken aus der Schlafbetriebsart darstellt.
  • 5 eine Datenverarbeitungsvorrichtung in Übereinstimmung mit einer Ausführungsform zeigt.
  • 6 einen Ablaufplan zeigt, der ein Verfahren zum Einsparen von Leistung in einer Datenverarbeitungsvorrichtung in Übereinstimmung mit einer Ausführungsform darstellt.
  • Die folgende ausführliche Beschreibung bezieht sich auf die beigefügten Zeichnungen, die veranschaulichend spezifische Einzelheiten und Aspekte dieser Offenbarung zeigen, in denen die Erfindung verwirklicht werden kann. Es können andere Aspekte genutzt werden und strukturelle, logische und elektrische Änderungen vorgenommen werden, ohne von dem Schutzumfang der Erfindung abzuweichen. Da einige Aspekte dieser Offenbarung mit einem oder mit mehreren anderen Aspekten dieser Offenbarung kombiniert werden können, um neue Aspekte zu bilden, schließen sich die verschiedenen Aspekte dieser Offenbarung nicht notwendig gegenseitig aus.
  • 1 zeigt einen Mikrocontroller 100.
  • Der Mikrocontroller 100 enthält einen nichtflüchtigen Speicher (NVM) 101, in diesem Beispiel einen Flash-Speicher 101, und einen flüchtigen Speicher 102, in diesem Beispiel einen SRAM (statischen Schreib-Lese-Speicher), der z. B. der Hauptspeicher des Mikrocontrollers ist.
  • Flash ist ein Typ eines EEPROM (elektrisch löschbaren programmierbaren Nur-Lese-Speichers), der als seine Grundoperationen Lesen, Programmieren und Löschen unterstützt. Üblicherweise enthält ein NAND-Flash-Speicherchip Befehlsstatusregister, eine Steuereinheit, einen Satz von Decodierern, eine analoge Schaltungsanordnung zum Erzeugen hoher Spannungen, Puffer zum Speichern und Senden von Daten und die Speicheranordnung. Ein externer Speichercontroller sendet zusammen mit der relevanten physikalischen Adresse Lese-, Programmier- oder Löschbefehle an den Chip. Das Hauptbauelement eines NAND-Flash-Speicherchips ist die Flash-Speicheranordnung. Eine Flash-Speicheranordnung ist in Bänken (auf die als Ebenen Bezug genommen wird), d. h. als ein zweidimensionales Gitter, das aus Zeilen (Bitleitungen) und Spalten (Wortleitungen) besteht, organisiert. An dem Schnittpunkt jeder Zeile und Spalte befindet sich ein Transistor mit schwebendem Gate (FGT), der ein logisches Datenbit speichert.
  • Wenn der Flash-Speicher aktiv (oder eingeschaltet) ist, aber keine Operation (d. h. keine Lese-, Lösch- oder Schreiboperation) ausführt, ist er in einem Vorladezustand. In diesem Zustand sind die Bitleitungen vorgeladen, während die Wortleitungen und die Auswahlleitungen geerdet sind. Die Auswahlleitungen isolieren die Speicherzellenanordnung elektrisch, wobei der Speicher aber bereit ist, auf Befehle von seinem Speichercontroller anzusprechen.
  • Ferner enthält der Mikrocontroller 100 einen Prozessor (eine Zentraleinheit CPU) 103 und einen Nur-Lese-Speicher (ROM) 104, der einen Boot-Code speichert, den der Prozessor 103 ausführt, wenn der Mikrocontroller 100 nach einem Zurücksetzen des Mikrocontrollers 100 oder wenn der Mikrocontroller 100 aufwacht, d. h., die wie im Folgenden beschriebene Schlafbetriebsart verlässt, gestartet wird.
  • Der Mikrocontroller kann weitere Bauelemente wie etwa eine E/A-Schaltung (Eingabe-Ausgabe-Schaltung) 105, die z. B. verschiedene Schnittstellen und E/A-Anschlüsse enthält, einen oder mehrere Coprozessoren (nicht gezeigt) usw. aufweisen.
  • Der Mikrocontroller 100 kann z. B. in einem Kraftfahrzeug oder in einer industriellen Anwendung verwendet werden und kann sich z. B. in einer Maschine wie etwa zur Motorsteuerung usw. befinden.
  • Ein wichtiges Problem in Bezug auf einen Mikrocontroller wie etwa in Bezug auf den Mikrocontroller 100 aus 1 ist der Leistungsverbrauch. Insbesondere spielt der Energieverbrauch des nichtflüchtigen Speichers 101, z. B. des Flash-Speichers, eine erhebliche Rolle. Vorgehensweisen zum Minimieren des aktiven Stromverbrauchs können sich auf dedizierte Kleinleistungs-Chip-Fertigungstechnologien und auf dedizierte Kleinleistungs-Entwurfslösungen, z. B. auf die Verwendung von FRAM (ferroelektrischem RAM), MRAM (magnetischem RAM), RRAM (resistivem RAM) als nichtflüchtiger Speicher 101, oder auf Kleinleistungstechniken unter Nutzung eines Sub-Schwellenwert-Schaltens, stützen oder ihnen gewidmet sein. Allerdings erfordern dedizierte Kleinleistungstechnologien häufig eine hohe Investition in den technologischen Prozess und in geistiges Eigentum. Außerdem können im Ergebnis der Leistungsverbrauchsoptimierung einige Leistungsfähigkeitsaspekte gefährdet sein.
  • In Übereinstimmung mit verschiedenen Ausführungsformen ist eine Kleinleistungsunterstützung vorgesehen, die die Schwäche einer nicht optimierten Technologie hinsichtlich der Kleinleistungsfähigkeit, wie etwa z. B. den Flash-Leistungsverbrauch, kompensieren kann. Ausführungsformen ermöglichen, im Kontext eines Mikrocontrollerentwurfs, der auf einer Technologie beruht, die nicht für niedrige Leistung oder äußerst niedrige Leistung optimiert ist, attraktive niedrige Spitzenstrompegel und mittlere Strompegel zu erzielen. Ausführungsformen ermöglichen, dass Anwendungen mit äußerst niedriger Leistung, die Mikrocontroller nutzen, die unter Verwendung der Standardtechnologie gefertigt sind, von einer Quelle mit begrenzter Stromfähigkeit (niedrigem mA-Bereich), z. B. von einer Knopfbatterie oder von einem Kondensator, versorgt werden.
  • Ausführungsformen beruhen z. B. auf einem Mechanismus, der es ermöglicht, eine sogenannte Schlafbetriebsart, die z. B. auch als Bereitschaftsbetriebsart oder als Betriebsart mit äußerst niedrigem Stromverbrauch bezeichnet wird, mit einem Aufwecken in eine Betriebsart mit aktivem Betrieb (z. B. mit äußerst niedriger Leistung) eines Mikrocontrollers (z. B. des Mikrocontrollers 100) zu kombinieren. Der Stromverbrauch eines nichtflüchtigen Speichers bildet üblicherweise, z. B. im Fall eines Flash-Speichers, einen beträchtlich hohen Anteil des Gesamtsystemstromverbrauchs. In Übereinstimmung mit verschiedenen Ausführungsformen, wie sie im Folgenden beschrieben sind, wacht das System (z. B. der Mikrocontroller 100) periodisch auf und führt einen kleinen Abschnitt von Nutzercode aus, ohne dass es notwendig ist, den NVM einzuschalten und zu konfigurieren, so dass der Leistungsverbrauch während der aktiven Betriebsart sehr niedrig, z. B. unter 1 mA, gehalten wird und es z. B. einen Schlafstrom im Bereich von wenigen μA gibt.
  • In Übereinstimmung mit einer Ausführungsform tritt der Mikrocontroller 100 (z. B. aus einer Schlafbetriebsart) in eine Betriebsart der Ausführung eines Nutzeranwendungscodes ein, ohne dass der NVM 101 aktiv ist (was als NVM-lose aktive Betriebsart bezeichnet wird) und beginnt mit der Ausführung des Nutzeranwendungscodes, der sich in einem Abschnitt des SPAN 102 (der als dedizierter Halte-RAM dient) befindet, der während der Schlafbetriebsart Konfigurationsdaten und den Nutzeranwendungscode (d. h. das Nutzerprogramm) hält. Während der Schlafbetriebsart ist ein großer Teil des Mikrocontrollers 100 (wie etwa die CPU 103 und die E/A-Schaltung 105) ausgeschaltet. Bei einem Aufwecken (aus der Schlafbetriebsart) sind die Konfigurationsdaten und der Nutzeranwendungscode in dem Abschnitt des SPAN 102, der zuvor mit diesen Daten initialisiert worden ist und nach der Initialisierung schreibgeschützt worden ist, verfügbar. Der NVM 101 kann während des Aufweckens, während der Vorrichtungskonfiguration in Übereinstimmung mit den Konfigurationsdaten nach dem Aufwecken und während der Ausführung des Anwendungscodes abgeschaltet gehalten werden. In Übereinstimmung mit einer Ausführungsform kann die Datenverarbeitungsvorrichtung immer noch, z. B. aus der Schlafbetriebsart oder aus der NVM-losen aktiven Betriebsart, ebenfalls in eine aktive Betriebsart mit aktivem NVM eintreten.
  • 2 zeigt einen Vergleich zwischen dem Leistungsverbrauch der aktiven Betriebsart mit aktivem nichtflüchtigen Speicher und dem Leistungsverbrauch der aktiven Betriebsart mit inaktivem nichtflüchtigen Speicher (d. h. der NVM-losen aktiven Betriebsart).
  • Der Vergleich ist mittels zweier Diagramme 201, 202 mit ähnlichen Zeitskalen gegeben, wobei die Zeit entlang der horizontalen Achse von links nach rechts zunimmt. Der Strom nimmt entlang der vertikalen Achse von unten nach oben zu.
  • Ein erstes Diagramm 201 stellt den Leistungsverbrauch im Fall von Aufweckvorgängen aus der Schlafbetriebsart in die aktive Betriebsart mit aktivem nichtflüchtigen Speicher zu Aufweckzeitpunkten 203, die durch Aufweckintervalle getrennt sind, dar. Die Aufweckzeitintervalle liegen z. B. für eine Überwachungsanwendung in dem Bereich von mehreren zehn oder hundert Millisekunden, wobei z. B. der Mikrocontroller 100 nach jedem Aufweckintervall einen Sensorwert prüfen soll. Wie durch die ersten Blöcke 204 angegeben ist, die den Stromverbrauch während dieser aktiven Zeitdauern angeben, ist der Mikrocontroller 100 nach jedem Aufweckzeitpunkt für eine bestimmte Zeitdauer aktiv (mit aktivem NVM). Zwischen diesen aktiven Zeitdauern ist der Mikrocontroller in der Schlafbetriebsart und erfordert nur einen niedrigen Strompegel 205.
  • Eine erste punktierte Linie 206 gibt den resultierenden mittleren Strom an und eine zweite punktierte Linie 207 gibt den Spitzenstrom an (der während der aktiven Zeitdauern auftritt).
  • Ein zweites Diagramm 202 stellt den Leistungsverbrauch im Fall von Aufweckvorgängen aus der Schlafbetriebsart in eine aktive Betriebsart mit inaktivem nichtflüchtigen Speicher (d. h. in die NVM-lose aktive Betriebsart) zu Aufweckzeitpunkten 208, die durch die Aufweckintervalle getrennt sind, dar. Der Mikrocontroller 100 ist für eine bestimmte Zeitdauer nach allen Aufweckzeitpunkten, wie sie durch die zweiten Blöcke 209 angegeben sind, die den Stromverbrauch während dieser aktiven NVM-losen Zeitdauern angeben, (mit inaktivem NVM) aktiv. Zwischen diesen aktiven NVM-losen Zeitdauern ist der Mikrocontroller in der Schlafbetriebsart und erfordert nur einen niedrigen Strompegel 210.
  • Eine dritte punktierte Linie 211 gibt den resultierenden mittleren Strom an und eine zweite punktierte Linie 212 gibt den Spitzenstrom an (der während der aktiven NVM-losen Zeitdauern auftritt).
  • Es ist zu sehen, dass der Mikrocontroller 100 bei einem periodischen NVM-losen Aufwecken weniger mittleren Strom als im Fall eines periodischen Aufweckens mit aktivem NVM verbraucht. Dennoch kann dieselbe Leistungsfähigkeit aufrechterhalten werden.
  • Der Mikrocontroller 100 kann einen (z. B. mittels einer Zustandsmaschine implementierten) Schlafcontroller 106 enthalten, der den Zustand des Mikrocontrollers 100 steuert, d. h. steuert, ob der Mikrocontroller 100 in der Schlafbetriebsart, in der NVM-losen aktiven Betriebsart oder in der aktiven Betriebsart ist. Insbesondere kann der Mikrocontroller (z. B. in dem Schlafcontroller 106) eine Aufwecklogik mit einem Mechanismus, der das Aufwecken des Systems (d. h. des Mikrocontrollers 100) in eine NVM-lose Betriebsart ermöglicht, enthalten. Die Aufwecklogik ist in dem Schlafleistungsbereich, d. h. wird in der Schlafbetriebsart mit Leistung versorgt. Wie oben erwähnt wurde, ist der SRAM 102 ebenfalls in dem Schlafleistungsbereich, während z. B. die CPU 103 und die E/A-Schaltung 105 nicht in dem Schlafleistungsbereich, sondern in dem Bereich aktiver NVM-loser Leistung sind, d. h. während der aktiven NVM-losen Betriebsart mit Leistung versorgt werden.
  • Das Aufwecken kann für die Startsoftware (für den Bootcode), die den Aufweckprozess aus der Schlafbetriebsart (z. B. durch die CPU 103 ausgeführt) behandelt, eine Angabe eines Aufweckens der NVM-losen Betriebsart bereitstellen. Dementsprechend kann der Bootcode eine Intelligenz implementieren, die zum Detektieren der Startbetriebsart (d. h., ob in eine NVM-lose aktive Betriebsart oder in eine aktive Betriebsart mit aktivem NVM eingetreten werden soll) und zum Ausführen der dementsprechenden Initialisierung des Mikrocontrollers 100 erforderlich ist.
  • Darüber hinaus enthält der Mikrocontroller 100 eine Speicherzugriffsschutz-Hardware 107, die den Schreibzugriff auf den Abschnitt des SRAM, der die Konfigurationsdaten speichert, die schreibgeschützt worden sind, verhindert oder die mit anderen Worten den Schreibzugriff auf diesen Abschnitt des SRAM sperrt. Der Abschnitt des SRAM, der schreibgeschützt ist, kann ebenfalls Nutzeranwendungscode enthalten, um z. B. das Installieren eines OEM-Codes (eines Erstausrüstercodes) von einem anderen geschützten Ort, z. B. von einem geschützten Sektor des Flash 101, zu ermöglichen.
  • Der Schreibschutz kann z. B. dadurch implementiert werden, dass der Adressendecodierer des SRAM 102 zum Ausgeben eines Fehlers, falls eine dem schreibgeschützten Abschnitt entsprechende Adresse für einen Schreibzugriff eingegeben wird, konfiguriert wird. Dies kann ebenfalls einen Löschzugriff enthalten. Schreibzugriffe auf den Abschnitt des SRAM (im Allgemeinen einen flüchtigen Speicher einer Datenverarbeitungsvorrichtung) können allgemein gesperrt werden oder können z. B. für Nutzeranwendungen, die z. B. durch einen Prozessor des Mikrocontrollers (im Allgemeinen der Datenverarbeitungsvorrichtung) ausgeführt werden, gesperrt werden. Der Schreibschutz kann außerdem zusammen mit einem oder mit mehreren CPU-Kernen, die entsprechende Sicherheitsmerkmale bereitstellen, vorgesehen sein.
  • Darüber hinaus kann ebenfalls der Abschnitt des nichtflüchtigen Speichers 101, der die Vorrichtungskonfigurationsdaten enthält, vor dem Nutzer (wenigstens vor Schreibzugriffen) gesperrt werden, bevor die Steuerung an den Nutzeranwendungscode gegeben wird. Ferner kann eine Schreibzugriffsbeschränkung angewendet werden, um z. B. Verschlüsselungsschlüssel zu übergeben, die z. B. durch den Boot-Code in einer Sicherheitsmaschine installiert werden sollen.
  • Ferner kann der Mikrocontroller 100 Register 108 enthalten, die Daten speichern, wenn der Mikrocontroller aktiv ist (d. h., wenn er in der NVM-losen aktiven Betriebsart oder in der aktiven Betriebsart mit NVM ist). Der Boot-Code kann z. B. in den Registern Informationen, die den Konfigurationsdaten entsprechen, z. B. Informationen, die in den Mikrocontrollern zu verwendende Spannungspegel angeben und die angeben, welche Funktionen des Mikrocontrollers freigegeben sind, und kryptographische Schlüssel, die für die Kommunikation mit anderen Vorrichtungen verwendet werden, speichern. Die Register 108 können während der Schlafbetriebsart inaktiv sein, d. h. in der Schlafbetriebsart ihre Inhalte verlieren.
  • 3 zeigt einen Ablaufplan 300, der die Vorbereitung des Mikrocontrollers 100 für das NVM-lose Aufwecken aus der Schlafbetriebsart darstellt.
  • In 301 wird die Vorbereitung für das NVM-lose Aufwecken gestartet. Dies kann z. B. beim Anfangsstart des Mikrocontrollers 100, z. B., wenn der Mikrocontroller gestartet wird, nachdem er ausgeschaltet gewesen ist, geschehen. Der Anfangsstart des Mikrocontrollers wird unter Verwendung des nichtflüchtigen Speichers 101 ausgeführt, der Systemkonfigurationsdaten und Nutzeranwendungscode enthält. Das heißt, dass der Mikrocontroller beim Anfangsstart in der aktiven Betriebsart ist, die den aktiven NVM enthält. Insbesondere wird in der aktiven Betriebsart mit aktivem NVM die Vorbereitung des Mikrocontrollers 100 für das NVM-lose Aufwecken ausgeführt.
  • Beim Anfangsstart führt die CPU 103 den Boot-Code aus, der bei 302 prüft, ob die NVM-lose Betriebsart freigegeben ist (wie z. B. in dem ROM 104 oder in den Konfigurationsdaten angegeben ist). Falls sie nicht freigegeben ist, endet der Prozess in 307. Falls sie freigegeben ist, kopiert der Boot-Code in 303 die Konfigurationsdaten des Mikrocontrollers während des Anfangsstarts aus dem NVM 101 in einen dedizierten Abschnitt des Bereitschaftsspeichers (d. h. des SRAM 102).
  • Die Konfigurationsdaten enthalten z. B. wesentliche Daten zum Konfigurieren des Takts, die vollständige Trimmung für Module des Mikrocontrollers und die Variantenkonfiguration. Dementsprechend kann der Boot-Code in 304 den Mikrocontroller 100 in Übereinstimmung mit den Konfigurationsdaten konfigurieren. Zum Beispiel werden Spannungspegel und Taktzeitgebungen oder Taktfrequenzen eingestellt, werden verfügbare Funktionen freigegeben, während nicht verfügbare Funktionen gesperrt werden (Trimmung) und Schlüssel installiert werden. Dies kann durch Schreiben in entsprechende Register 108 geschehen. Unter der Annahme, dass es mehrere Leistungsbereiche gibt und dass nicht alle von ihnen aktiviert zu werden brauchen, kann die Konfiguration, z. B. die Trimmung, auf Funktionsblöcke, die nach dem Aufwecken aktiv sind, beschränkt sein. Dies ermöglicht eine Verringerung der Boot-Zeit.
  • In 305 wendet der Boot-Code auf den Abschnitt, der die Konfigurationsdaten speichert, in den SRAM 102 einen magischen Code an. Dies können z. B. CRC-Bits (Bits einer zyklischen Redundanzprüfung) oder ein Hash-Wert sein, wobei sie für den Integritätsschutz der Konfigurationsdaten in dem SRAM 102 sowie als eindeutige Kennung, dass die Vorbereitung der NVM-losen Betriebsart abgeschlossen worden ist, dienen können. Alternativ oder zusätzlich kann in dem SRAM 102 eine Paritätsprüfung genutzt werden, um die Datenkonsistenz nach dem Aufwecken sicherzustellen.
  • Danach schützt der Boot-Code die Konfigurationsdaten in 306 in dem Bereitschaftsspeicher durch Hardware, z. B. mittels der Speicherzugriffsschutz-Hardware 107, bevor er die Steuerung an die Nutzersoftware übergibt und durch die Nutzersoftware nicht geändert werden kann.
  • Somit wird das NVM-lose Aufwecken in 307 abgeschlossen.
  • Ferner installiert die CPU 103 den Nutzeranwendungscode in dem SRAM 102, bevor sie in die Schlafbetriebsart eintritt. Daraufhin kann in die Schlafbetriebsart eingetreten werden, wobei die NVM-lose Aufweckbetriebsart konfiguriert wird. In der Schlafbetriebsart ist der größte Teil des Mikrocontrollers 100 mit Ausnahme der Aufwecklogik oder des Schlafcontrollers 106 und des SRAM 102, der die Konfigurationsdaten enthält, abgeschaltet.
  • 4 zeigt einen Ablaufplan 400, der das Aufwecken aus der Schlafbetriebsart darstellt.
  • In 401 startet der NVM-lose Aufweckprozess. Falls der Mikrocontroller 100 in 402 nicht aus der Schlafbetriebsart aufgeweckt werden sollte (z. B., falls eine Aufweckzeit 208 noch nicht erreicht ist), endet der NVM-lose Aufweckprozess in 409. Falls der Mikrocontroller 100 aufwachen sollte, aktiviert der Schlafcontroller 106 die CPU 103, die den Boot-Code auszuführen beginnt.
  • In 403 detektiert der Boot-Code, ob das NVM-lose Aufwecken freigegeben ist. Wenn es nicht freigegeben ist, wird der NVM-lose Aufweckprozess in 409 beendet. Wenn es freigegeben ist, durchsucht der Boot-Code in 404 den SRAM 102 nach dem magischen Code und prüft den magischen Code, um die Vorrichtungskonfiguration zu beginnen. Falls der magische Code nicht gültig ist (z. B. für die in dem SRAM 102 gespeicherten Konfigurationsdaten nicht richtig ist), löscht der Boot-Code in 407 die Konfigurationsdaten aus dem SRAM 102 und beendet er in 409 den NVM-losen Aufweckprozess.
  • Falls der magische Code gültig ist, installiert der Boot-Code in 405 die in dem SRAM 102 befindlichen Konfigurationsdaten in jeweiligen Registern 108, d. h. konfiguriert er den Mikrocontroller 102 in Übereinstimmung mit den Konfigurationsdaten (einschließlich z. B. der Vorrichtungstrimmung). Diese Vorrichtungskonfiguration wird auf der Grundlage des SRAM 102, d. h. auf der Grundlage der in dem SRAM 102 gespeicherten Konfigurationsdaten, ausgeführt.
  • In 406 führt der Boot-Code nach dem Installieren der Konfigurationsdaten einen Schreibschutz des Abschnitts des SRAM 102, der die Konfigurationsdaten speichert, in der Weise aus, dass er durch den Nutzeranwendungscode nicht geändert werden kann. Durch den Boot-Code kann ein weiterer Vorrichtungsschutz konfiguriert werden.
  • In 408 übergibt der Boot-Code die Steuerung des Mikrocontrollers 100 an die Nutzersoftware (d. h. an Nutzeranwendungscode), die sich in dem SRAM 102 befindet.
  • Zusammengefasst wird in Übereinstimmung mit verschiedenen Ausführungsformen eine Datenverarbeitungsvorrichtung, wie sie in 5 dargestellt ist, bereitgestellt.
  • 5 zeigt eine Datenverarbeitungsvorrichtung 500 in Übereinstimmung mit einer Ausführungsform.
  • Die Datenverarbeitungsvorrichtung 500 enthält einen nichtflüchtigen Speicher 501, der zum Speichern von Konfigurationsdaten 504 für die Datenverarbeitungsvorrichtung konfiguriert ist, und einen flüchtigen Speicher 502.
  • Ferner enthält die Datenverarbeitungsvorrichtung 500 ein Steuersystem 503, das zum Kopieren der Konfigurationsdaten aus dem nichtflüchtigen Speicher 501 in einen Abschnitt des flüchtigen Speichers 502, zum Sperren des Schreibens in den Abschnitt des flüchtigen Speichers 502 und zum Versetzen der Datenverarbeitungsvorrichtung 500 in eine Schlafbetriebsart, in der der nichtflüchtige Speicher 501 inaktiv ist und der flüchtige Speicher 502 aktiv ist, (z. B. in eine Datenhaltebetriebsart) konfiguriert ist.
  • Mit anderen Worten, in Übereinstimmung mit verschiedenen Ausführungsformen weist eine Datenverarbeitungsvorrichtung eine Schlafbetriebsart auf, in der ein nichtflüchtiger Speicher inaktiv ist, während ein flüchtiger Speicher aktiv ist (d. h. in ihm gespeicherte Daten aufbewahrt). Der flüchtige Speicher wird zum Speichern von Konfigurationsdaten (und weiteren Daten wie etwa Nutzeranwendungscode), die ursprünglich in dem nichtflüchtigen Speicher gespeichert sind, verwendet. Nach der Schlafbetriebsart kann die Datenverarbeitungsvorrichtung in eine Betriebsart mit weniger aktivem nichtflüchtigen Speicher eintreten, in der Bauelemente wie z. B. ein Prozessor der Datenverarbeitungsvorrichtung aktiv sind (z. B. ein Prozessor, der einen Nutzeranwendungscode ausführt, während er in der Schlafbetriebsart inaktiv ist, d. h. keine Anweisungen ausführt), während der nichtflüchtige Speicher weiterhin inaktiv ist (z. B. auf ihn nicht durch den Prozessor zugegriffen werden kann).
  • Die Schlafbetriebsart kann als eine Betriebsart verstanden werden, in der nur ein kleiner Abschnitt eines Systems (in diesem Fall z. B. die Aufweckereignis-Detektionslogik und der Haltespeicher des Datenverarbeitungssystems) mit Leistung versorgt bleibt, während der Rest des Systems abgeschaltet ist.
  • Dass der nichtflüchtige Speicher inaktiv ist, kann als ein Zustand verstanden werden, bei dem analoge Schaltungen des nichtflüchtigen Speichers wie Ladungspumpen usw. abgeschaltet sind. Ein interner Taktgeber und eine Steuerlogik des nichtflüchtigen Speichers können ebenfalls abgeschaltet sein. Außerdem kann ein On-Chip-Spannungsregler in die Leistungssparbetriebsart eintreten und die Erzeugung der Leistungsversorgung des nichtflüchtigen Speichers deaktivieren. Dass der nichtflüchtige Speicher inaktiv ist, z. B. einer Schlafbetriebsart des nichtflüchtigen Speichers entspricht, kann im Allgemeinen implementierungsspezifisch sein.
  • Der flüchtige Speicher kann ein regulärer Systemspeicher (oder Hauptspeicher) sein, der Daten während des Abschaltens des Systems (d. h. in der Schlafbetriebsart) halten kann. Zum Beispiel ist er ein spezieller SRAM mit einem internen Leistungsschalter, der eine Versorgung von einer Hauptspannungsquelle oder von einem in der Schlafbetriebsart aktiven Regler für äußerst niedrige Leistung ermöglicht.
  • Die anhand von 5 beschriebene Vorgehensweise ermöglicht eine einfache Implementierung auf der Grundlage eines Bereitschaftsspeicherschreibschutzes (d. h. eines Schreibschutzes eines flüchtigen Speichers) und eines Boot-Codes (der z. B. in einem Nur-Lese-Speicher gespeichert ist und durch einen Prozessor ausgeführt wird). Somit kann sie ohne spezielle Technologiemaßnahmen implementiert werden. Hinsichtlich Optimierungsoptionen kann das Aufwecken (aus der Schlafbetriebsart) z. B. durch eine Vorrichtungskonfigurationsoptimierung beschleunigt werden, wobei z. B. die Firmwarekomplexität (z. B. die Komplexität des Boot-Codes) optimiert werden kann, z. B. eine Code-Leistungsfähigkeitsoptimierung ausgeführt werden kann.
  • Die (ursprünglich) in dem nichtflüchtigen Speicher gespeicherten Konfigurationsdaten, die z. B. Sicherheits- und Produktmarketingoptionen enthalten können, können geschützt sein und bei einem Aufwachen aus der Schlafbetriebsart sicher installiert werden.
  • Die Datenverarbeitungsvorrichtung 500 führt z. B. ein wie in 6 dargestelltes Verfahren zum Einsparen von Leistung in einer Datenverarbeitungsvorrichtung aus.
  • 6 zeigt einen Ablaufplan 600 in Übereinstimmung mit einer Ausführungsform.
  • In 601 werden Konfigurationsdaten aus einem nichtflüchtigen Speicher einer Datenverarbeitungsvorrichtung in einen Abschnitt eines flüchtigen Speichers der Datenverarbeitungsvorrichtung kopiert.
  • In 602 wird das Schreiben in den Abschnitt des flüchtigen Speichers gesperrt.
  • In 603 wird die Datenverarbeitungsvorrichtung in eine Schlafbetriebsart versetzt, in der der nichtflüchtige Speicher inaktiv ist und der flüchtige Speicher aktiv ist.

Claims (19)

  1. Datenverarbeitungsvorrichtung, die Folgendes umfasst: einen nichtflüchtigen Speicher, der zum Speichern von Konfigurationsdaten für die Datenverarbeitungsvorrichtung konfiguriert ist; einen flüchtigen Speicher; und ein Steuersystem, das zu Folgendem konfiguriert ist: Kopieren der Konfigurationsdaten aus dem nichtflüchtigen Speicher in einen Abschnitt des flüchtigen Speichers, Sperren des Schreibens in den Abschnitt des flüchtigen Speichers, und Versetzen der Datenverarbeitungsvorrichtung in eine Schlafbetriebsart, in der eine oder mehrere Komponenten des nichtflüchtigen Speichers abgeschalten oder in eine Leistungssparbetriebsart versetzt sind und der flüchtige Speicher aktiv ist.
  2. Datenverarbeitungsvorrichtung nach Anspruch 1, wobei der flüchtige Speicher ein Systemspeicher der Datenverarbeitungsvorrichtung ist.
  3. Datenverarbeitungsvorrichtung nach Anspruch 1 oder 2, wobei der flüchtige Speicher ein statischer Schreib-Lese-Speicher ist.
  4. Datenverarbeitungsvorrichtung nach einem der Ansprüche 1 bis 3, wobei, dass der flüchtige Speicher aktiv ist, umfasst, dass der flüchtige Speicher in dem flüchtigen Speicher gespeicherte Daten hält.
  5. Datenverarbeitungsvorrichtung nach einem der Ansprüche 1 bis 4, wobei der flüchtige Speicher mehrere Speicherzellen umfasst, wobei jede Speicherzelle einen Zustand aufweist, der einem durch die Speicherzelle gespeicherten Bitwert entspricht, und wobei, dass der flüchtige Speicher aktiv ist, umfasst, dass die Speicherzelle mit Leistung versorgt wird, um den Zustand beizubehalten.
  6. Datenverarbeitungsvorrichtung nach einem der Ansprüche 1 bis 5, wobei die Datenverarbeitungsvorrichtung einen Prozessor umfasst und wobei das Steuersystem ferner dafür konfiguriert ist, die Datenverarbeitungsvorrichtung in eine Betriebsart mit weniger aktivem nichtflüchtigen Speicher zu versetzen, in der eine oder mehrere Komponenten des nichtflüchtigen Speichers abgeschalten oder in eine Leistungssparbetriebsart versetzt sind, der flüchtige Speicher aktiv ist und der Prozessor aktiv ist.
  7. Datenverarbeitungsvorrichtung nach Anspruch 6, wobei die Datenverarbeitungsvorrichtung eine Aufweckschaltung umfasst, die dafür konfiguriert ist, die Datenverarbeitungsvorrichtung in Reaktion auf ein Aufweckereignis in die Betriebsart mit weniger aktivem nichtflüchtigen Speicher zu versetzen.
  8. Datenverarbeitungsvorrichtung nach Anspruch 6 oder 7, wobei das Steuersystem dafür konfiguriert ist, die Datenverarbeitungsvorrichtung in Übereinstimmung mit den in dem flüchtigen Speicher gespeicherten Konfigurationsdaten zu konfigurieren, wenn die Datenverarbeitungsvorrichtung aus der Schlafbetriebsart in die Betriebsart mit weniger aktivem nichtflüchtigen Speicher versetzt wird.
  9. Datenverarbeitungsvorrichtung nach Anspruch 8, wobei die Datenverarbeitungsvorrichtung ein oder mehrere Konfigurationsregister umfasst und wobei das Steuersystem dafür konfiguriert ist, die Datenverarbeitungsvorrichtung durch Speichern von den Konfigurationsdaten entsprechenden Informationen in den Registern zu konfigurieren.
  10. Datenverarbeitungsvorrichtung nach Anspruch 9, wobei die Register dafür konfiguriert sind, in der Schlafbetriebsart ihren Inhalt zu verlieren.
  11. Datenverarbeitungsvorrichtung nach einem der Ansprüche 6 bis 10, wobei das Steuersystem dafür konfiguriert ist, das Schreiben in den Abschnitt des flüchtigen Speichers zu sperren, wenn die Datenverarbeitungsvorrichtung aus der Schlafbetriebsart in die Betriebsart mit weniger aktivem nichtflüchtigen Speicher versetzt wird.
  12. Datenverarbeitungsvorrichtung nach einem der Ansprüche 6 bis 11, wobei der Prozessor in der Betriebsart mit weniger aktivem nichtflüchtigen Speicher dafür konfiguriert ist, in dem flüchtigen Speicher gespeicherten Nutzeranwendungscode auszuführen.
  13. Datenverarbeitungsvorrichtung nach Anspruch 12, wobei der nichtflüchtige Speicher dafür konfiguriert ist, den Nutzeranwendungscode zu speichern, und wobei das Steuersystem dafür konfiguriert ist, die Nutzeranwendung aus dem nichtflüchtigen Speicher in den flüchtigen Speicher zu kopieren.
  14. Datenverarbeitungsvorrichtung nach Anspruch 13, wobei das Steuersystem dafür konfiguriert ist, die Nutzeranwendung aus dem nichtflüchtigen Speicher in den flüchtigen Speicher zu kopieren, bevor die Datenverarbeitungsvorrichtung in die Schlafbetriebsart versetzt wird.
  15. Datenverarbeitungsvorrichtung nach einem der Ansprüche 1 bis 14, wobei das Steuersystem einen Prozessor umfasst, der einen Boot-Code ausführt.
  16. Datenverarbeitungsvorrichtung nach einem der Ansprüche 1 bis 15, die einen Nur-Lese-Speicher umfasst, der zum Speichern des Boot-Codes konfiguriert ist.
  17. Datenverarbeitungsvorrichtung nach einem der Ansprüche 1 bis 16, wobei das Steuersystem eine Zustandsmaschine umfasst, die einen ersten Zustand aufweist, der der Schlafbetriebsart entspricht, und die einen zweiten Zustand aufweist, der einer Betriebsart mit weniger aktivem nichtflüchtigen Speicher entspricht, in der eine oder mehrere Komponenten des nichtflüchtigen Speichers abgeschalten oder in eine Leistungssparbetriebsart versetzt sind und ein Prozessor der Datenverarbeitungsvorrichtung aktiv ist.
  18. Datenverarbeitungsvorrichtung nach einem der Ansprüche 1 bis 17, wobei das Steuersystem ferner dafür konfiguriert ist, zusammen mit den Konfigurationsdaten einen Integritätsüberprüfungswert in dem nichtflüchtigen Speicher zu speichern, und ferner dafür konfiguriert ist, nach Verlassen der Schlafbetriebsart auf der Grundlage des Integritätsüberprüfungswerts die Integrität der Konfigurationsdaten zu prüfen und auf der Grundlage dessen, ob die Integritätsprüfung der Konfigurationsdaten bejahend ist, die Konfiguration der Daten zu ermöglichen.
  19. Verfahren zum Einsparen von Leistung in einer Datenverarbeitungsvorrichtung, wobei das Verfahren Folgendes umfasst: Kopieren von Konfigurationsdaten aus einem nichtflüchtigen Speicher einer Datenverarbeitungsvorrichtung in einen Abschnitt eines flüchtigen Speichers der Datenverarbeitungsvorrichtung, Sperren des Schreibens in den Abschnitt des flüchtigen Speichers, und Versetzen der Datenverarbeitungsvorrichtung in eine Schlafbetriebsart, in der eine oder mehrere Komponenten des nichtflüchtigen Speichers abgeschalten oder in eine Leistungssparbetriebsart versetzt sind und der flüchtige Speicher aktiv ist.
DE102016109892.2A 2016-05-30 2016-05-30 Datenverarbeitungsvorrichtung und Verfahren zum Einsparen von Leistung in einer Datenverarbeitungsvorrichtung Active DE102016109892B4 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102016109892.2A DE102016109892B4 (de) 2016-05-30 2016-05-30 Datenverarbeitungsvorrichtung und Verfahren zum Einsparen von Leistung in einer Datenverarbeitungsvorrichtung
US15/607,710 US10303386B2 (en) 2016-05-30 2017-05-30 Data processing device and method for saving power in a data processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102016109892.2A DE102016109892B4 (de) 2016-05-30 2016-05-30 Datenverarbeitungsvorrichtung und Verfahren zum Einsparen von Leistung in einer Datenverarbeitungsvorrichtung

Publications (2)

Publication Number Publication Date
DE102016109892A1 DE102016109892A1 (de) 2017-11-30
DE102016109892B4 true DE102016109892B4 (de) 2018-03-01

Family

ID=60269141

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016109892.2A Active DE102016109892B4 (de) 2016-05-30 2016-05-30 Datenverarbeitungsvorrichtung und Verfahren zum Einsparen von Leistung in einer Datenverarbeitungsvorrichtung

Country Status (2)

Country Link
US (1) US10303386B2 (de)
DE (1) DE102016109892B4 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10948970B2 (en) * 2018-03-30 2021-03-16 Dialog Semiconductor B.V. Low power microcontroller
US10684913B2 (en) * 2018-04-25 2020-06-16 Dell Products L.P. Systems and methods for detecting errors and/or restoring non-volatile random access memory using error correction code
US11720281B2 (en) * 2020-12-11 2023-08-08 Micron Technology, Inc. Status information retrieval for a memory device
TWI790077B (zh) 2022-01-03 2023-01-11 財團法人工業技術研究院 基於感測資料調整休眠時間的方法及電子裝置
CN116909495B (zh) * 2023-09-14 2023-12-15 合肥康芯威存储技术有限公司 一种存储装置及其控制方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020116651A1 (en) 2000-12-20 2002-08-22 Beckert Richard Dennis Automotive computing devices with emergency power shut down capabilities
US20080022108A1 (en) 2006-06-27 2008-01-24 Brannock Kirk D Method and apparatus for verifying authenticity of initial boot code
US7681057B2 (en) 2001-09-28 2010-03-16 Lexar Media, Inc. Power management of non-volatile memory systems
US20110022826A1 (en) 2009-07-22 2011-01-27 More Grant M Power management apparatus and methods

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070112899A1 (en) * 2005-11-14 2007-05-17 Edwards Matthew F Method and apparatus for fast boot of an operating system
US7996689B2 (en) * 2006-06-12 2011-08-09 Semiconductor Manufacturing International (Shanghai) Corporation System and method for power control for ASIC device
JP2008090436A (ja) * 2006-09-29 2008-04-17 Toshiba Corp 情報処理装置およびシステム状態制御方法。
US8041848B2 (en) * 2008-08-04 2011-10-18 Apple Inc. Media processing method and device
EP2895935A4 (de) * 2012-09-14 2016-05-11 Intel Corp Verfahren und vorrichtung zum schutz von speicherbereichen während niedrigleistungszuständen

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020116651A1 (en) 2000-12-20 2002-08-22 Beckert Richard Dennis Automotive computing devices with emergency power shut down capabilities
US7681057B2 (en) 2001-09-28 2010-03-16 Lexar Media, Inc. Power management of non-volatile memory systems
US20080022108A1 (en) 2006-06-27 2008-01-24 Brannock Kirk D Method and apparatus for verifying authenticity of initial boot code
US20110022826A1 (en) 2009-07-22 2011-01-27 More Grant M Power management apparatus and methods

Also Published As

Publication number Publication date
US20170344302A1 (en) 2017-11-30
DE102016109892A1 (de) 2017-11-30
US10303386B2 (en) 2019-05-28

Similar Documents

Publication Publication Date Title
DE102016109892B4 (de) Datenverarbeitungsvorrichtung und Verfahren zum Einsparen von Leistung in einer Datenverarbeitungsvorrichtung
DE60317347T2 (de) Speicherschaltung mit nichtflüchtigem ram und ram
DE112015006117B4 (de) Halbleiterlaufwerk mit selbstaktualisierungsenergiesparmodus
EP1612648B1 (de) Konfiguration von Bauelementen bei einem Übergang von einem Niedrigleistungs-Betriebsmodus in einen Normalleistungs-Betriebsmodus
DE19615956C2 (de) Ein nicht-flüchtiger, an einen DRAM-Bus anschließbarer Halbleiterspeicher und Verfahren zu dessen Betrieb
DE602004002300T2 (de) Selektive bankauffrischung
DE102007039844A1 (de) Flashspeicherelement und Speichersystem
DE112021000648T5 (de) Speichervorrichtung, die gegen cyber-angriffe und fehlfunktionen widerstandsfähig ist
DE102004039178B4 (de) Speichersteuerschaltung, Smartcard und Lesesteuerverfahren
DE10052877A1 (de) Mikrocontroller
DE69722100T2 (de) Modulares batteriesicherungssystem für cachespeicher
DE102007061406A1 (de) Verfahren zum Betreiben eines nichtflüchtigen Speicherelements, nichtflüchtiges Speicherelement und Speicherkarte
DE102018204864A1 (de) Technologie zum Ermöglichen eines schnellen Bootens mit einem schnellen und langsamen nichtflüchtigen Speicher
DE112017005167T5 (de) Ladungspumpenschaltungen mit schneller rampe und niedriger versorgung
EP1262856B1 (de) Programmgesteuerte Einheit
EP3218812B1 (de) Verfahren und speicherverwaltungsvorrichtung zum übertragen von daten innerhalb eines computer-systems, speichersystem und computer-system
DE112021002897T5 (de) Verfahren und vorrichtung zum sichern von speichermodulen
DE112017004919T5 (de) Bestimmung der Abgrenzungsspannung zur Handhabung von Drift in nichtflüchtigen Speichergeräten
DE102022102434A1 (de) Flüchtiges Register zum Erkennen eines Stromverlusts
DE102004060579B4 (de) Verfahren und Vorrichtung zum Steuern von Auffrischzyklen eines Mehrzyklusauffrischschemas bei einem dynamischen Speicher
DE10341556B4 (de) Niedrigleistungsmodusindikator
DE112019000413T5 (de) Sicherheitserweiterung für Speichersteuerungen
DE112007003117T5 (de) Neue Implementierung der Spaltenredundanz für einen Flash-Speicher mit einem hohen Schreibparallelismus
DE602004003677T2 (de) Bootsteuersystem
DE102020129889B3 (de) Spannungsüberwachungsschaltkreis und Verfahren zum Überwachen einer Spannung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0001320000

Ipc: G06F0001328700

R082 Change of representative