DE102021117226A1 - Konfigurierbarer reduzierter speicherstart - Google Patents

Konfigurierbarer reduzierter speicherstart Download PDF

Info

Publication number
DE102021117226A1
DE102021117226A1 DE102021117226.8A DE102021117226A DE102021117226A1 DE 102021117226 A1 DE102021117226 A1 DE 102021117226A1 DE 102021117226 A DE102021117226 A DE 102021117226A DE 102021117226 A1 DE102021117226 A1 DE 102021117226A1
Authority
DE
Germany
Prior art keywords
ranks
memory
banks
configuration
user interface
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
DE102021117226.8A
Other languages
English (en)
Inventor
Karunakara Kotary
Pannerkumar Rajagopal
Satish Muthiyalu
Rajesh Poornachandran
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of DE102021117226A1 publication Critical patent/DE102021117226A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4403Processor initialisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1684Details of memory controller using multiple buses
    • 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/3212Monitoring battery levels, e.g. power saving mode being initiated when battery voltage goes below a certain level
    • 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/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0873Mapping of cache memory to specific storage devices or parts thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4081Live connection to bus, e.g. hot-plugging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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/451Execution arrangements for user interfaces
    • 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/40622Partial refresh of memory arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0024Peripheral component interconnect [PCI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express
    • 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)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Power Sources (AREA)
  • Stored Programmes (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

Systeme, Vorrichtungen und Verfahren können Technologie bereitstellen, die während einer Boot-Sequenz einen ersten Satz von Rängen in einem Speichermodul basierend auf einem Batteriestatus und einer Benutzerschnittstelle aktiviert und während der Boot-Sequenz einen zweiten Satz von Rängen in dem Speichermodul basierend auf dem Batteriestatus und der Benutzeroberfläche deaktiviert. Die Technologie kann auch eine Abbildung zwischen einem Systemadressraum und einem ersten Satz von Bänken in dem ersten Satz von Rängen erzeugen und einen zweiten Satz von Bänken in dem ersten Satz von Rängen aus der Abbildung ausschließen.

Description

  • QUERVERWEIS AUF VERWANDTE ANMELDUNGEN
  • Die vorliegende Anmeldung beansprucht den Vorteil der Priorität der indischen vorläufigen Patentanmeldung Nr. 2020041033777 , eingereicht am 6. August 2020.
  • TECHNISCHES GEBIET
  • Ausführungsformen betreffen im Allgemeinen Computerspeicher. Insbesondere betreffen Ausführungsformen konfigurierbaren reduzierten Speicherstart für effiziente Dienstgüte (QoS) auf Rechenplattformen.
  • HINTERGRUND
  • Mit zunehmendem Bedarf an mehr Speicherbedarf von Endbenutzern entwerfen Hersteller moderner Recheneinrichtungen Recheneinrichtungen, wie etwa Laptops, Desktops, Serversysteme und Telefone, mit großem Speicherumfang. Zusätzlich zu erhöhten Stücklisten (BOM)-Kosten der Plattform existieren andere signifikante Herausforderungen, einschließlich erhöhten TCO (Betriebskosten, z. B. Leistungsverbrauch, um den großen Plattformspeicher in Betrieb zu halten, unabhängig von Nutzung/Bedürfnissen), Energiezertifizierungsanforderungen (z. B. Einhaltung von SERT®), erhöhte Defektanzahl aufgrund eines signifikanten Speicherumfangs, langsamere Boot-Zeit aufgrund von Engpässen, die mit Speichertraining assoziiert sind, erhöhte Anforderungen an die Restbatterie, um alle bestückten Speicherbänke einzuschalten, usw. Diese Herausforderungen können sowohl in Client-Vorrichtungen (z. B. mit begrenzten Batterien, Formfaktoren) als auch in Servern (TCO, Energiekonformität usw.) problematisch sein.
  • Figurenliste
  • Die verschiedenen Vorteile der Ausführungsformen werden einem Fachmann durch Lesen der folgenden Beschreibung und der beigefügten Ansprüche und durch Bezugnahme auf die folgenden Zeichnungen ersichtlich, in denen Folgendes gilt:
    • 1 ist ein Blockdiagramm eines Beispiels für eine Zustandsmaschine gemäß einer Ausführungsform;
    • 2 ist ein Flussdiagramm eines Beispiels für einen Boot-Ablauf gemäß einer Ausführungsform;
    • 3 ist ein Flussdiagramm eines Beispiels für einen Operationsablauf gemäß einer Ausführungsform;
    • 4 ist ein Flussdiagramm eines Beispiels für einen Operationsablauf zum Deaktivieren von Aktualisierungen an unbenutzten Rängen gemäß einer Ausführungsform;
    • 5 ist eine Veranschaulichung eines Beispiels für einen Operationsablauf zum Übergang von konfigurierbarem Min-Memory-Start (CMMS) in einen Normalmodus gemäß einer Ausführungsform;
    • 6 ist ein Flussdiagramm eines Beispiels für ein Verfahren zum Betreiben eines Basic Input Output Systems (BIOS) in einem leistungsverbesserten Rechensystem gemäß einer Ausführungsform;
    • 7 ist ein Flussdiagramm eines Beispiels für ein Verfahren zum Betreiben einer Speichersteuerung in einem leistungsverbesserten Rechensystem;
    • 8 ist ein Flussdiagramm eines Beispiels für ein Verfahren zum Übergang in den Normalmodus gemäß einer Ausführungsform;
    • 9 ist ein Blockdiagramm eines Beispiels für ein leistungsverbessertes Rechensystem gemäß einer Ausführungsform;
    • 10 ist eine Veranschaulichung eines Beispiels für eine Halbleitervorrichtung gemäß einer Ausführungsform;
    • 11 ist ein Blockdiagramm eines Beispiels für einen Prozessor gemäß einer Ausführungsform; und
    • 12 ist ein Blockdiagramm eines Beispiels für ein multiprozessorbasiertes Rechensystem gemäß einer Ausführungsform.
  • BESCHREIBUNG VON AUSFÜHRUNGSFORMEN
  • Existierende Lösungen können einen gesamten Systemspeicher während des System-Bootens oder des aktiven Betriebs unabhängig vom Umfang der aktiven Speichernutzung in einem vollständig funktionalen Modus halten. Der Selbst-Aktualisierungsmodus ist der einzige Leistungssparmodus, der weit verbreitet ist, wenn das System in einen Niedrigleistungszustand übergeht. Existierenden Lösungen fehlt effizientes Min-Memory-Management, was zu erhöhtem TCO, Energiezertifizierungsproblemen, erhöhtem DPM (Fehler pro Million) führt.
  • Dementsprechend kann sich die Qualität verringern, das Booten kann langsamer sein, und die Verwendung einer begrenzten Restbatterie in Mobileinrichtungen kann weniger effizient sein.
  • Ausführungsformen schlagen einen konfigurierbaren Min-Memory-Start (CMMS) für effiziente QoS (Dienstgüte) auf Rechenplattformen vor, der die obigen Herausforderungen mit großem Speicher über Client-Einrichtungen, IoT (Internet der Dinge)-Komponenten, Edge-Einrichtungen und Cloud-Konfigurationen behandelt. Infolgedessen werden signifikante Plattformverbesserungen sowie ein besserer TCO für Kunden/Partner bereitgestellt.
  • Ausführungsbeispiele befassen sich mit der Frage, ob Speicher in allen Szenarien von allen Endbenutzern in größtmöglichem Umfang genutzt werden. In manchen Szenarien können nur wenige Benutzer den Speicher vollständig nutzen (z. B. wird der Speicher den größten Teil der Zeit möglicherweise nicht vollständig genutzt).
  • Die CMMS-Technologie beinhaltet:
    • - System-OS (Betriebssystem)-Einstellungen oder Systemmanagementeinstellungen, die eine Benutzerschnittstelle bereitstellen, um den CMMS-Modus zu konfigurieren/anzupassen. Systemadministratoren/Benutzer können eine Auswahl einer Speicherbankkonfiguration bereitstellen, die während des Bootens oder Nach-Bootens für effizientes Plattform-Booten mit begrenzten Restbatterieschwellenwerten einzuschalten ist.
    • - Ein Leistungsliefersystem (PMIC/Power Management Integrated Circuit, P-Einheit) mit der Fähigkeit, einen Restbatterieladezustand und eine Ladestromstärke zu erfassen, um die Mindest-Plattformspeicherkonfigurationsblöcke zu bestimmen, die EIN geschaltet werden, um die Einrichtung so bald wie möglich im CMMS-Modus einzuschalten, ohne die Einrichtung zu beeinträchtigen.
    • - Einen frühen UEFI (Unified Extensible Firmware Interface)-PI (Plattforminitialisierungs)-Treiber, der bei einem Neustart die Mobileinrichtungsbatterie überwacht:
  • Falls die Batterie normal ist, kann die Technologie die gesamte Hardware starten und das mobile Haupt-OS aufrufen.
  • Andernfalls, falls < normale Batterie, Lesen der EFI_MIN_MEMORY_STARTUP_POLICY und Bestromen nur der Elemente, die entsprechende Konfigurationsbits als gesetzt aufweisen.
    • - Die UEFI kennt den CMMS-Modus und zeigt den Treibern die Verfügbarkeit geeigneter Speicherressourcen in der Plattform. Dementsprechend wird der gesamte System-Stack von der FW (Firmware) bis zur UI (Benutzerschnittstelle) dynamisch so zugeschnitten, dass er sich im CMMS-Modus befindet.
    • - Unterstützung eines nahtlosen dynamischen Übergangs von dem CMMS-Modus zu dem Haupt-OS-Betriebsmodus mit voller Merkmals- und Einrichtungsunterstützung, sobald ausreichende Batterie- und Wärmeschwellenwerte erreicht sind, ohne dass ein Neustart erforderlich ist.
  • Im Folgenden ist eine beispielhafte Konfiguration während des Laufs in der frühen Umgebung dargestellt:
    • falls Batterie < kritisch und Batterie nicht lädt, Abschalten;
    • falls Batterie < kritisch und Batterie lädt, Booten in den Lademodus;
    • falls Batterie > Anforderung für CMMS, Booten in den MPS (Min Power Startup)-Modus;
    • falls Batterie > Anforderung für normales Booten, Booten in den Normalmodus.
  • Die CMMS-Technologie beinhaltet, dass das System Schlüsselspeicherbänke identifiziert, um ein schnelles Booten basierend auf UEFI-BIOS-Nutzungsmusterheuristiken für eine Vielzahl von CMMS-Profilen zu unterstützen.
  • Die CMMS-Technologie stellt maximale Leistungseinsparungen bereit und verlängert die Batterielebensdauer für Anwendungsfälle, bei denen Leistung wichtiger ist und zusätzlicher Speicher nicht kritisch ist. Die CMMS-Technologie ermöglicht auch eine Verlängerung der Batterielebensdauer bei Szenarien mit schwacher Batterie. Darüber hinaus kann die CMMS-Technologie verwendet werden, um Energiezertifizierungen zu erhalten. Zusätzliche Vorteile beinhalten insgesamt verbesserte TCO-Einsparungen, schnelleres Booten, optimales Booten und skalierbare Speicherkonfiguration basierend auf Systemerfordernissen (e.g., dynamische Schaltvorgänge von CMMS in den Normalmodus), Aktivieren eines Hot Swap von Speicher mit unkorrigierbaren Fehlern, dadurch, dass er sich im CMMS-Modus befindet (z. B. Vermeiden der Verwendung spezieller Bänke) und so weiter.
  • 1 zeigt die Systemarchitektur und die Zustandsmaschine 21 für den vorgeschlagenen CMMS-Modus. Bei dem veranschaulichten Beispiel überführt ein Einschaltereignis das System von einem Aus-Zustand 20 in einen ersten Zustand 22, in dem der UEFI den Restbatteriepegel bestimmt. Falls der Restbatteriepegel kleiner als ein kritischer Schwellenwert ist, geht das System von dem ersten Zustand 22 zurück in den Aus-Zustand 20 über. Falls der Restbatteriepegel größer als der kritische Schwellenwert, aber kleiner als ein Schwellenwert für normales Booten und größer als ein Mindest-Leistungsstartschwellenwert ist, geht das System von dem ersten Zustand 22 in einen zweiten Zustand 24 über, der einer CMMS-Konfiguration entspricht (z. B. schaltet die PMIC/P-Einheit automatisch die Leistung zu den Schienen aus). Wenn der Batteriepegel sowohl den kritischen Schwellenwert als auch den Schwellenwert für normales Booten überschreitet, geht das System von dem zweiten Zustand 24 in einen dritten Zustand 26 über, der der normalen Boot-Konfiguration entspricht. Das System kann auch als Reaktion darauf, dass der Batteriepegel sowohl den kritischen Schwellenwert als auch den Schwellenwert für normales Booten überschreitet, von dem ersten Zustand 22 in den dritten Zustand 26 übergehen. Bei einer Ausführungsform bewirkt das Fallen des Batteriepegels unter den kritischen Schwellenwert, dass das System von dem zweiten Zustand 24 oder von dem dritten Zustand 26 in den Aus-Zustand 20 übergeht.
  • 2 zeigt den High-Level-Boot-Operationsablauf 30 (wobei z. B. die mittleren Blöcke eine neue und vorteilhafte Funktionalität repräsentieren). Bei dem veranschaulichten Beispiel tritt bei dem Block 32 ein EIN-Schaltereignis auf, bei dem das BIOS die Steuerung erhält und bei dem Block 34 den Minimalleistungsmodus startet. Bei einer Ausführungsform begrenzt der Block 36 die Speicherabbildungs-BIOS-Verwendung auf wenige Segmente. Zusätzlich dazu kann der Block 38 das unbenutzte Speichersegment im PASR (Partial Array Self-Refresh)-Modus halten, Aktualisierungen deaktivieren oder das unbenutzte Speichersegment vollständig ausschalten. Der Block 40 kann den Rest der Pre-Boot-Phase fortsetzen, wobei der Block 42 zu dem Lade-OS bootet.
  • 3 zeigt einen Prozess 50 von der Benutzerschnittstelle zur UEFI-Konfigurationsplattform PMIC für den CMMS-Modus. Bei dem veranschaulichten Beispiel werden bei dem Block 52 Wärme- und Leistungsstartkonfigurationseinstellungen eingerichtet. Der veranschaulichte Block 54 führt ein Wärme- und Leistungsmanagement durch, was Austauschen von Thermistorwerten mit einem PMIC-BLOCK 56, der mit einer Batterie- und Ladeeinheit 58 gekoppelt ist, beinhalten kann. Der Block 54 sendet eine Wärme-„Kredit“ (z. B. Burst-Deaktivierungs)-Nachricht an einen P-Einheit-Block 60. Bei einer Ausführungsform schaltet der Block 60 einen oder mehrere IP (Intellectual Property)-Blöcke (z. B. Funktionsdomänen) basierend auf dem Boot-Modus hoch und setzt den einen oder die mehreren IP-Blöcke so ein, dass sie bei einer spezifizierten Frequenz arbeiten. Der P-Einheit-Block 60 kann eine Leistungszustandsnachricht an einen Leistungsmanagementblock 62 senden.
  • Bei einem Beispiel tauscht der PMIC-Block 56 Boot-Modus-Informationen mit einer UEFI 64 (64a - 64g) aus. Der UEFI-Block 64a bestimmt den Restbatteriepegel, wobei bei dem UEFI-Block 64b bestimmt werden kann, ob der Batteriestand für den normalen Betriebsmodus ausreichend ist. Falls ja, legt der UEFI-Block 64c den Boot-Modus auf den normalen Vollleistungsmodus fest, und der UEFI-Block 64d zeigt die angemessene IP-Blockkonfiguration (z. B. basierend auf dem gewählten Boot-Modus) dem OS und/oder den Treibern. Falls der UEFI-Block 64b bestimmt, dass der Batteriepegel für den normalen Betriebsmodus unzureichend ist, bestimmt der UEFI-Block 64e, ob der Batteriepegel für den CMMS-Start ausreichend ist. Falls der Batteriepegel für den CMMS-Start ausreichend ist, kann der UEFI-Block 64f den Boot-Modus auf CMMS setzen, und der Ablauf fährt mit dem UEFI-Block 64d fort. Falls der UEFI-Block 64e bestimmt, dass der Batteriepegel für den CMMS-Start unzureichend ist, kann der UEFI-Block 64g zum Lade-OS booten.
  • 5 zeigt einen beispielhaften Boot-Ablauf 70 im CMMS-Modus versus dem Normalmodus und einen Übergang vom CMMS zum Normalmodus. Bei dem veranschaulichten Beispiel verwendet eine Pre-EFI-Initialisierung (PEI) 72 eine Restbatterie und eine Mindestleistungsrichtlinie. Außerdem betreiben eine Transient System Load (TSL) und Laufzeit (RT)-Sequenz 74 einen finalen OS-Boot-Loader, eine finale OS-Umgebung und eine OS-Present-Anwendung.
  • Ein beispielhafter CMMS-Modus beinhaltet die folgenden Leistungssparkonfigurationen:
  • Deaktivieren von Aktualisierungen an unbenutzten Rängen/Bänken (Figur 4)
  • Speicherreferenzcode (MRC, z. B. Speicherinitialisierungscode) kann Aktualisierungen an unbenutzten Rängen deaktivieren (z. B. die unbenutzten Ränge trainieren, aber Aktualisierungen deaktiviert halten). Da die unbenutzten Ränge nicht zum Booten verwendet werden, kann eine Auffrischung nur beim Handoff an das OS aktiviert werden. Diese Funktionalität kann auch mit einer Änderung der Speichersteuerung (MC) erreicht werden. Zum Beispiel überwacht der MC den Verkehr zu jeder Bank/Rang. Gemäß JEDEC (Joint Electron Device Engineering Council) ist eine Bank ein Speicherblock innerhalb eines DRAM (dynamischer Direktzugriffsspeicher)-Chips, während ein Rang ein Speicherblock auf einem Modul ist (was z. B. früher als zweiseitiges Modul oder Zweibank-Modul bezeichnet wurde, kann nun als Zweirang-Modul bezeichnet werden). Falls eine Bank/Rang keinen einzelnen Schreibbefehl angetroffen hat, dann kann der MC intelligent Strom sparen, indem er keine Auffrischungen an solche Bänke/Ränge ausgibt, da es keinen gültigen Inhalt gibt.
  • Eine Änderung der Scheduler-Logik in der Speichersteuerung (MC) kann Schreibvorgänge in Bänke und/oder Ränge verfolgen und Aktualisierungen und Selbst-Aktualisierungen nur dann aktivieren, falls die Bank oder der Rang einen Schreibvorgang angetroffen hat. Bei den existierenden Lösungen kann eine SW (Software)-Steuerung zum Aktivieren/Deaktivieren der Aktualisierung auf einer Rangstufe verfügbar sein. Mit der vorgeschlagenen Änderung kann der MC entscheiden, Aktualisierungen an der Bankgranularität zu steuern, was mehr Leistungseinsparungen bereitstellt (z. B. könnte eine Systemimplementierung zwei unterschiedliche Speicherabbildungsschemata einsetzen - eines für Szenarien mit schwacher Batterie/hoher Leistungseinsparung und ein anderes für Szenarien mit regulärem Booten/Performance).
  • Das leistungssparende Speicherabbildungsschema kann wählen, den zusammenhängenden Block DRAM-Raum von nur wenigen Bänken in dem Rang auf den Systemadressraum abzubilden. In diesem Fall plant die Speichersteuerung „Schreiben“ (Schreiboperationen) nur auf die wenigen Bänke, die dem Systemraum zugeordnet sind. Alle anderen Bänke wären leer, und es hätten keine Schreibvorgänge in Bezug auf diese Bänke stattgefunden. Die modifizierte Speichersteuerungs-Schedulerlogik deaktiviert Aktualisierungen an den Bänken, die keinen Schreibvorgang gesehen haben. Somit wird mehr Leistung eingespart als bei existierenden Lösungen, wenn ein Rang aktiv verwendet wird - mehr Leistungseinsparungen, die daher stammen, dass eine Teilmenge von Bänken in einem Rang nicht aktualisiert wird.
  • Ein elektronischer Leistungssteuerschalter kann in dem Leistungsversorgungspfad zu einzelnen Rängen in dem DIMM oder der Plattform hinzugefügt werden. Dieser Schalter aktiviert SW (z. B. BIOS), um Leistung zu ungenutzten Rängen innerhalb eines DIMM (Dual-Inline-Speichermodul) oder eines DIMM als Ganzes (falls z. B. durch die Plattformimplementierung unterstützt) vollständig zu deaktivieren.
  • Rang oder DIMM vollständig herunterfahren
  • Für eine Speicherabschaltkonfiguration können die DRAM-Einrichtungen (und somit die Ränge) ausgeschaltet werden (z. B. unter Verwendung von Plattformsteuerung). Für ein DIMM können Änderungen an der DIMM-Spezifikation vorgenommen werden, um unabhängige Leistungssteuerung für einzelne Ränge bereitzustellen. Plattformänderungen können vorgenommen werden, um Leistung für einzelne DIMMs unabhängig zu steuern, um Abschalten des DIMM-Levels durchzuführen. Ein Nachteil eines solchen Ansatzes kann sein, dass beim Einschalten möglicherweise eine JEDEC-Initialisierungssequenz benötigt wird, um DRAMs zu initialisieren (z. B. kann etwas Mindesttraining basierend auf dem DIMM-Typ durchgeführt werden). Ein solcher Ansatz kann daher mehr Latenz mit sich bringen. Eine der möglichen Optionen zum Abschwächen hoher Latenz besteht darin, die Initialisierungsvektoren zwischenzuspeichern und die zwischengespeicherten Vektoren über Konfigurationsmodi/-profile hinweg wiederzuverwenden.
  • Um Richtlinieninformationen mit der Plattform gemeinsam zu nutzen, kann folgendes Richtlinienobjekt definiert werden:
       # Definieren von EFI_MIN_MEMORY_STARTUP_POLICY_GUID\
      0xbd8f7aa5, 0xa7f5, 0x46b5, 0x80, 0x7f, 0xb6, 0x58, 0x6b, 0xd, 0x2f, 0xaa);
  • Konfigurationsobjektstruktur:
  •           typedef struct {
               MEMORY_PROPERTIES          props;
               MEMORY CONFIGURATIONconfigs;
               PERFORMANCE_CONFIGURATION Perf;
               UI ELEMENTS_CONFIGURATION  ui;
               STORAGE_CONFIGURATION   Storage;
               HOTSWAP_CONFIGURATION   hotswap;
              } EFI MIN MEMORY STARTUPPOLICY;
  • Bei einer Ausführungsform zeigt das volle OS die obige Konfiguration durch eine freundliche UI (1), die letztendlich einen Aufruf UEFI->SetVariable() durchführt, so dass bei einem Neustart mit verringerter Performance ein CMMS-Treiber die Richtlinie verwendet, um zu entscheiden, welche Hardware mit Energie zu versorgen ist und wie die Benutzeroberfläche zu parametrisieren ist.
  • Insbesondere zeigt 4 ein Verfahren 80, bei dem ein Einschalten und ein BIOS-Start bei dem Block 82 auftreten. Bei einer Ausführungsform überprüft der Block 84 den Batteriestatus, wobei bei dem Block 86 bestimmt werden kann, ob der Batteriestatus einen kritischen Pegel angibt. Falls der Batteriestatus keinen kritischen Pegel angibt, geht der veranschaulichte Block 88 zum normalen Booten mit einer Voll-Performance-Konfiguration über. Andernfalls kann der Block 90 bestimmen, ob entweder mehrere Ränge oder mehr als ein DIMM vorhanden sind. Falls ja, aktiviert der Block 92 das Auswählen von DIMM-/Rang-Aktivierung basierend auf konfigurierten Richtlinien (z. B. nur ein DIMM pro Rang). Der Block 92 kann auch Leistung zu den anderen Rängen/DIMMs deaktivieren. Der veranschaulichte Block 94 verwendet BIOS, um DDR-Training und/oder Speicherinitialisierung durchzuführen. Falls bei dem Block 90 bestimmt wird, dass weder mehrere Ränge noch mehr als ein DIMM vorhanden sind, kann das Verfahren 80 den Block 92 umgehen und direkt mit dem Block 94 fortfahren.
  • Der Block 96 kann ein zusammenhängendes Abbilden des Speichers auf möglichst wenige Bänke bereitstellen. In einer Ausführungsform aktiviert der Block 98 die normalen Speicheroperationen und Aktualisierungen in der Speichersteuerung. Sobald das BIOS ausgeführt ist, übergibt der Block 100 die Steuerung an das Lade-OS und die batteriekritische Software. Zusätzlich dazu kann die Speichersteuerung bei dem Block 102 Schreibvorgänge in Bänke überwachen, wobei bei dem Block 104 bestimmt wird, ob ein Schreibvorgang in Bezug auf eine überwachte Bank stattgefunden hat. Falls ja, aktiviert die Speichersteuerung Aktualisierungen der Bänke, die bei dem Block 106 einen Datenschreibvorgang angetroffen haben. Das veranschaulichte Verfahren 80 kehrt dann zu dem Block 102 zurück. Falls bei dem Block 104 bestimmt wird, dass kein Schreiben in Bezug auf eine überwachte Bank stattgefunden hat, kann das Verfahren 80 den Block 106 umgehen und direkt mit dem Block 102 fortfahren. Die Blöcke 92, 96, 102, 104 und 106, die in herkömmlichen Systemen nicht vorhanden sind, bieten signifikante Performancevorteile.
  • 6 zeigt ein Verfahren 110 zum Betreiben eines BIOS in einem leistungsverstärkten Rechensystem. Das Verfahren 110 kann in einem oder mehreren Modulen als ein Satz von Logikanweisungen, die in einem maschinen- oder computerlesbaren Speichermedium, wie etwa Direktzugriffsspeicher (RAM), Nurlesespeicher (ROM), programmierbarem ROM (PROM), Firmware, Flash-Speicher usw., gespeichert sind, in konfigurierbarer Logik, wie etwa zum Beispiel programmierbaren Logikarrays (PLAs), Field Programmable Gate Arrays (FPGAs), Complex Programmable Logic Devices (CPLDs), in Logikhardware mit fester Funktionalität unter Verwendung von Schaltungstechnologie, wie etwa zum Beispiel anwendungsspezifischer integrierter Schaltungs (ASIC), komplementärer Metalloxidhalbleiter (CMOS) oder Transistor-Transistor-Logik (TTL)-Technologie, oder einer beliebigen Kombination davon implementiert werden.
  • Computerprogrammcode zum Ausführen von Operationen, die in dem Verfahren gezeigt sind, kann zum Beispiel in einer beliebigen Kombination einer oder mehrerer Programmiersprachen geschrieben werden, einschließlich einer objektorientierten Programmiersprache, wie etwa JAVA, SMALLTALK, C++ oder dergleichen, und herkömmlicher prozeduraler Programmiersprachen, wie etwa der Programmiersprache „C“ oder ähnlicher Programmiersprachen. Zusätzlich dazu könnten Logikanweisungen Assembler-Anweisungen, Befehlssatzarchitektur(ISA)-Anweisungen, Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Zustandseinstellungsdaten, Konfigurationsdaten für eine integrierte Schaltungsanordnung, Zustandsinformationen, die eine elektronische Schaltungsanordnung personalisieren, und/oder andere strukturelle Komponenten beinhalten, die nativ für die Hardware sind (z. B. Host-Prozessor, Zentralverarbeitungseinheit/CPU, Mikrocontroller usw.).
  • Der veranschaulichte Verarbeitungsblock 112 stellt das Aktivieren, während einer Boot-Sequenz, eines ersten Satzes von Rängen in einem Speichermodul basierend auf einem Batteriestatus und einer Benutzerschnittstelle bereit. Bei einem Beispiel deaktiviert Block 114 während der Boot-Sequenz einen zweiten Satz von Rängen in dem Speichermodul basierend auf dem Batteriestatus und der Benutzerschnittstelle. Bei einer Ausführungsform gibt der Batteriestatus an, dass ein Restbatterieladezustand kleiner als ein Normal-Schwellenwert und größer als ein Schwellenwert für reduzierten (z. B. Mindest-) Speicherstart ist. In einem Beispiel beinhaltet die Benutzerschnittstelle eine Konfigurationsobjektstruktur, die Speichereigenschaften und/oder eine Speicherkonfiguration und/oder eine Performancekonfiguration und/oder eine UI-Elementkonfiguration und/oder eine Speicherkonfiguration und/oder eine Hot-Swap-Konfiguration definiert. Der veranschaulichte Verarbeitungsblock 116 stellt auch das Erzeugen einer Abbildung zwischen einem Systemadressraum und einem ersten Satz von Bänken in dem ersten Satz von Rängen bereit, wobei der Block 118 einen zweiten Satz von Bänken in dem ersten Satz von Rängen aus der Abbildung ausschließt. Bei einer Ausführungsform ist die Abbildung mit einem Abbildungsschema für schwache Batterie assoziiert.
  • 7 zeigt ein Verfahren 120 zum Betreiben einer Speichersteuerung in einem leistungsverbesserten Rechensystem. Das Verfahren 120 kann in einem oder mehreren Modulen als ein Satz von Logikanweisungen, die in einem maschinen- oder computerlesbaren Speichermedium, wie etwa RAM, ROM, PROM, Firmware, Flash-Speicher usw., gespeichert sind, in konfigurierbarer Logik, wie etwa zum Beispiel PLAs, FPGAs, CPLDs, in Logikhardware mit fester Funktionalität unter Verwendung von Schaltungstechnologie, wie zum Beispiel ASIC-, CMOS- oder TTL-Technologie, oder einer beliebigen Kombination davon implementiert werden. Der veranschaulichte Block 122 stellt das Überwachen einer Schreibaktivität in Bezug auf den ersten Satz von Bänken bereit, wobei der Block 124 Aktualisierungen in einer oder mehreren Bänken in dem ersten Satz von Bänken basierend auf der Schreibaktivität deaktiviert.
  • 8 zeigt ein Verfahren 130 zum Übergang in den Normalmodus. Das Verfahren 130 kann in einem oder mehreren Modulen als ein Satz von Logikanweisungen, die in einem maschinen- oder computerlesbaren Speichermedium, wie etwa RAM, ROM, PROM, Firmware, Flash-Speicher usw., gespeichert sind, in konfigurierbarer Logik, wie etwa zum Beispiel PLAs, FPGAs, CPLDs, in Logikhardware mit fester Funktionalität unter Verwendung von Schaltungstechnologie, wie zum Beispiel ASIC-, CMOS- oder TTL-Technologie, oder einer beliebigen Kombination davon implementiert werden.
  • Der veranschaulichte Verarbeitungsblock 132 stellt das Detektieren einer Änderung des Batteriestatus bereit. Der Block 132 kann auch das Sammeln von Telemetrie (z. B. Nutzungs)-Daten während des CMMS-Modus bereitstellen, wobei die Telemetriedaten mit dem ersten Satz von Rängen und dem zweiten Satz von Rängen assoziiert sind. Ein solcher Ansatz kann die Skalierbarkeit weiter verbessern, indem die Entwicklung zukünftiger Verbesserungen unterstützt wird. Bei einer Ausführungsform aktiviert der Block 134 den zweiten Satz von Rängen als Reaktion auf die Änderung, wobei der Block 136 den zweiten Satz von Bänken als Reaktion auf die Änderung in die Abbildung einbindet. Bei einer Ausführungsform gibt die Änderung an, dass ein Restbatterieladezustand größer als der Normal-Schwellenwert ist.
  • 9 zeigt ein Rechensystem 150, das ausführbare Programmanweisungen 170 beinhaltet, die, wenn sie durch einen Hostprozessor 152 und/oder einen Grafikprozessor 160 und/oder ein Eingabe-/Ausgabemodul (EA) 158 ausgeführt werden, bewirken, dass das Rechensystem 150 einen oder mehrere Aspekte des Verfahrens 110 (6), des Verfahrens 120 (7) und/oder des Verfahrens 130 (8) durchführt, die bereits besprochen wurden. Bei einer Ausführungsform werden die Anweisungen 170 aus einem Speichermodul 156 (z. B. DIMM) und/oder einem Massenspeicher 168 abgerufen. Zusätzlich dazu sind der Grafikprozessor 160, der Hostprozessor 152 und/oder das EA-Modul 158 in ein System-on-Chip (SoC) 162 integriert, das auch mit einer Anzeige 164 und/oder einer Netzwerksteuerung 166 (drahtlos, drahtgebunden) gekoppelt ist. Das veranschaulichte System 150 weist auch eine Batterie 157 auf.
  • 10 stellt eine Halbleitergehäusevorrichtung 172 dar. Die veranschaulichte Vorrichtung 172 beinhaltet ein oder mehrere Substrate 174 (z. B. Silizium, Saphir, Galliumarsenid) und eine Logik 176 (z. B. ein Transistorarray und andere Integrierte-Schaltung-/IC-Komponenten), die mit dem (den) Substrat(en) 174 gekoppelt ist. Die Logik 176 kann zumindest teilweise in konfigurierbarer Logik oder Logikhardware mit fester Funktionalität implementiert werden. In einem Beispiel implementiert die Logik 176 einen oder mehrere Aspekte des Verfahrens 110 ( 6), des Verfahrens 120 (7) und/oder des Verfahrens 130 (8), die bereits besprochen wurden.
  • Bei einem Beispiel beinhaltet die Logik 176 Transistorkanalgebiete, die innerhalb des (der) Substrats (Substraten) 174 positioniert (z. B. eingebettet) sind. Somit ist die Grenzfläche zwischen der Logik 176 und dem (den) Substrat(en) 174 möglicherweise kein abrupter Übergang. Die Logik 176 kann auch als eine Epitaxieschicht enthaltend angesehen werden, die auf einem anfänglichen Wafer des Substrats (der Substrate) 174 aufgewachsen wird.
  • 11 veranschaulicht einen Prozessorkern 200 gemäß einer Ausführungsform. Der Prozessorkern 200 kann der Kern für eine beliebige Art von Prozessor sein, wie etwa einen Mikroprozessor, einen eingebetteten Prozessor, einen Digitalsignalprozessor (DSP), einen Netzwerkprozessor oder eine andere Einrichtung zum Ausführen von Code. Obwohl in 11 nur ein Prozessorkern 200 veranschaulicht ist, kann ein Verarbeitungselement alternativ dazu mehr als einen des in 11 veranschaulichten Prozessorkerns 200 beinhalten. Der Prozessorkern 200 kann ein Single-Thread-Kern sein oder für mindestens eine Ausführungsform kann der Prozessorkern 200 ein Multithread-Kern in dem Sinne sein, dass er mehr als einen Hardware-Thread-Kontext (oder „logischen Prozessor“) pro Kern beinhalten kann.
  • 11 veranschaulicht außerdem einen Speicher 270, der mit dem Prozessorkern 200 gekoppelt ist. Der Speicher 270 kann ein beliebiger aus einer breiten Vielfalt von Speichern sein (einschließlich verschiedener Schichten einer Speicherhierarchie), die einem Fachmann bekannt sind oder anderweitig zur Verfügung stehen. Der Speicher 270 kann eine oder mehrere Anweisungen des Codes 213 beinhalten, die durch den Prozessorkern 200 auszuführen sind, wobei der Code 213 einen oder mehrere Aspekte des Verfahrens 110 (6), des Verfahrens 120 ( 7) und/oder des Verfahrens 130 (8) implementieren kann, die bereits besprochen wurden. Der Prozessorkern 200 folgt einer Programmsequenz von Anweisungen, die durch den Code 213 angegeben wird. Jede Anweisung kann in einen Front-End-Teil 210 eintreten und durch einen oder mehrere Decodierer 220 verarbeitet werden. Der Decodierer 220 kann eine Mikrooperation, wie etwa eine Mikrooperation mit fester Breite, in einem vordefinierten Format als seine Ausgabe erzeugen oder kann andere Anweisungen, Mikroanweisungen oder Steuersignale, die die ursprüngliche Codeanweisung widerspiegeln, erzeugen. Der veranschaulichte Front-End-Teil 210 beinhaltet auch eine Registerumbenennungslogik 225 und eine Scheduling-Logik 230, die allgemein Ressourcen zuweisen und die Operation entsprechend der Konvertierungsanweisung zur Ausführung in eine Warteschlange setzen.
  • Der Prozessorkern 200 ist eine Ausführungslogik 250 mit einem Satz von Ausführungseinheiten 255-1 bis 255-N aufweisend gezeigt. Manche Ausführungsformen können eine Anzahl von Ausführungseinheiten beinhalten, die spezifischen Funktionen oder Sätzen von Funktionen dediziert sind. Andere Ausführungsformen können nur eine Ausführungseinheit oder eine Ausführungseinheit, die eine spezielle Funktion durchführen kann, beinhalten. Die veranschaulichte Ausführungslogik 250 führt die durch Codeanweisungen spezifizierten Operationen durch.
  • Nach der Beendigung der Ausführung der durch die Codeanweisungen spezifizierten Operationen zieht eine Back-End-Logik 260 die Anweisungen des Codes 213 zurück. Bei einer Ausführungsform erlaubt der Prozessorkern 200 eine Ausführung außerhalb der Reihenfolge, benötigt aber einen Rückzug der Anweisungen in Reihenfolge. Eine Rückzugslogik 265 kann eine Vielfalt von Formen annehmen, wie Fachleuten bekannt ist (z. B. Umordnungspuffer oder dergleichen). Auf diese Art und Weise wird der Prozessorkern 200 während der Ausführung des Codes 213 zumindest hinsichtlich der durch den Decodierer erzeugten Ausgabe, der Hardwareregister und Tabellen, die durch die Registerumbenennungslogik 225 genutzt werden, und beliebiger durch die Ausführungslogik 250 modifizierter Register (nicht gezeigt) transformiert.
  • Obwohl in 11 nicht veranschaulicht, kann ein Verarbeitungselement andere Elemente auf dem Chip mit dem Prozessorkern 200 beinhalten. Ein Verarbeitungselement kann zum Beispiel eine Speichersteuerlogik zusammen mit dem Prozessorkern 200 beinhalten. Das Verarbeitungselement kann eine E/A-Steuerlogik beinhalten und/oder kann eine E/A-Steuerlogik beinhalten, die mit der Speichersteuerlogik integriert ist. Das Verarbeitungselement kann auch einen oder mehrere Caches beinhalten.
  • Nun wird unter Bezugnahme auf 12 ein Blockdiagramm einer Ausführungsform eines Rechensystems 1000 gemäß einer Ausführungsform gezeigt. In 12 ist ein Mehrprozessorsystem 1000 dargestellt, das ein erstes Verarbeitungselement 1070 und ein zweites Verarbeitungselement 1080 beinhaltet. Obwohl zwei Verarbeitungselemente 1070 und 1080 dargestellt sind, ist zu verstehen, dass eine Ausführungsform des Systems 1000 auch nur ein derartiges Verarbeitungselement beinhalten kann.
  • Das System 1000 ist als ein Punkt-zu-Punkt-Interconnect-System veranschaulicht, bei dem das erste Verarbeitungselement 1070 und das zweite Verarbeitungselement 1080 über ein Punkt-zu-Punkt-Interconnect 1050 gekoppelt sind. Es versteht sich, dass ein beliebiges oder alle der in 12 veranschaulichten Interconnects als ein Multi-Drop-Bus anstelle eines Punkt-zu-Punkt-Interconnects implementiert werden können.
  • Wie in 12 gezeigt, kann jedes der Verarbeitungselemente 1070 und 1080 Mehrkernprozessoren einschließlich eines ersten und zweiten Prozessorkerns (d. h. Prozessorkerne 1074a und 1074b und Prozessorkerne 1084a und 1084b) sein. Derartige Kerne 1074a, 1074b, 1084a, 1084b können dazu ausgelegt sein, Anweisungscode auf eine ähnliche Art und Weise zu der oben in Verbindung mit 11 besprochenen auszuführen.
  • Jedes Verarbeitungselement 1070, 1080 kann mindestens einen gemeinsam genutzten Cache 1896a, 1896b beinhalten. Der gemeinsam genutzte Cache 1896a, 1896b kann Daten (z. B. Anweisungen) speichern, die durch eine oder mehrere Komponenten des Prozessors, wie etwa die Kerne 1074a, 1074b bzw. 1084a, 1084b, genutzt werden. Der gemeinsam genutzte Cache 1896a, 1896b kann zum Beispiel Daten, die in einem Speicher 1032, 1034 gespeichert sind, für einen schnelleren Zugriff durch Komponenten des Prozessors lokal cachen. Bei einer oder mehreren Ausführungsformen kann der gemeinsam genutzte Cache 1896a, 1896b einen oder mehrere Mid-Level-Caches beinhalten, wie etwa Level 2 (L2), Level 3 (L3), Level 4 (L4) oder andere Cache-Level, einen Last-Level-Cache (LLC) und/oder Kombinationen davon.
  • Obwohl nur mit zwei Verarbeitungselementen 1070, 1080 gezeigt, ist zu verstehen, dass der Schutzumfang der Ausführungsformen nicht darauf beschränkt ist. Bei anderen Ausführungsformen können in einem gegebenen Prozessor ein oder mehrere zusätzliche Verarbeitungselemente vorhanden sein. Alternativ dazu können ein oder mehrere Verarbeitungselemente 1070, 1080 ein Element außer einem Prozessor sein, wie etwa ein Beschleuniger oder ein feldprogrammierbares Gate-Array. Ein oder mehrere zusätzliche Verarbeitungselemente können zum Beispiel einen oder mehrere zusätzliche Prozessoren, die derselbe sind wie ein erster Prozessor 1070, einen oder mehrere zusätzliche Prozessoren, die heterogen oder asymmetrisch zu einem Prozessor, einem ersten Prozessor 1070 sind, Beschleuniger (wie etwa z. B. Grafikbeschleuniger oder Digitalsignalverarbeitungseinheiten (DSP-Einheiten)), feldprogrammierbare Gate-Arrays oder ein beliebiges anderes Verarbeitungselement beinhalten. Es kann eine Vielfalt von Unterschieden zwischen den Verarbeitungselementen 1070, 1080 hinsichtlich eines Spektrums relevanter Metriken geben, einschließlich architektonischer, mikroarchitektonischer, thermischer, Leistungsverbrauchscharakteristiken und dergleichen. Diese Unterschiede können sich im Endeffekt als Asymmetrie und Heterogenität unter den Verarbeitungselementen 1070, 1080 manifestieren. Für mindestens eine Ausführungsform können sich die verschiedenen Verarbeitungselemente 1070, 1080 in demselben Die-Package befinden.
  • Das erste Verarbeitungselement 1070 kann ferner eine Speichersteuerungslogik (MC) 1072 und Punkt-zu-Punkt(P-P)-Schnittstellen 1076 und 1078 beinhalten. Gleichermaßen kann das zweite Verarbeitungselement 1080 eine MC 1082 und P-P-Schnittstellen 1086 und 1088 beinhalten. Wie in 12 dargestellt, koppeln die MCs 1072 und 1082 die Prozessoren mit jeweiligen Speichern, nämlich einem Speicher 1032 und einem Speicher 1034, die Teile eines Hauptspeichers sein können, der lokal an die jeweiligen Prozessoren angeschlossen ist. Obwohl die MC 1072 und 1082 als in die Verarbeitungselemente 1070, 1080 integriert veranschaulicht ist, kann die MC für alternative Ausführungsformen eine diskrete Logik außerhalb der Verarbeitungselemente 1070, 1080 sein, anstatt darin integriert zu sein.
  • Das erste Verarbeitungselement 1070 und das zweite Verarbeitungselement 1080 können über P-P-Interconnects 1076 bzw. 1086 mit einem E/A-Untersystem 1090 gekoppelt sein. Wie in 12 gezeigt, beinhaltet das E/A-Untersystem 1090 P-P-Schnittstellen 1094 und 1098. Des Weiteren beinhaltet das E/A-Untersystem 1090 eine Schnittstelle 1092, um das E/A-Untersystem 1090 mit einer Hochleistungs-Grafik-Engine 1038 zu koppeln. Bei einer Ausführungsform kann ein Bus 1049 verwendet werden, um die Grafik-Engine 1038 mit dem E/A-Untersystem 1090 zu koppeln. Alternativ dazu kann ein Punkt-zu-Punkt-Interconnect diese Komponenten koppeln.
  • Im Gegenzug kann das E/A-Untersystem 1090 über eine Schnittstelle 1096 mit einem ersten Bus 1016 gekoppelt sein. Bei einer Ausführungsform kann der erste Bus 1016 ein PCI-Bus (PCI - Peripheral Component Interconnect) oder ein Bus, wie etwa ein PCI-Express-Bus oder ein anderer E/A-Interconnect-Bus der dritten Generation sein, obwohl der Schutzumfang der Ausführungsformen nicht darauf beschränkt ist.
  • Wie in 12 dargestellt, können verschiedene E/A-Einrichtungen 1014 (z. B. biometrische Scanner, Lautsprecher, Kameras, Sensoren) zusammen mit einer Busbrücke 1018, die den ersten Bus 1016 mit einem zweiten Bus 1020 koppeln kann, mit dem ersten Bus 1016 gekoppelt sein. Bei einer Ausführungsform kann der zweite Bus 1020 ein Low-Pin-Count-Bus (LPC-Bus) sein. Verschiedene Einrichtungen können bei einer Ausführungsform mit dem zweiten Bus 1020 gekoppelt sein, einschließlich zum Beispiel einer Tastatur/ Maus 1012, einer oder mehrerer Kommunikationseinrichtungen 1026 und einer Datenspeicherungseinheit 1019, wie eines Laufwerks oder einer anderen Massenspeicherungseinrichtung, die Code 1030 beinhalten kann. Der veranschaulichte Code 1030 kann einen oder mehrere Aspekte des Verfahrens 110 (6), des Verfahrens 120 (7) und/oder des Verfahrens 130 (8) implementieren, die bereits besprochen wurden. Des Weiteren kann eine Audio-E/A 1024 mit dem zweiten Bus 1020 gekoppelt sein und eine Batterie 1010 kann das Rechensystem 1000 mit Leistung versorgen.
  • Es sei angemerkt, dass andere Ausführungsformen in Betracht gezogen werden. Zum Beispiel kann ein System anstelle der Punkt-zu-Punkt-Architektur von 12 einen Multi-Drop-Bus oder eine andere derartige Kommunikationstopologie implementieren. Die Elemente von 12 können außerdem alternativ dazu unter Verwendung von mehr oder weniger integrierten Chips als in 12 gezeigt partitioniert sein.
  • Zusätzliche Anmerkungen und Beispiele:
  • Beispiel 1 beinhaltet ein Rechensystem, das eine Netzwerksteuerung, einen Prozessor, der mit der Netzwerksteuerung gekoppelt ist, und ein Speichermodul, das mit dem Prozessor gekoppelt ist, umfasst, wobei das Speichermodul einen Satz von Anweisungen beinhaltet, die, wenn sie durch den Prozessor ausgeführt werden, bewirken, dass der Prozessor während einer Boot-Sequenz einen ersten Satz von Rängen in dem Speichermodul basierend auf einem Batteriestatus und einer Benutzerschnittstelle aktiviert, während der Boot-Sequenz einen zweiten Satz von Rängen in dem Speichermodul basierend auf dem Batteriestatus und der Benutzerschnittstelle deaktiviert, eine Abbildung zwischen einem Systemadressraum und einem ersten Satz von Bänken in dem ersten Satz von Rängen erzeugt und einen zweiten Satz von Bänken in dem ersten Satz von Rängen von der Abbildung ausschließt.
  • Beispiel 2 beinhaltet das Rechensystem von Beispiel 1, ferner beinhaltend eine Speichersteuerung, wobei, wenn sie durch die Speichersteuerung ausgeführt werden, die Anweisungen bewirken, dass die Speichersteuerung eine Schreibaktivität in Bezug auf den ersten Satz von Bänken überwacht und Aktualisierungen in einer oder mehreren Bänken in dem ersten Satz von Bänken basierend auf der Schreibaktivität deaktiviert.
  • Beispiel 3 beinhaltet das Rechensystem von Beispiel 1, wobei die Benutzerschnittstelle eine Konfigurationsobjektstruktur beinhalten soll, die Speichereigenschaften und/oder eine Speicherkonfiguration und/oder eine Performancekonfiguration und/oder eine Benutzerschnittstellenelementkonfiguration und/oder eine Speicherkonfiguration und/oder eine Hot-Swap-Konfiguration definiert.
  • Beispiel 4 beinhaltet das Rechensystem von Beispiel 1, wobei der Batteriestatus angeben soll, dass ein Restbatterieladezustand kleiner als ein Normal-Schwellenwert und größer als ein Schwellenwert für reduzierten Speicherstart ist, und wobei die Abbildung mit einem Abbildungsschema für schwache Batterie assoziiert werden soll.
  • Beispiel 5 beinhaltet das Rechensystem von einem der Beispiele 1 bis 4, wobei die Anweisungen, wenn sie durch den Prozessor ausgeführt werden, ferner bewirken, dass der Prozessor Telemetriedaten während eines konfigurierbaren Min-Memory-Start-Modus sammelt, wobei die Telemetriedaten mit dem ersten Satz von Rängen und dem zweiten Satz von Rängen zu assoziieren sind, eine Änderung des Batteriestatus detektiert, den zweiten Satz von Rängen als Reaktion auf die Änderung aktiviert und den zweiten Satz von Rängen als Reaktion auf die Änderung in die Abbildung aufnimmt.
  • Beispiel 6 beinhaltet das Rechensystem von Beispiel 5, wobei die Änderung angeben soll, dass ein Restbatterieladezustand größer als ein Normal-Schwellenwert ist.
  • Beispiel 7 beinhaltet eine Halbleitervorrichtung, die ein oder mehrere Substrate und Logik, die mit dem einen oder den mehreren Substraten gekoppelt ist, umfasst, wobei die Logik wenigstens teilweise in einer konfigurierbaren Logik und/oder Hardwarelogik mit fester Funktionalität implementiert ist, wobei die Logik mit dem einen oder den mehreren Substraten gekoppelt ist, um während einer Boot-Sequenz einen ersten Satz von Rängen in einem Speichermodul basierend auf einem Batteriestatus und einer Benutzerschnittstelle zu aktivieren, während der Boot-Sequenz einen zweiten Satz von Rängen in dem Speichermodul basierend auf dem Batteriestatus und der Benutzerschnittstelle zu deaktivieren, eine Abbildung zwischen einem Systemadressraum und einem ersten Satz von Bänken in dem ersten Satz von Rängen zu erzeugen und einen zweiten Satz von Bänken in dem ersten Satz von Rängen von der Abbildung auszuschließen.
  • Beispiel 8 beinhaltet die Vorrichtung von Beispiel 7, wobei die Logik, die mit dem einen oder den mehreren Substraten gekoppelt ist, eine Schreibaktivität in Bezug auf den ersten Satz von Bänken überwachen und Aktualisierungen in einer oder mehreren Bänken in dem ersten Satz von Bänken basierend auf der Schreibaktivität deaktivieren soll.
  • Beispiel 9 beinhaltet die Vorrichtung von Beispiel 7, wobei die Benutzerschnittstelle eine Konfigurationsobjektstruktur beinhalten soll, die Speichereigenschaften und/oder eine Speicherkonfiguration und/oder eine Performancekonfiguration und/oder eine Benutzerschnittstellenelementkonfiguration und/oder eine Speicherkonfiguration und/oder eine Hot-Swap-Konfiguration definiert.
  • Beispiel 10 beinhaltet die Vorrichtung von Beispiel 7, wobei der Batteriestatus angeben soll, dass ein Restbatterieladezustand kleiner als ein Normal-Schwellenwert und größer als ein Schwellenwert für reduzierten Speicherstart ist, und wobei die Abbildung mit einem Abbildungsschema für schwache Batterie assoziiert werden soll.
  • Beispiel 11 beinhaltet die Vorrichtung von einem der Beispiele 7 bis 10, wobei die Logik, die mit dem einen oder den mehreren Substraten gekoppelt ist, Telemetriedaten während eines konfigurierbaren Min-Memory-Start-Modus sammeln, wobei die Telemetriedaten mit dem ersten Satz von Rängen und dem zweiten Satz von Rängen zu assoziieren sind, eine Änderung des Batteriestatus detektieren, den zweiten Satz von Rängen als Reaktion auf die Änderung aktivieren und den zweiten Satz von Rängen als Reaktion auf die Änderung in die Abbildung aufnehmen soll.
  • Beispiel 12 beinhaltet die Vorrichtung von Beispiel 11, wobei die Änderung angeben soll, dass ein Restbatterieladezustand größer als ein Normal-Schwellenwert ist.
  • Beispiel 13 beinhaltet die Vorrichtung von einem der Beispiele 7 bis 12, wobei die Logik, die mit dem einen oder den mehreren Substraten gekoppelt ist, Transistorkanalgebiete beinhaltet, die innerhalb des einen oder der mehreren Substrate positioniert sind.
  • Beispiel 14 beinhaltet mindestens ein computerlesbares Speichermedium, das einen Satz von Anweisungen umfasst, die, wenn sie durch ein Rechensystem ausgeführt werden, bewirken, dass das Rechensystem während einer Boot-Sequenz einen ersten Satz von Rängen in einem Speichermodul basierend auf einem Batteriestatus und einer Benutzerschnittstelle aktiviert, während der Boot-Sequenz einen zweiten Satz von Rängen in dem Speichermodul basierend auf dem Batteriestatus und der Benutzerschnittstelle deaktiviert, eine Abbildung zwischen einem Systemadressraum und einem ersten Satz von Bänken in dem ersten Satz von Rängen erzeugt und einen zweiten Satz von Bänken in dem ersten Satz von Rängen aus der Abbildung ausschließt.
  • Beispiel 15 beinhaltet das mindestens eine computerlesbare Speichermedium von Beispiel 14, wobei die Anweisungen, wenn sie ausgeführt werden, ferner bewirken, dass das Rechensystem eine Schreibaktivität in Bezug auf den ersten Satz von Bänken überwacht und Aktualisierungen in einer oder mehreren Bänken in dem ersten Satz von Bänken basierend auf der Schreibaktivität deaktiviert.
  • Beispiel 16 beinhaltet das mindestens eine computerlesbare Speichermedium von Beispiel 14, wobei die Benutzerschnittstelle eine Konfigurationsobjektstruktur beinhalten soll, die Speichereigenschaften und/oder eine Speicherkonfiguration und/oder eine Performancekonfiguration und/oder eine Benutzerschnittstellenelementkonfiguration und/oder eine Speicherkonfiguration und/oder eine Hot-Swap-Konfiguration definiert.
  • Beispiel 17 beinhaltet das mindestens eine computerlesbare Speichermedium von Beispiel 14, wobei der Batteriestatus angeben soll, dass ein Restbatterieladezustand kleiner als ein Normal-Schwellenwert und größer als ein Schwellenwert für reduzierten Speicherstart ist, und wobei die Abbildung mit einem Abbildungsschema für schwache Batterie assoziiert werden soll.
  • Beispiel 18 beinhaltet das mindestens eine computerlesbare Speichermedium von einem der Beispiele 14 bis 17, wobei die Anweisungen, wenn sie ausgeführt werden, ferner bewirken, dass das Rechensystem Telemetriedaten während eines konfigurierbaren Min-Memory-Start-Modus sammelt, wobei die Telemetriedaten mit dem ersten Satz von Rängen und dem zweiten Satz von Rängen zu assoziieren sind, eine Änderung des Batterie Status detektiert, den zweiten Satz von Rängen als Reaktion auf die Änderung aktiviert und den zweiten Satz von Bänken als Reaktion auf die Änderung in die Abbildung aufnimmt.
  • Beispiel 19 beinhaltet das mindestens eine computerlesbare Speichermedium des Beispiels 18, wobei die Änderung angeben soll, dass ein Restbatterieladezustand größer als ein Normal-Schwellenwert ist.
  • Beispiel 20 beinhaltet ein Verfahren, das Folgendes umfasst: Aktivieren, während einer Boot-Sequenz, eines ersten Satzes von Rängen in einem Speichermodul basierend auf einem Batteriestatus und einer Benutzerschnittstelle, Deaktivieren, während der Boot-Sequenz, eines zweiten Satzes von Rängen in dem Speichermodul basierend auf dem Batteriestatus und der Benutzerschnittstelle, Erzeugen einer Abbildung zwischen einem Systemadressraum und einem ersten Satz von Bänken in dem ersten Satz von Rängen und Ausschließen eines zweiten Satzes von Bänken in dem ersten Satz von Rängen aus der Abbildung.
  • Beispiel 21 beinhaltet das Verfahren von Beispiel 20, das ferner das Überwachen einer Schreibaktivität in Bezug auf den ersten Satz von Bänken und das Deaktivieren von Aktualisierungen in einer oder mehreren Bänken in dem ersten Satz von Bänken basierend auf der Schreibaktivität beinhaltet.
  • Beispiel 22 beinhaltet das Verfahren von Beispiel 20, wobei die Benutzerschnittstelle eine Konfigurationsobjektstruktur beinhalten soll, die Speichereigenschaften und/oder eine Speicherkonfiguration und/oder eine Performancekonfiguration und/oder eine Benutzerschnittstellenelementkonfiguration und/oder eine Speicherkonfiguration und/oder eine Hot-Swap-Konfiguration definiert.
  • Beispiel 23 beinhaltet das Verfahren von Beispiel 20, wobei der Batteriestatus angibt, dass ein Restbatterieladezustand kleiner als ein Normal-Schwellenwert und größer als ein Schwellenwert für reduzierten Speicherstart ist, und wobei die Abbildung mit einem Abbildungsschema für schwache Batterie assoziiert ist.
  • Beispiel 24 beinhaltet das Verfahren von einem der Beispiele 20 bis 23, das ferner Folgendes beinhaltet: Sammeln von Telemetriedaten während eines konfigurierbaren Min-Memory-Start-Modus beinhaltet, wobei die Telemetriedaten mit dem ersten Satz von Rängen und dem zweiten Satz von Rängen zu assoziieren sind, Detektieren einer Änderung des Batterie Status, Aktivieren des zweiten Satzes von Rängen als Reaktion auf die Änderung und Aufnehmen des zweiten Satzes von Bänken in die Abbildung als Reaktion auf die Änderung.
  • Beispiel 25 beinhaltet das Verfahren von Beispiel 24, wobei die Änderung angibt, dass ein Restbatterieladezustand größer als ein Normal-Schwellenwert ist.
  • Beispiel 26 beinhaltet Mittel zum Durchführen des Verfahrens eines beliebigen der Beispiele 20 bis 25.
  • Ausführungsformen sind zur Verwendung mit allen Typen von Chips mit integrierter Halbleiterschaltung („IC“-Chips) anwendbar. Beispiele für diese IC-Chips beinhalten unter anderem Prozessoren, Steuerungen, Chipsatzkomponenten, programmierbare Logikarrays (PLAs), Speicherchips, Netzwerkchips, Systems-on-Chip (SoC), SSD/NAND-Steuerung-ASICs und dergleichen. Zusätzlich dazu sind in manchen der Zeichnungen Signalleiterleitungen mit Linien repräsentiert. Manche können unterschiedlich sein, um mehr Signalpfadbestandteile anzugeben, eine Nummernbezeichnung aufweisen, um eine Anzahl von Signalpfadbestandteilen anzugeben, und/oder Pfeile an einem oder mehreren Enden aufweisen, um die primäre Informationsflussrichtung anzugeben. Dies sollte jedoch nicht auf eine beschränkende Weise ausgelegt werden. Vielmehr kann ein derartiges hinzugefügtes Detail in Verbindung mit einem oder mehreren Ausführungsbeispielen verwendet werden, um ein einfacheres Verständnis einer Schaltung zu ermöglichen. Jegliche repräsentierten Signalleitungen, ob sie zusätzliche Information aufweisen oder nicht, können tatsächlich ein oder mehrere Signale umfassen, die sich in mehreren Richtungen bewegen können, und können mit einer beliebigen geeigneten Art von Signalschema implementiert werden, z. B. digitalen oder analogen Leitungen, die mit differenziellen Paaren, Optikfaserleitungen und/oder Single-Ended-Leitungen, implementiert werden.
  • Es sind möglicherweise beispielhafte Größen/Modelle/Werte/Bereiche gegeben worden, obwohl Ausführungsformen nicht auf dieselben beschränkt sind. Wenn sich Herstellungstechniken (z. B. Fotolithografie) im Laufe der Zeit weiterentwickeln, wird erwartet, dass Einrichtungen kleinerer Größe hergestellt werden könnten. Zusätzlich dazu sind wohlbekannte Leistungs-/Masseverbindungen zu IC-Chips und anderen Komponenten möglicherweise in den Figuren zur Vereinfachung und Besprechung gezeigt oder nicht, um gewisse Aspekte der Ausführungsformen nicht unklar zu machen. Ferner können Anordnungen in Blockdiagrammform dargestellt sein, um zu vermeiden, Ausführungsformen unklar zu machen, und auch angesichts der Tatsache, dass Einzelheiten im Bezug auf die Implementierung derartiger Blockdiagrammanordnungen in hohem Maße von dem Rechensystem abhängen, innerhalb dessen die Ausführungsform implementiert werden soll, d. h., derartige Einzelheiten sollten wohl im Geltungsbereich eines Fachmanns liegen. Wenn spezielle Einzelheiten (z. B. Schaltungen) dargelegt sind, um Ausführungsbeispiele zu beschreiben, sollte es einem Fachmann ersichtlich sein, dass Ausführungsformen ohne diese speziellen Einzelheiten oder mit einer Variation davon praktiziert werden können. Die Beschreibung ist somit als veranschaulichend statt als beschränkend aufzufassen.
  • Der Ausdruck „gekoppelt“ kann hierin verwendet werden, um sich auf einem beliebigen Typ von Beziehung, direkt oder indirekt, zwischen den fraglichen Komponenten zu beziehen, und kann für elektrische, mechanische, fluide, optische, elektromagnetische, elektromechanische oder andere Verbindungen anwendbar sein. Zusätzlich dazu können die Ausdrucke „erster“, „zweiter“ usw. hierin nur zur Erleichterung der Besprechung verwendet werden und tragen keine besondere zeitliche oder chronologische Bedeutung, sofern nicht anders angegeben.
  • Wie in dieser Anmeldung und den Ansprüchen verwendet, kann eine Liste von Gegenständen, die durch den Ausdruck „eines oder mehrere von“ verbunden sind, eine beliebige Kombination der aufgelisteten Begriffe bedeuten. Beispielsweise können die Phrasen „A, B und/oder C“ A; B; C; A und B; A und C; B und C oder A, B und C bedeuten.
  • Fachleute werden aus der vorstehenden Beschreibung erkennen, dass die breiten Techniken der Ausführungsformen in einer Vielzahl von Formen implementiert werden können. Obwohl die Ausführungsformen in Verbindung mit bestimmten Beispielen davon beschrieben wurden, sollte daher der wahre Schutzumfang der Ausführungsformen nicht so beschränkt sein, da andere Modifikationen für den Fachmann bei einer Studie der Zeichnungen, der Spezifikation und der folgenden Ansprüche offensichtlich werden.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • IN 2020041033777 [0001]

    Claims (10)

    1. Computersystem, umfassend: eine Netzwerksteuerung; einen Prozessor, der mit der Netzwerksteuerung gekoppelt ist; und ein Speichermodul, das mit dem Prozessor gekoppelt ist, wobei das Speichermodul einen Satz von Anweisungen beinhaltet, die, wenn sie durch den Prozessor ausgeführt werden, den Prozessor zu Folgendem veranlassen: Aktivieren, während einer Boot-Sequenz, eines ersten Satzes von Rängen in dem Speichermodul basierend auf einem Batteriestatus und einer Benutzerschnittstelle, Deaktivieren, während der Boot-Sequenz, eines zweiten Satzes von Rängen in dem Speichermodul basierend auf dem Batteriestatus und der Benutzerschnittstelle, Erzeugen einer Abbildung zwischen einem Systemadressraum und einem ersten Satz von Bänken in dem ersten Satz von Rängen und Ausschließen eines zweiten Satzes von Bänken in dem ersten Satz von Rängen aus der Abbildung; wobei optional das Rechensystem ferner eine Speichersteuerung beinhaltet, wobei die Anweisungen, wenn sie durch die Speichersteuerung ausgeführt werden, die Speichersteuerung veranlassen zum: Überwachen einer Schreibaktivität in Bezug auf den ersten Satz von Bänke und Deaktivieren von Aktualisierungen in einer oder mehreren Bänken in dem ersten Satz von Bänken basierend auf der Schreibaktivität.
    2. Rechensystem nach Anspruch 1, wobei die Benutzerschnittstelle eine Konfigurationsobjektstruktur beinhalten soll, die Speichereigenschaften und/oder eine Speicherkonfiguration und/oder eine Performancekonfiguration und/oder eine Benutzerschnittstellenelementkonfiguration und/oder eine Speicherkonfiguration und/oder eine Hot-Swap-Konfiguration definiert; und/oder wobei der Batteriestatus angeben soll, dass ein Restbatterieladezustand kleiner als ein Normal-Schwellenwert und größer als ein Schwellenwert für reduzierten Speicherstart ist, und wobei die Abbildung mit einem Abbildungsschema für schwache Batterie assoziiert werden soll.
    3. Rechensystem nach einem der Ansprüche 1 oder 2, wobei die Anweisungen, wenn sie durch den Prozessor ausgeführt werden, den Prozessor ferner zu Folgendem veranlassen: Sammeln von Telemetriedaten während eines konfigurierbaren Min-Memory-Start-Modus, wobei die Telemetriedaten mit dem ersten Satz von Rängen und dem zweiten Satz von Rängen zu assoziieren sind, Detektieren einer Änderung des Batteriestatus, Aktivieren des zweiten Satzes von Rängen als Reaktion auf die Änderung und Aufnehmen des zweiten Satzes von Bänken in die Abbildung als Reaktion auf die Änderung; wobei optional die Änderung angeben soll, dass ein Restbatterieladezustand größer als ein Normal-Schwellenwert ist.
    4. Halbleitervorrichtung, die Folgendes umfasst: ein oder mehrere Substrate; und Logik, die mit dem einen oder den mehreren Substraten gekoppelt ist, wobei die Logik zumindest teilweise in konfigurierbarer Logik und/oder Hardwarelogik mit fester Funktionalität implementiert wird, wobei die mit dem einen oder den mehreren Substraten gekoppelte Logik ausgelegt ist zum: Aktivieren, während einer Boot-Sequenz, eines ersten Satzes von Rängen in einem Speichermodul basierend auf einem Batteriestatus und einer Benutzerschnittstelle; Deaktivieren, während der Boot-Sequenz, eines zweiten Satzes von Rängen in dem Speichermodul basierend auf dem Batteriestatus und der Benutzerschnittstelle; Erzeugen einer Abbildung zwischen einem Systemadressraum und einem ersten Satz von Bänken in dem ersten Satz von Rängen; und Ausschließen eines zweiten Satzes von Bänken in dem ersten Satz von Rängen aus der Abbildung; wobei optional die Logik, die mit dem einen oder den mehreren Substraten gekoppelt ist, ausgelegt ist zum: Überwachen einer Schreibaktivität in Bezug auf den ersten Satz von Bänken; und Deaktivieren von Aktualisierungen in einer oder mehreren Bänken in dem ersten Satz von Bänken basierend auf der Schreibaktivität.
    5. Vorrichtung nach Anspruch 4, wobei die Benutzerschnittstelle eine Konfigurationsobjektstruktur beinhalten soll, die Speichereigenschaften und/oder eine Speicherkonfiguration und/oder eine Performancekonfiguration und/oder eine Benutzerschnittstellenelementkonfiguration und/oder eine Speicherkonfiguration und/oder eine Hot-Swap-Konfiguration definiert; und/oder wobei der Batteriestatus angeben soll, dass ein Restbatterieladezustand kleiner als ein Normal-Schwellenwert und größer als ein Schwellenwert für reduzierten Speicherstart ist, und wobei die Abbildung mit einem Abbildungsschema für schwache Batterie assoziiert werden soll; und/oder wobei die Logik, die mit dem einen oder den mehreren Substraten gekoppelt ist, ausgelegt ist zum: Sammeln von Telemetriedaten während eines konfigurierbaren Min-Memory-Start-Modus, wobei die Telemetriedaten mit dem ersten Satz von Rängen und dem zweiten Satz von Rängen assoziiert werden sollen; Detektieren einer Änderung des Batteriestatus; Aktivieren des zweiten Satzes von Rängen als Reaktion auf die Änderung; und Aufnehmen des zweiten Satzes von Bänken in die Abbildung als Reaktion auf die Änderung; wobei optional die Änderung angeben soll, dass ein Restbatterieladezustand größer als ein Normal-Schwellenwert ist.
    6. Vorrichtung nach einem der Ansprüche 4 oder 5, wobei die Logik, die mit dem einen oder den mehreren Substraten gekoppelt ist, Transistorkanalbereiche beinhaltet, die innerhalb des einen oder der mehreren Substrate positioniert sind.
    7. Mindestens ein computerlesbares Speichermedium, das einen Satz von Anweisungen umfasst, die, wenn sie durch ein Rechensystem ausgeführt werden, das Computersystem zu Folgendem veranlassen: Aktivieren, während einer Boot-Sequenz, eines ersten Satzes von Rängen in einem Speichermodul basierend auf einem Batteriestatus und einer Benutzerschnittstelle; Deaktivieren, während der Boot-Sequenz, eines zweiten Satzes von Rängen in dem Speichermodul basierend auf dem Batteriestatus und der Benutzerschnittstelle; Erzeugen einer Abbildung zwischen einem Systemadressraum und einem ersten Satz von Bänken in dem ersten Satz von Rängen; und Ausschließen eines zweiten Satzes von Bänken in dem ersten Satz von Rängen aus der Abbildung. wobei optional die Anweisungen, wenn sie ausgeführt werden, das Computersystem ferner zu Folgendem veranlassen: Überwachen einer Schreibaktivität in Bezug auf den ersten Satz von Bänken; und Deaktivieren von Aktualisierungen in einer oder mehreren Bänken in dem ersten Satz von Bänken basierend auf der Schreibaktivität.
    8. Das mindestens eine computerlesbare Speichermedium nach Anspruch 7, wobei die Benutzerschnittstelle eine Konfigurationsobjektstruktur beinhalten soll, die Speichereigenschaften und/oder eine Speicherkonfiguration und/oder eine Leistungsfähigkeitskonfiguration und/oder eine Benutzeroberflächenelementkonfiguration und/oder eine Speicherkonfiguration und/oder eine Hot-Swap-Konfiguration definiert; und/oder wobei der Batteriestatus angeben soll, dass ein Restbatterieladezustand kleiner als ein Normal-Schwellenwert und größer als ein Schwellenwert für reduzierten Speicherstart ist, und wobei die Abbildung mit einem Abbildungsschema für schwache Batterie assoziiert werden soll; und/oder wobei die Anweisungen, wenn sie ausgeführt werden, das Computersystem ferner zu Folgendem veranlassen: Sammeln von Telemetriedaten während eines konfigurierbaren Min-Memory-Start-Modus, wobei die Telemetriedaten mit dem ersten Satz von Rängen und dem zweiten Satz von Rängen assoziiert werden sollen; Detektieren einer Änderung des Batteriestatus; Aktivieren des zweiten Satzes von Rängen als Reaktion auf die Änderung; und Aufnehmen des zweiten Satzes von Bänken in die Abbildung als Reaktion auf die Änderung; wobei optional die Änderung angeben soll, dass ein Restbatterieladezustand größer als eine Normal-Schwellenwert ist.
    9. Verfahren, das Folgendes umfasst: Aktivieren, während einer Boot-Sequenz, eines ersten Satzes von Rängen in einem Speichermodul basierend auf einem Batteriestatus und einer Benutzerschnittstelle; Deaktivieren, während der Boot-Sequenz, eines zweiten Satzes von Rängen in dem Speichermodul basierend auf dem Batteriestatus und der Benutzerschnittstelle; Erzeugen einer Abbildung zwischen einem Systemadressraum und einem ersten Satz von Bänken in dem ersten Satz von Rängen; und Ausschließen eines zweiten Satzes von Bänken in dem ersten Satz von Rängen aus der Abbildung; wobei optional das Verfahren ferner Folgendes beinhaltet: Überwachen einer Schreibaktivität in Bezug auf den ersten Satz von Bänken; und Deaktivieren von Aktualisierungen in einer oder mehreren Bänken in dem ersten Satz von Bänken basierend auf der Schreibaktivität.
    10. Verfahren nach Anspruch 9, wobei die Benutzerschnittstelle eine Konfigurationsobjektstruktur beinhalten soll, die Speichereigenschaften und/oder eine Speicherkonfiguration und/oder eine Performancekonfiguration und/oder eine Benutzerschnittstellenelementkonfiguration und/oder eine Speicherkonfiguration und/oder eine Hot-Swap-Konfiguration definiert; und/oder wobei der Batteriestatus angibt, dass ein Restbatterieladezustand kleiner als ein Normal-Schwellenwert und größer als ein Schwellenwert für reduzierten Speicherstart ist, und wobei die Abbildung mit einem Abbildungsschema für schwache Batterie assoziiert ist; und/oder wobei das Verfahren ferner Folgendes beinhaltet: Sammeln von Telemetriedaten während eines konfigurierbaren Min-Memory-Start-Modus, wobei die Telemetriedaten mit dem ersten Satz von Rängen und dem zweiten Satz von Rängen assoziiert werden; Detektieren einer Änderung des Batteriestatus; Aktivieren des zweiten Satzes von Rängen als Reaktion auf die Änderung; und Aufnehmen des zweiten Satzes von Bänken in die Abbildung als Reaktion auf die Änderung; wobei optional die Änderung angibt, dass ein Restbatterieladezustand größer als ein Normal-Schwellenwert ist.
    DE102021117226.8A 2020-08-06 2021-07-05 Konfigurierbarer reduzierter speicherstart Pending DE102021117226A1 (de)

    Applications Claiming Priority (4)

    Application Number Priority Date Filing Date Title
    IN202041033777 2020-08-06
    IN202041033777 2020-08-06
    US17/028,315 US11922172B2 (en) 2020-08-06 2020-09-22 Configurable reduced memory startup
    US17/028,315 2020-09-22

    Publications (1)

    Publication Number Publication Date
    DE102021117226A1 true DE102021117226A1 (de) 2022-02-10

    Family

    ID=74187474

    Family Applications (1)

    Application Number Title Priority Date Filing Date
    DE102021117226.8A Pending DE102021117226A1 (de) 2020-08-06 2021-07-05 Konfigurierbarer reduzierter speicherstart

    Country Status (4)

    Country Link
    US (1) US11922172B2 (de)
    JP (1) JP2022031141A (de)
    CN (1) CN114064529A (de)
    DE (1) DE102021117226A1 (de)

    Families Citing this family (3)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    US11593239B2 (en) * 2021-07-26 2023-02-28 Dell Products L.P. System and method for remotely booting a system
    US20230029911A1 (en) * 2021-08-02 2023-02-02 Dell Products L.P. Systems and methods for battery context-aware limiting of bios managed operations
    CN114327650B (zh) * 2021-12-17 2023-08-18 苏州浪潮智能科技有限公司 一种SetVariable服务实现方法、装置及介质

    Family Cites Families (4)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    TWI254856B (en) * 2004-10-29 2006-05-11 Via Tech Inc Memory interleave method
    US8819359B2 (en) * 2009-06-29 2014-08-26 Oracle America, Inc. Hybrid interleaving in memory modules by interleaving physical addresses for a page across ranks in a memory module
    JP5744118B2 (ja) * 2013-07-17 2015-07-01 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置
    US20170285722A1 (en) * 2014-08-27 2017-10-05 Samsung Electronics Co., Ltd. Method for reducing battery consumption in electronic device

    Also Published As

    Publication number Publication date
    US20210026649A1 (en) 2021-01-28
    JP2022031141A (ja) 2022-02-18
    US11922172B2 (en) 2024-03-05
    CN114064529A (zh) 2022-02-18

    Similar Documents

    Publication Publication Date Title
    DE102014003704B4 (de) Plattform-agnostisches Powermanagement
    DE112006002835B4 (de) Verfahren und System zum Optimieren der Latenz bei dynamischer Speichereinteilung
    DE102021117226A1 (de) Konfigurierbarer reduzierter speicherstart
    DE602005005557T2 (de) Modul zur Verminderung der Leistungsaufnahme eines Festplattenlaufwerks
    DE102010045743B4 (de) Verfahren und Vorrichtung, um Turboleistung für das Event-Handling zu verbessern
    DE112007001215B4 (de) Vorhersage der Leistungsnutzung von Rechenplattformspeicher
    DE112007001987B4 (de) Überführen einer Rechenplattform in einen Systemzustand niedriger Leistung
    JP5960842B2 (ja) ハイブリッドなライトスルー/ライトバックキャッシュポリシーマネージャ、ならびに関連するシステムおよび方法
    DE102018128601A1 (de) Hintergrunddatenauffrischung unter Verwendung eines Systemzeitstempels in Speicherungseinrichtungen
    US8392659B2 (en) Extending cache capacity on multiple-core processor systems
    DE102020133273A1 (de) Leistungsüberwachung und Ressorcenverwaltung
    DE112006003575T5 (de) Verfahren und Vorrichtung für einen Nullspannungs-Prozessorschlafzustand
    DE102010034555A1 (de) Bereitstellen von Zustandsspeicher in einem Prozessor für Systemmanagement-Modus
    DE112011103193T5 (de) Bereitstellung einer Pro-Kern-Spannungs-und Frequenzsteuerung
    DE112017001020T5 (de) Unterstützung einer vielzahl von speichertypen in einem speichersteckplatz
    DE112011105590T5 (de) Energieeffiziente Prozessorarchitektur
    DE102015223187A1 (de) Ein-Chip-Systeme zum Steuern von Leistung mittels Auslastungen, Verfahren zum Betreiben dieser, und Computervorrichtungen, die diese umfassen
    DE112017001805T5 (de) Bestimmen von thermischen obergrenzen in einem prozessor mit mehreren dies
    DE112012007115T5 (de) Wahlweise Logikprozessor-Zählung und Typauswahl für eine gegebene Arbeitsbelastung basierend auf Wärme- und Leistungsbudget-Einschränkungen der Plattform
    DE102020116316A1 (de) Prioritätsbasierte batterie-zuordnung für ressourcen während leistungsausfall
    DE112017003080T5 (de) Prozessor mit gleichzeitigem kern und gewebeausgang aus einem zustand mit geringer energie
    DE112017004361T5 (de) Steuern eines leistungszustands eines prozessors unter verwendung einer kombination von package- und thread-hinweis-informationen
    DE102018129330A1 (de) System, Vorrichtung und Verfahren zur prozessorexternen Überschreibung der Hardwareleistungszustandssteuerung eines Prozessors
    DE102020133261A1 (de) Techniken zum Vorhersagen der Zeit bis zur Bereitschaft für eine Speichervorrichtung
    DE102015202513A1 (de) Vorrichtung und Verfahren zur Datenspeicherung sowie Datenverarbeitungssystem damit