DE112015004405T5 - Nichtflüchtiges speichermodul - Google Patents

Nichtflüchtiges speichermodul Download PDF

Info

Publication number
DE112015004405T5
DE112015004405T5 DE112015004405.1T DE112015004405T DE112015004405T5 DE 112015004405 T5 DE112015004405 T5 DE 112015004405T5 DE 112015004405 T DE112015004405 T DE 112015004405T DE 112015004405 T5 DE112015004405 T5 DE 112015004405T5
Authority
DE
Germany
Prior art keywords
power
memory module
memory
rail
logic
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.)
Granted
Application number
DE112015004405.1T
Other languages
English (en)
Other versions
DE112015004405B4 (de
Inventor
Mani Prakash
Edward L. Payton
Dimitrios Ziakas
Mohamed Arafa
Raj K. Ramanujan
Dong Wang
John K. Grooms
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 DE112015004405T5 publication Critical patent/DE112015004405T5/de
Application granted granted Critical
Publication of DE112015004405B4 publication Critical patent/DE112015004405B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C14/00Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down
    • G11C14/0009Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down in which the volatile element is a DRAM cell
    • G11C14/0018Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down in which the volatile element is a DRAM cell whereby the nonvolatile element is an EEPROM element, e.g. a floating gate or metal-nitride-oxide-silicon [MNOS] transistor
    • 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/40615Internal triggering or timing of refresh, e.g. hidden refresh, self refresh, pseudo-SRAMs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/04Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1072Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Power Sources (AREA)

Abstract

Speichermodule, Controller und elektronische Einrichtungen, die Speichermodule umfassen, sind beschrieben. Bei einer Ausführungsform umfasst ein Speichermodul einen nichtflüchtigen Speicher und eine Schnittstelle zu einem Bus eines flüchtigen Speichers, mindestens eine Stromeingangsschiene zum Empfangen von Strom von einer Host-Plattform und einen Controller, der Logik, zumindest teilweise Hardwarelogik beinhaltend, umfasst, um den Strom von der Stromeingangsschiene von einer Eingangsspannung zu zumindest einer Ausgangsspannung umzuwandeln, die sich von der Eingangsspannung unterscheidet. Andere Ausführungsformen werden auch offenbart und beansprucht.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Offenbarung betrifft allgemein das Gebiet der Elektronik. Insbesondere betreffen manche Ausführungsformen der Erfindung allgemein nichtflüchtige Speichermodule.
  • HINTERGRUND
  • Anhaltende Fortschritte bei der Systemarchitektur, z.B. Mehrkernverarbeitung, und Fortschritte bei der Anwendung benötigen entsprechende Fortschritte bei Speichersystemen. Nichtflüchtige Speichersysteme bieten verschiedene Vorteile gegenüber flüchtigem Speicher. Die Fähigkeit, bestehende Speichersysteme (z.B. DIMMs (Direct In-Line Memory Modules)) anzupassen, so dass sie nichtflüchtigen Speicher beinhalten, ist jedoch aufgrund verschiedener Faktoren, einschließlich Kosten, Strommanagement und Wärmemanagement, eingeschränkt.
  • Dementsprechend können Techniken zum Integrieren von nichtflüchtigen Speichermodulen in bestehende Speicherarchitekturen Nutzen finden.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die ausführliche Beschreibung ist unter Bezugnahme auf die begleitenden Figuren bereitgestellt. In den Figuren identifizieren die am weitesten links gelegene Ziffer bzw. gelegenen Ziffern einer Bezugsnummer die Figur, in der die Bezugsnummer zuerst erscheint. Die Verwendung der gleichen Bezugsnummern in unterschiedlichen Figuren gibt ähnliche oder identische Elemente an.
  • 1 ist eine schematische Blockschaltbildveranschaulichung eines Systems, das ein Speichermodul gemäß verschiedenen vorliegend besprochenen Beispielen beinhaltet.
  • 2A2B sind schematische Blockschaltbilder einer beispielhaften Architektur eines nichtflüchtigen Speichermoduls, das gemäß verschiedenen vorliegend besprochenen Ausführungsformen implementiert werden kann.
  • 3 ist ein schematisches Blockschaltbild einer elektrischen Architektur eines nichtflüchtigen Speichermoduls, das gemäß verschiedenen vorliegend besprochenen Ausführungsformen implementiert werden kann.
  • 4 und 5A5B sind Flussdiagramme, die Arbeitsvorgänge in einem Verfahren zum Implementieren eines nichtflüchtigen Speichermoduls gemäß verschiedenen vorliegend besprochenen Ausführungsformen veranschaulichen.
  • 610 sind schematische Blockschaltbildveranschaulichungen von elektronischen Einrichtungen, die dazu ausgelegt sein können, ein nichtflüchtiges Speichermodul gemäß verschiedenen vorliegend besprochenen Ausführungsformen zu implementieren.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Vorliegend sind nichtflüchtige Speichermodule beschrieben, die dazu konfiguriert sind, in einem DIMM-Formfaktor (Dual In-Line Memory Module) für flüchtigen Speicher wie etwa DDS-SDRAM (Dual Data Rate (DDR) Synchronous Dynamic Random Access Memory) zu arbeiten. Insbesondere sind vorliegend Speichermodule beschrieben, die einen internen Controller integrieren, der Strommanagementfunktionen durchführt, was ein Speichermodul ermöglicht, das mit flüchtigem Speicher konform ist, zum Beispiel DDR-SDRAM-Standards, für DIMMs, die durch das Joint Electronic Device Engineering Council (JEDEC) veröffentlicht werden und für die Öffentlichkeit auf der JEDEC-Webseite www.jedec.org unter Dokumentnummer JESD79-4, veröffentlicht im September 2012, verfügbar sind. Um dies zu erreichen, kann ein Strommanagementcontroller auf einem Speichermodul integriert sein, um Strom von der Stromeingangsschiene von einer Eingangsspannung zu zumindest einer Ausgangsspannung, die sich von der Eingangsspannung unterscheidet, umzuwandeln. Der Strommanagementcontroller führt zusätzliche Funktionen durch, die im Folgenden ausführlicher beschrieben werden.
  • In der folgenden Beschreibung werden zahlreiche spezifische Einzelheiten dargelegt, um ein umfassendes Verständnis der verschiedenen Ausführungsformen bereitzustellen. Verschiedene Ausführungsformen der Erfindung können jedoch ohne die spezifischen Einzelheiten umgesetzt werden. In anderen Fällen sind bekannte Verfahren, Prozeduren, Komponenten und Schaltungen nicht ausführlich beschrieben worden, um die bestimmten Ausführungsformen der Erfindung nicht undeutlich zu machen. Des Weiteren können verschiedene Aspekte von Ausführungsformen der Erfindung unter Verwendung verschiedener Mittel durchgeführt werden, wie etwa integrierter Halbleiterschaltungen („Hardware“), computerlesbarer Anweisungen, die in ein oder mehrere Programme organisiert sind („Software“) oder einer Kombination von Hardware und Software. Zum Zweck dieser Offenbarung soll ein Verweis auf „Logik“ entweder Hardware, Software oder eine Kombination dieser bezeichnen.
  • 1 ist eine schematische Blockschaltbildveranschaulichung eines Systems, das ein Speichermodul gemäß verschiedenen vorliegend besprochenen Beispielen beinhaltet. Mit Bezug auf 1 stellt ein System-Hauptspeicher 100 eine Laufzeitdatenspeicherung und einen Zugriff auf die Inhalte eines (nicht dargestellten) System-Plattenspeichers an eine CPU 110 bereit. Die CPU 110 kann einen Cache-Speicher beinhalten, der eine Teilmenge der Inhalte des Hauptspeichers 100 speichern würde.
  • Bei dieser Ausführungsform gibt es zwei Speicherebenen. Der Hauptspeicher 100 beinhaltet eine Ebene aus flüchtigem Speicher, die als Nahspeicher (DRAM) 120 dargestellt ist, und eine Speicherebene, die als Fernspeicher 130 dargestellt ist. Der Fernspeicher kann entweder flüchtigen Speicher, z.B. SRAM (Static Random Access Memory), einen DRAM (Dynamic Random Access Memory), nichtflüchtigen Speicher umfassen, oder kann nichtflüchtigen Speicher beinhalten, z.B. Phasenwechselspeicher, NAND-(Flash)-Speicher, FeRAM (Ferroelectric Random-Access Memory), auf Nanodraht basierenden nichtflüchtigen Speicher, Speicher, der Memristor-Technologie integriert, dreidimensionalen (3D) Kreuzungspunktspeicher wie etwa Phasenwechselspeicher (PCM), MRAM (Magnetoresistive Random Access Memory), STT-RAM (Spin-Transfer Torque Memory) oder NAND-Flash-Speicher. Bei dieser Ausführungsform versorgt der Nahspeicher 120 einen Cache niedriger Latenz und hoher Bandbreite (d.h. für einen Zugriff auf die CPU 110) des Fernspeichers 130, der eine erheblich niedrigere Bandbreite und höhere Latenz (d.h. für einen Zugriff auf die CPU 110) aufweisen kann.
  • Bei dieser Ausführungsform wird der Nahspeicher 120 durch einen Nahspeichercontroller (NCM) 125 verwaltet, während der Fernspeicher 130 durch einen Fernspeichercontroller (FMC) 135 verwaltet wird. Der FMC 135 zeigt den Fernspeicher 130 dem System-Betriebssystem (OS) als einen Hauptspeicher an – d.h. das System-OS erkennt die Größe des Fernspeichers 130 als die Größe des System-Hauptspeichers 100. Das System-OS und Systemanwendungen sind sich des Vorhandenseins des Nahspeichers 120 „nicht bewusst“, da er ein „transparenter“ Cache des Fernspeichers 130 ist.
  • Die CPU 110 umfasst ferner ein Zwei-Ebenen-Speicher(2LM)-Engine-Modul/eine Zwei-Ebenen-Speicher(2LM)-Engine-Logik 140. Die „2LM-Engine“ ist ein logisches Konstrukt, das Hardware und/oder Mikrocode-Erweiterungen umfassen kann, um den Zwei-Ebenen-Hauptspeicher 100 zu unterstützen. Beispielsweise kann die 2LM-Engine 140 eine Full-Tag-Tabelle verwalten, die den Zustand aller architektonisch sichtbaren Elemente des Fernspeichers 130 verfolgt. Wenn die CPU 110 zum Beispiel versucht, auf ein spezifisches Datensegment im Hauptspeicher 100 zuzugreifen, bestimmt die 2LM-Engine 140, ob das Datensegment im Nahspeicher 120 enthalten ist, falls dem nicht so ist, ruft die 2LM-Engine 140 das Datensegment im Fernspeicher 130 ab und schreibt das Datensegment anschließend in den Nahspeicher 120 (ähnlich zu einem Cache-Miss). Es versteht sich, da der Nahspeicher 120 als ein „Cache“ des Fernspeichers 130 agiert, dass die 2LM-Engine 140 ferner einen Datenvorabruf oder ähnliche in der Technik bekannte effiziente Cache-Prozesse ausführen kann.
  • Die 2LM-Engine 140 kann andere Aspekte des Fernspeichers 130 verwalten. Bei Ausführungsformen, in denen der Fernspeicher 130 zum Beispiel nichtflüchtigen Speicher umfasst, versteht es sich, dass nichtflüchtiger Speicher, wie etwa Flash, einer Degradation von Speichersegmenten aufgrund maßgeblicher Lesungen/Schreibungen unterliegt. Somit kann die 2LM-Engine 140 Funktionen einschließlich Verschleißausgleich, Falscher-Block-Vermeidung und dergleichen, auf eine Weise ausführen, die für Systemsoftware transparent ist. Beispielsweise kann das Ausführen einer Verschleißausgleichslogik Auswählen von Segmenten aus einem freien Bereich von gereinigten nicht abgebildeten Segmenten im Fernspeicher 130 beinhalten, die eine relativ geringe Anzahl von Löschzyklen aufweisen.
  • Es versteht sich, dass der Nahspeicher 120 kleiner als der Fernspeicher 130 ist, obwohl das exakte Verhältnis zum Beispiel basierend auf der beabsichtigten Systemverwendung variieren kann. Bei dieser Ausführungsform versteht es sich, da der Fernspeicher 130 dichteren kostengünstigeren nichtflüchtigen Speicher umfasst, dass der Hauptspeicher 100 kostengünstig und effizient und unabhängig von der DRAM-Menge (d.h. Nahspeicher 120) im System vergrößert werden kann.
  • Bei verschiedenen Ausführungsformen kann zumindest ein Teil des Speichers in den Speichereinrichtungen 150 als DIMM-Einrichtungen konfiguriert sein und kann nichtflüchtigen Speicher beinhalten, z.B. Phasenwechselspeicher (PCM), einen dreidimensionalen Kreuzungspunktspeicher, einen resistiven Speicher, Nanodraht-Speicher, FeTRAM (Ferro-Electric Transistor Random Access Memory), Flash-Speicher wie etwa NAND oder NOR, MRAM-Speicher (Magnetoresistive Random Access Memory), der Memristor-Technologie beinhaltet, und STT-MRAM (Spin Transfer Torque).
  • 2A2B sind schematische Blockschaltbilder einer beispielhaften Architektur eines nichtflüchtigen Speichermoduls, das gemäß verschiedenen vorliegend besprochenen Ausführungsformen implementiert werden kann. Insbesondere bildet 2A eine erste Seite und 2B eine zweite Seite eines nichtflüchtigen Speichermoduls ab, das gemäß verschiedenen vorliegend besprochenen Ausführungsformen implementiert werden kann. Mit Bezug auf die 2A2B kann ein Speichermodul 200 bei manchen Beispielen eine Karte 210 umfassen, die so abgemessen ist, dass sie in einen DIMM-Steckplatz passt und mehrere Verbindungselemente oder Pins 212 aufweist, die so positioniert sind, dass sie elektrische Kontakte mit entsprechenden Pins in einem DIMM-Steckplatz auf einer Leiterplatte einer elektronischen Einrichtung bereitstellen.
  • Das Speichermodul 200 kann ferner nichtflüchtige Speicherbanken 220A, 220B, 220C, 220D umfassen, die vorliegend zusammengenommen durch die Bezugsnummer 220 bezeichnet werden können. Wie oben beschrieben, kann zumindest ein Teil des Speichers in den Speicherbanken 220 als DIMM-Einrichtungen konfiguriert sein und kann implementierter nichtflüchtiger Speicher sein, z.B. NAND-(Flash)-Speicher, FeRAM (Ferroelectric Random-Access Memory), auf Nanodraht basierender nichtflüchtiger Speicher, Speicher, der Memristor-Technologie beinhaltet, dreidimensionaler (3D) Kreuzungspunktspeicher wie etwa Phasenwechselspeicher (PCM), STT-RAM (Spin-Transfer Torque Memory) oder NAND-Flash-Speicher.
  • Das Speichermodul 200 kann ferner einen Mediencontroller 230, der dem in 1 abgebildeten Controller 142 entsprechen kann, einen Taktgeber 232 und einen Strommanagementcontroller 240 umfassen. Bei manchen Beispielen kann der Strommanagementcontroller 240 in eine integrierte Schaltungseinrichtung (z.B. eine anwendungsspezifische integrierte Schaltung (ASIC)) integriert sein, die vom Mediencontroller 240 abgetrennt ist. Bei anderen Beispielen kann der Strommanagementcontroller 240 im Mediencontroller 230 integriert sein.
  • 3 ist ein schematisches Blockschaltbild einer elektrischen Architektur eines nichtflüchtigen Speichermoduls 200, wie etwa das Speichermodul 200, das gemäß verschiedenen vorliegend besprochenen Ausführungsformen implementiert werden kann. Mit Bezug auf 3 ist das nichtflüchtige Speichermodul 200 bei manchen Beispielen über ein geeignetes Host-Verbindungselement 310 mit einer Host-Einrichtung gekoppelt. Bei manchen Beispielen stellt das Host-Verbindungselement 310 elektrische Verbindungen bereit, einschließlich eines 12-Volt-Eingangs, der an einer Eingangsschiene 320 bereitgestellt ist. Das Host-Verbindungselement 310 kann auch Strom zu einem oder mehreren Flash-Speichermodulen 330 und einem oder mehreren Speicherpuffern 332 bereitstellen.
  • Der Strom auf der Eingangsschiene 320 wird dem Strommanagementcontroller 240 bereitgestellt. Im Betrieb empfängt der Strommanagementcontroller 240 Strom von der Stromeingangsschiene 320 und verteilt den Strom über Stromausgangsschienen 322A322J, die vorliegend zusammengenommen durch die Bezugsnummer 322 bezeichnet werden können, an andere Komponenten des nichtflüchtigen Speichermoduls 200. Die Stromausgangsschienen 322 stellen Strom an andere Komponenten des Speichermoduls 200 bereit, einschließlich des Speichercontrollers 230, des Taktgebers 232 und eines oder mehrerer nichtflüchtiger Speichermodule 220. Der Controller 240 stellt auch Strom an eine Energiespeichereinrichtung 250 bereit. Bei manchen Beispielen kann die Energiespeichereinrichtung 250 als ein oder mehrere Kondensatoren, eine Batterie oder dergleichen implementiert sein.
  • Wie oben beschrieben, implementiert der Controller 240 in dem einen oder den mehreren Speichermodulen 200 bei manchen Ausführungsformen Strommanagementarbeitsvorgänge im Speichermodul 200. Arbeitsvorgänge, die durch den Controller 240 und/oder den Treiber 162 implementiert werden, werden unter Bezugnahme auf die 4 und 5A5B beschrieben.
  • Zunächst mit Bezug auf 4 überwacht der Strommanagementcontroller 240 bei Arbeitsvorgang 410 die Spannung an der Stromeingangsschiene. Bei Arbeitsvorgang 415 bestimmt der Controller 240, ob die Spannung am Stromeingangsbus eine Minimalschwelle erfüllt. Falls die Spannung die Schwelle nicht erfüllt, dann fährt der Controller 240 damit fort, die Eingangsschiene zu überwachen. Falls im Gegensatz dazu die Spannung an der Stromeingangsschiene bei Arbeitsvorgang 415 die Schwelle erfüllt oder überschreitet, dann geht die Steuerung zu Arbeitsvorgang 420 über und der Controller 240 initiiert eine Hochfahrsequenz.
  • Bei manchen Beispielen empfängt die Hochfahrsequenz Strom von der Stromeingangsschiene 320 (Arbeitsvorgang 425) und wandelt dann den Strom um und verteilt diesen über die Ausgangsschienen 322 zu den verschiedenen Komponenten auf dem Speichermodul 200 (Arbeitsvorgang 430). Diese wandelt den Strom von der Eingangsspannung in eine Spannung um, die für die Komponente, zu der der Strom verteilt wird, geeignet ist. Des Weiteren implementiert die Hochfahrsequenz bei manchen Beispielen Verzögerungen beim Hochfahren der verschiedenen Ausgangsschienen 322. Die Ausgangsverzögerungen können variabel sein, so dass der Strom zu einer ersten Stromausgangsschiene nach einer ersten Verzögerung und zu einer zweiten Stromausgangsschiene nach einer zweiten Verzögerung bereitgestellt wird und so weiter. Bei manchen Beispielen kann der Controller 240 eine konstante Stromausgabe an den entsprechenden Ausgangsschienen 322 bereitstellen. Bei anderen Ausführungsformen kann der Controller 240 eine veränderliche Ausgangsspannung an einer oder mehreren der Ausgangsschienen 322 erzeugen.
  • Sobald die Hochfahrsequenz abgeschlossen ist, tritt der Controller 240 in einen Zustand ein, in dem er den Zustand des Stroms an der Eingangsschiene 320 überwacht. Falls bei Arbeitsvorgang 440 eine Stromausfallbedingung detektiert wird, dann geht die Steuerung zu Arbeitsvorgang 445 über und der Controller 240 initiiert eine Stromausfallsequenz. Falls im Gegensatz dazu keine Stromausfallbedingung bei Arbeitsvorgang 440 detektiert wird, dann geht die Steuerung zu Arbeitsvorgang 450 über und der Controller 240 überwacht auf eine Stromrücksetzbedingung.
  • Falls bei Arbeitsvorgang 450 eine Stromrücksetzbedingung detektiert wird, dann geht die Steuerung zu Arbeitsvorgang 455 über und der Controller initiiert eine Stromrücksetzsequenz. Falls im Gegensatz dazu keine Stromrücksetzbedingung bei Arbeitsvorgang 450 detektiert wird, dann kehrt die Steuerung zu Arbeitsvorgang 435 zurück. Somit definieren die Arbeitsvorgänge 435455 eine Schleife, gemäß der der Controller 240 auf eine Stromausfallbedingung und/oder eine Stromrücksetzbedingung überwacht.
  • 5A ist ein Flussdiagramm, das Arbeitsvorgänge, die an der Stromausfallüberwachung und der Stromausfallsequenz beteiligt sind, ausführlicher beschreibt. Mit Bezug auf 5 überwacht der Controller bei Arbeitsvorgang 510 die Stromeingangsschiene 320. Bei Arbeitsvorgang 515 bestimmt der Controller 240, ob die Spannung an der Stromeingangsschiene für einen vorbestimmten Minimalzeitraum (z.B. 10 Millisekunden (ms)) unter eine Minimalschwelle (z.B. 12V) fällt. Falls die Spannung nicht für den Minimalzeitraum unter die Schwelle fällt, dann fährt der Controller 240 fort, die Eingangsschiene zu überwachen. Falls im Gegensatz dazu die Spannung an der Stromeingangsschiene bei Arbeitsvorgang 515 für den Minimalzeitraum unter die Schwelle fällt, dann geht die Steuerung zu Arbeitsvorgang 520 über und der Controller 240 schaltet den Eingangsstrom zum Controller 240 von der Stromeingangsschiene 320 zum Energiespeicher 250 um. Der Controller 240 fährt dann fort, Strom von der gespeicherten Energie abzuziehen, während er eine ordnungsgemäße Herunterfahrkomponente auf dem Speichermodul gemäß einer Stromausfallpriorität durchführt, die in einem Speicher gespeichert sein kann, der sich auf dem Controller 240 befindet oder mit diesem gekoppelt ist.
  • 5B ist ein Flussdiagramm, das Arbeitsvorgänge ausführlicher beschreibt, die an der Stromrücksetzüberwachung und der Stromausfallsequenz beteiligt sind. Mit Bezug auf 5 überwacht der Controller 240 bei Arbeitsvorgang 550 einen Rücksetzeingangspin an den Verbindungselementen 212. Falls der Controller 240 bei Arbeitsvorgang 555 kein Rücksetzsignal detektiert, dann fährt der Controller 240 fort, den Rücksetzeingangspin zu überwachen. Falls im Gegensatz dazu der Controller 240 bei Arbeitsvorgang 555 ein Rücksetzsignal detektiert, dann geht die Steuerung zu Arbeitsvorgang 560 über und der Controller 240 schaltet den Eingangsstrom zum Controller 240 von der Stromeingangsschiene 320 zum Energiespeicher 250 um. Der Controller 240 fährt dann fort, Strom von der gespeicherten Energie abzuziehen, während er eine ordnungsgemäße Herunterfahrkomponente auf dem Speichermodul gemäß einer Stromausfallpriorität durchführt, die in einem Speicher gespeichert sein kann, der sich auf dem Controller 240 befindet oder mit diesem gekoppelt ist.
  • Wie oben beschrieben, kann die elektronische Einrichtung bei manchen Ausführungsformen als ein Computersystem umgesetzt sein. 6 veranschaulicht ein Blockschaltbild eines Datenverarbeitungssystems 600 gemäß einer Ausführungsform der Erfindung. Das Datenverarbeitungssystem 600 kann eine oder mehrere Zentralverarbeitungseinheiten (CPUs) 602 oder einen oder mehrere Prozessoren beinhalten, die über ein Verbindungsnetzwerk (oder einen Bus) 604 kommunizieren. Die Prozessoren 602 können einen Allgemeinprozessor, einen Netzwerkprozessor (der Daten verarbeitet, die über ein Computernetzwerk 603 kommuniziert werden) oder andere Arten eines Prozessors (einschließlich eines RISC-Prozessors (Reduced Instruction Set Computer) oder eines CISC (Complex Instruction Set Computer)) beinhalten. Darüber hinaus können die Prozessoren 602 eine Einzel- oder Mehrkernkonstruktion aufweisen. Die Prozessoren 602 mit einer Mehrkernkonstruktion können unterschiedliche Arten von Prozessorkernen auf demselben integrierten Schaltungs-Die (IC-Die) integrieren. Die Prozessoren 602 mit einer Mehrkernkonstruktion können auch als symmetrische oder asymmetrische Multiprozessoren implementiert werden. Bei einer Ausführungsform kann bzw. können einer oder mehrere der Prozessoren 602 der gleiche wie die oder ähnlich zu den Prozessoren 102 von 1 sein. Beispielsweise kann bzw. können einer oder mehrere der Prozessoren 602 die Steuereinheit 120 beinhalten, die unter Bezugnahme auf die 13 besprochen wurde. Die Arbeitsvorgänge, die unter Bezugnahme auf die 35 besprochen wurden, können auch durch eine oder mehrere Komponenten des Systems 600 durchgeführt werden.
  • Ein Chipsatz 606 kann auch mit dem Verbindungsnetzwerk 604 kommunizieren. Der Chipsatz 606 kann einen Speichersteuerhub (MCH) 608 beinhalten. Der MCH 608 kann einen Speichercontroller 610 beinhalten, der mit einem Speicher 612 (der der gleiche wie der oder ähnlich zu dem Speicher 130 von 1 sein kann) kommuniziert. Der Speicher 412 kann Daten speichern, einschließlich Sequenzen von Anweisungen, die durch die CPU 602 oder eine beliebige andere Einrichtung, die im Datenverarbeitungssystem 600 enthalten ist, ausgeführt werden können. Bei einer Ausführungsform der Erfindung kann der Speicher 612 eine oder mehrere flüchtige Speicherungseinrichtungen (oder Speichereinrichtungen) beinhalten, wie etwa Direktzugriffsspeicher (RAM), dynamischer RAM (DRAM), synchroner DRAM (SDRAM), statischer RAM (SRAM) oder andere Arten von Speicherungseinrichtungen. Nichtflüchtiger Speicher kann auch genutzt werden, wie etwa eine Festplatte. Zusätzliche Einrichtungen können über das Verbindungsnetzwerk 604 kommunizieren, wie etwa mehrere CPUs und/oder mehrere Systemspeicher.
  • Der MHC 608 kann auch eine Grafikschnittstelle 614 beinhalten, die mit einer Anzeigeeinrichtung 616 kommuniziert. Bei einer Ausführungsform der Erfindung kann die Grafikschnittstelle 614 über einen AGP (Accelerated Graphics Port) mit der Anzeigeeinrichtung 616 kommunizieren. Bei einer Ausführungsform der Erfindung kann die Anzeige 616 (wie etwa ein Flachbildschirm) mit der Grafikschnittstelle 614 über zum Beispiel einen Signalwandler kommunizieren, der eine digitale Repräsentation eines Bildes, das in einer Speicherungseinrichtung, wie etwa einem Videospeicher oder Systemspeicher, gespeichert ist, in Anzeigesignale, die durch die Anzeige 616 interpretiert und angezeigt werden, umwandelt. Die Anzeigesignale, die durch die Anzeigeeinrichtung erzeugt werden, können durch verschiedene Steuereinrichtungen laufen, bevor sie durch die Anzeige 616 interpretiert werden und anschließend auf dieser angezeigt werden.
  • Eine Hub-Schnittstelle 618 kann dem MCH 608 und einem Eingangs-/Ausgangssteuerhub (ICH) 620 ermöglichen, zu kommunizieren. Der ICH 620 kann eine Schnittstelle an eine oder mehrere E/A-Einrichtungen bereitstellen, die mit dem Datenverarbeitungssystem 600 kommuniziert bzw. kommunizieren. Der ICH 620 kann über eine Peripheriebrücke (oder einen Controller) 624, wie etwa eine PCI-Brücke (Peripheral Component Interconnect), einen USB-Controller (Universal Serial Bus) oder andere Arten von Peripheriebrücken oder Controllern mit einem Bus 622 kommunizieren. Die Brücke 624 kann einen Datenpfad zwischen der CPU 602 und Peripherieeinrichtungen bereitstellen. Andere Arten von Topologien können genutzt werden. Mehrere Busse können auch z.B. über mehrere Brücken oder Controller mit dem ICH 620 kommunizieren. Darüber hinaus können bei verschiedenen Ausführungsformen der Erfindung andere Peripheriegeräte, die mit dem ICH 620 in Kommunikation stehen, eine oder mehrere IDE-Festplatten (Integrated Drive Electronics) oder eine oder mehrere SCSI-Festplatten (Small Computer System Interface), einen oder mehrere USB-Ports, eine Tastatur, eine Maus, einen oder mehrere parallele Ports, einen oder mehrere serielle Ports, ein oder mehrere Diskettenlaufwerke, digitale Ausgabeunterstützung (z.B. DVI (Digital Video Interface)) oder andere Einrichtungen beinhalten.
  • Der Bus 622 kann mit einer Audioeinrichtung 626, einem oder mehreren Laufwerken 628 und einer Netzwerkschnittstelleneinrichtung 630 (die mit dem Computernetzwerk 603 in Kommunikation steht) kommunizieren. Andere Einrichtungen können über den Bus 622 kommunizieren. Außerdem können bei manchen Ausführungsformen der Erfindung verschiedene Komponenten (wie etwa die Netzwerkschnittstelleneinrichtung 630) mit dem MCH 608 kommunizieren. Zusätzlich dazu können der Prozessor 602 und eine oder mehrere andere vorliegend besprochene Komponenten kombiniert werden, um einen einzelnen Chip zu bilden (z.B. um ein SOC (System On Chip) bereitzustellen). Des Weiteren kann der Grafikbeschleuniger 616 bei anderen Ausführungsformen der Erfindung im MCH 608 enthalten sein.
  • Des Weiteren kann das Datenverarbeitungssystem 600 flüchtigen und/oder nichtflüchtigen Speicher (oder flüchtige und/oder nichtflüchtige Speicherung) beinhalten. Beispielsweise kann nichtflüchtiger Speicher Nurlesespeicher (ROM) und/oder programmierbaren ROM (PROM) und/oder löschbaren PROM (EPROM) und/oder elektrischen EPROM (EEPROM) und/oder ein Laufwerk (z.B. 628) und/oder eine Diskette und/oder eine CD-ROM und/oder eine DVD und/oder Flash-Speicher und/oder eine magneto-optische Platte und/oder andere Arten von nichtflüchtigen maschinenlesbaren Medien, die in der Lage sind, elektronische Daten (z.B. einschließlich Anweisungen) zu speichern, beinhalten.
  • 7 veranschaulicht ein Blockschaltbild eines Datenverarbeitungssystems 700 gemäß einer Ausführungsform der Erfindung. Das System 700 kann einen oder mehrere Prozessoren 702-1 bis 702-N beinhalten (die vorliegend allgemein als „Prozessoren 702“ oder „Prozessor 702“ bezeichnet werden). Die Prozessoren 702 können über ein Verbindungsnetzwerk oder Bus 704 kommunizieren. Jeder Prozessor kann verschiedene Komponenten beinhalten, von denen manche zur Verständlichkeit nur unter Bezugnahme auf den Prozessor 702-1 besprochen werden. Dementsprechend kann jeder der verbleibenden Prozessoren 702-2 bis 702-N die gleichen oder ähnliche Komponenten beinhalten, die unter Bezugnahme auf den Prozessor 702-1 besprochen werden.
  • Bei einer Ausführungsform kann der Prozessor 702-1 einen oder mehrere Prozessorkerne 706-1 bis 706-M (die vorliegend als „Kerne 706“ oder allgemeiner als „Kern 706“ bezeichnet werden), einen gemeinsam genutzten Cache 708, einen Router 710 und/oder eine Prozessorsteuerlogik oder -einheit 720 beinhalten. Die Prozessorkerne 706 können auf einem einzelnen integrierten Schaltungschip (IC-Chip) implementiert werden. Darüber hinaus kann der Chip einen oder mehrere gemeinsam genutzte Caches (wie etwa Cache 708), Busse oder Verbindungen (wie etwa einen Bus oder ein Verbindungsnetzwerk 712), Speichercontroller oder andere Komponenten beinhalten.
  • Bei einer Ausführungsform kann der Router 710 zum Kommunizieren zwischen verschiedenen Komponenten des Prozessors 702-1 und/oder dem System 700 verwendet werden. Darüber hinaus kann der Prozessor 702-1 mehr als einen Router 710 beinhalten. Des Weiteren kann die Mehrzahl von Routern 710 in Kommunikation stehen, so dass Datarouting zwischen verschiedenen Komponenten innerhalb oder außerhalb des Prozessors 702-1 ermöglicht wird.
  • Der gemeinsam genutzte Cache 708 kann Daten (z.B. einschließlich Anweisungen) speichern, die durch eine oder mehrere Komponenten des Prozessors 702-1, wie etwa die Kerne 706, genutzt werden. Der gemeinsam genutzte Cache 708 kann zum Beispiel Daten, die in einem Speicher 714 gespeichert sind, für einen schnelleren Zugriff durch Komponenten des Prozessors 702 lokal cachen. Bei einer Ausführungsform kann der Cache 708 einen Mid-Level-Cache (wie etwa Level 2 (L2), Level 3 (L3), Level 4 (L4) oder andere Cache-Ebenen), einen Last-Level-Cache (LLC) und/oder Kombinationen davon beinhalten. Darüber hinaus können verschiedene Komponenten des Prozessors 702-1 mit dem gemeinsam genutzten Cache 708 direkt, über einen Bus (z.B. den Bus 712) und/oder einen Speichercontroller oder Hub kommunizieren. Wie in 7 dargestellt, kann bzw. können der eine oder die mehreren der Kerne 706 bei manchen Ausführungsformen einen Level 1(L1)-Cache 716-1 (der vorliegend allgemein als „L1-Cache 716“ bezeichnet ist) beinhalten. Bei einer Ausführungsform kann die Steuereinheit 720 Logik zum Implementieren der oben unter Bezugnahme auf den Speichercontroller 122 in 2 beschriebenen Arbeitsvorgänge beinhalten.
  • 8 veranschaulicht ein Blockschaltbild von Teilen eines Prozessorkerns 706 und anderer Komponenten eines Datenverarbeitungssystems gemäß einer Ausführungsform der Erfindung. Bei einer Ausführungsform veranschaulichen die in 8 dargestellten Pfeile die Ablaufrichtung von Anweisungen durch den Kern 706. Einer oder mehrere Prozessorkerne (wie etwa der Prozessorkern 706) kann bzw. können auf einem einzelnen integrierten Schaltungschip (oder -Die), wie etwa unter Bezugnahme auf 7 besprochen, implementiert werden. Darüber hinaus kann der Chip einen oder mehrere gemeinsam genutzte und/oder private Caches (z.B. Cache 708 von 7), Verbindungen (z.B. Verbindungen 704 und/oder 112 von 7), Steuereinheiten, Speichercontroller oder andere Komponenten beinhalten.
  • Wie in 8 veranschaulicht, kann der Prozessorkern 706 eine Abrufeinheit 802 zum Abrufen von Anweisungen (einschließlich Anweisungen mit bedingten Verzweigungen) zur Ausführung durch den Kern 706 beinhalten. Die Anweisungen können von beliebigen Speicherungseinrichtungen wie etwa dem Speicher 714 abgerufen werden. Der Kern 706 kann auch eine Decodiereinheit 804 zum Decodieren der abgerufenen Anweisung beinhalten. Beispielsweise kann die Decodiereinheit 804 die abgerufene Anweisung in mehrere UOPs (Mikro-Arbeitsvorgänge) decodieren.
  • Zusätzlich dazu kann der Kern 706 eine Planungseinheit 806 beinhalten. Die Planungseinheit 806 kann verschiedene Arbeitsvorgänge, die mit dem Speichern von decodierten Anweisungen (die z.B. von der Decodiereinheit 804 empfangen werden) assoziiert sind, durchführen, bis die Anweisungen zur Versendung fertig sind, z.B. bis alle Quellwerte einer decodierten Anweisung verfügbar sind. Bei einer Ausführungsform kann die Planungseinheit 806 decodierte Anweisungen planen und/oder diese zu einer Ausführungseinheit 808 zur Ausführung ausstellen (oder versenden). Die Ausführungseinheit 808 kann die versendeten Anweisungen ausführen, nachdem sie (z.B. durch die Decodiereinheit 804) decodiert und (z.B. durch die Planungseinheit 806) versendet werden. Bei einer Ausführungsform kann die Ausführungseinheit 808 mehr als eine Ausführungseinheit beinhalten. Die Ausführungseinheit 808 kann auch verschiedene arithmetische Operationen wie etwa Addition, Subtraktion, Multiplikation und/oder Division durchführen und kann eine oder mehrere arithmetische Logikeinheiten (ALUs) beinhalten. Bei einer Ausführungsform kann ein (nicht dargestellter) Co-Prozessor verschiedene arithmetische Operationen in Verbindung mit der Ausführungseinheit 808 durchführen.
  • Des Weiteren kann die Ausführungseinheit 808 Anweisungen nicht der Reihenfolge (out-of-order) nach ausführen. Daher kann der Prozessorkern 706 bei einer Ausführungsform ein Out-Of-Order-Prozessorkern sein. Der Kern 706 kann auch eine Abschlusseinheit 810 beinhalten. Die Abschlusseinheit 810 kann ausgeführte Anweisungen abschließen, nachdem sie übergeben werden. Bei einer Ausführungsform kann der Abschluss der ausgeführten Anweisungen darin resultieren, dass ein Prozessorzustand von der Ausführung der Anweisungen übergeben wird, physische Register, die durch die Anweisungen verwendet werden, freigegeben werden, usw.
  • Der Kern 706 kann auch eine Buseinheit 714 beinhalten, so dass eine Kommunikation zwischen Komponenten des Prozessorkerns 706 und anderen Komponenten (wie etwa die unter Bezugnahme auf 8 besprochenen Komponenten) über einen oder mehrere Busse (z.B. Busse 804 und/oder 812) ermöglicht wird. Der Kern 706 kann auch ein oder mehrere Register 816 zum Speichern von Daten, auf die durch verschiedene Komponenten des Kerns 706 zugegriffen wird, beinhalten (wie etwa Werte, die sich auf Stromverbrauch-Zustandseinstellungen beziehen).
  • Obwohl 7 darstellt, dass die Steuereinheit 720 über die Verbindung 812 mit dem Kern 706 gekoppelt werden soll, kann sich die Steuereinheit 720 bei verschiedenen Ausführungsformen ferner anderswo befinden, wie etwa innerhalb des Kerns 706, über den Bus 704 mit dem Kern gekoppelt usw.
  • Bei manchen Ausführungsformen kann bzw. können eine oder mehrere der vorliegend besprochenen Komponenten als eine SOC-Einrichtung (System On Chip) umgesetzt sein. 9 veranschaulicht ein Blockschaltbild eines SOC-Pakets gemäß einer Ausführungsform. Wie in 9 veranschaulicht, beinhaltet das SOC 902 einen oder mehrere Zentralverarbeitungseinheit(CPU)-Kerne 920, einen oder mehrere Grafikprozessoreinheit(GPU)-Kerne 930, eine Eingangs-/Ausgangs(E/A)-Schnittstelle 940 und einen Speichercontroller 942. Verschiedene Komponenten des SOC-Pakets 902 können mit einer Verbindung oder einem Bus gekoppelt sein, wie etwa die, die vorliegend unter Bezugnahme auf die anderen Figuren besprochen werden. Das SOC-Paket 902 kann außerdem mehr oder weniger Komponenten beinhalten, wie etwa die, die vorliegend unter Bezugnahme auf die anderen Figuren besprochen werden. Des Weiteren kann jede Komponente des SOC-Pakets 902 eine oder mehrere andere Komponenten beinhalten, wie etwa die, die unter Bezugnahme auf die anderen Figuren besprochen werden. Bei einer Ausführungsform wird das SOC-Paket 902 (und seine Komponenten) auf einem oder mehreren integrierten Schaltungs-Dies (IC-Dies) bereitgestellt, die z.B. in ein einzelnes Halbleiterbauelement verpackt sind.
  • Wie in 9 veranschaulicht, ist das SOC-Paket 902 über den Speichercontroller 942 mit einem Speicher 960 gekoppelt (der ähnlich zu dem oder derselbe wie der Speicher, der vorliegend unter Bezugnahme auf die anderen Figuren besprochen wird, sein kann). Bei einer Ausführungsform kann der Speicher 960 (oder ein Teil von diesem) auf dem SOC-Paket 902 integriert sein.
  • Die E/A-Schnittstelle 940 kann z.B. über eine Verbindung und/oder einen Bus, wie etwa die vorliegend unter Bezugnahme auf die anderen Figuren besprochenen, mit einer oder mehreren E/A-Einrichtungen 970 gekoppelt sein. Die eine oder die mehreren E/A-Einrichtungen 970 kann bzw. können eine Tastatur und/oder eine Maus und/oder ein Touchpad und/oder eine Anzeige und/oder eine Bild-/Videoaufnahmeeinrichtung (wie etwa eine Kamera oder ein Camcorder/Videorecorder) und/oder einen Touchscreen und/oder einen Lautsprecher oder dergleichen beinhalten.
  • 10 veranschaulicht ein Datenverarbeitungssystem 1000, das in einer Punkt-zu-Punkt(PtP)-Konfiguration gemäß einer Ausführungsform der Erfindung angeordnet ist. Insbesondere stellt 10 ein System dar, bei dem Prozessoren, Speicher und Eingangs-/Ausgangseinrichtungen durch eine Anzahl von Punkt-zu-Punkt-Schnittstellen miteinander verbunden sind. Die Arbeitsvorgänge, die unter Bezugnahme auf die 2 besprochen wurden, können durch eine oder mehrere Komponenten des Systems 1000 durchgeführt werden.
  • Wie in 10 veranschaulicht, kann das System 1000 mehrere Prozessoren beinhalten, von denen zur Verständlichkeit nur zwei, die Prozessoren 1002 und 1004, dargestellt sind. Die Prozessoren 1002 und 1004 können jeweils einen lokalen Speichercontrollerhub (MCH) 1006 und 1008 beinhalten, so dass eine Kommunikation mit den Speichern 1010 und 1012 ermöglicht wird. Die MCHs 1006 und 1008 können bei manchen Ausführungsformen den Speichercontroller 120 und/oder die Logik 125 von 1 beinhalten.
  • Bei einer Ausführungsform können die Prozessoren 1002 und 1004 einer der Prozessoren 702 sein, die unter Bezugnahme auf 7 besprochen wurden. Die Prozessoren 1002 und 1004 können Daten über eine Punkt-zu-Punkt(PtP)-Schnittstelle 1014 unter Verwendung von PtP-Schnittstellenschaltungen 1016 bzw. 1018 austauschen. Die Prozessoren 1002 und 1004 können auch jeweils Daten über individuelle PtP-Schnittstellen 1022 und 1024 mit einem Chipsatz 1020 unter Verwendung von Punkt-zu-Punkt-Schnittstellenschaltungen 1026, 1028, 1030 und 1032 austauschen. Der Chipsatz 1020 kann ferner Daten über eine Hochleistungsgrafikschnittstelle 1036 mit einer Hochleistungsgrafikschaltung 1034 z.B. unter Verwendung einer PtP-Schnittstellenschaltung 1037 austauschen.
  • Wie in 10 dargestellt, kann bzw. können sich einer oder mehrere der Kerne 106 und/oder der Cache 108 von 1 innerhalb der Prozessoren 1004 befinden. Es können jedoch andere Beispiele in anderen Schaltungen, Logikeinheiten oder Einrichtungen innerhalb des Systems 1000 von 10 bestehen. Des Weiteren können andere Beispiele durchweg durch mehrere Schaltungen, Logikeinheiten oder in 10 veranschaulichte Einrichtungen verteilt sein.
  • Der Chipsatz 1020 kann mit einem Bus 1040 unter Verwendung einer PtP-Schnittstellenschaltung 1041 kommunizieren. Der Bus 1040 kann eine oder mehrere Einrichtungen aufweisen, die mit ihm kommunizieren, wie etwa eine Busbrücke 1042 und E/A-Einrichtungen 1043. Die Busbrücke 1043 kann über einen Bus 1044 mit anderen Einrichtungen kommunizieren, wie etwa einer Tastatur/Maus 1045, Kommunikationseinrichtungen 1046 (wie etwa Modems, Netzwerkschnittstelleneinrichtungen oder anderen Kommunikationseinrichtungen, die mit dem Computernetz 1003 kommunizieren können), einer E/A-Audioeinrichtung und/oder einer Datenspeichereinrichtung 1048. Die Datenspeichereinrichtung 1048 (die eine Festplatte oder eine NAND-Flash-basierte Halbleiterfestplatte sein kann) kann Code 1049 speichern, der durch die Prozessoren 1004 ausgeführt werden kann.
  • Die folgenden Beispiele betreffen weitere Beispiele.
  • Beispiel 1 ist ein Speichermodul, das einen nichtflüchtigen Speicher, eine Schnittstelle zu einem Bus eines flüchtigen Speichers, mindestens eine Stromeingangsschiene zum Empfangen von Strom von einer Host-Plattform und einen Controller, der Logik, zumindest teilweise Hardwarelogik beinhaltend, umfasst, um den Strom von der Stromeingangsschiene von einer Eingangsspannung zu zumindest einer Ausgangsspannung umzuwandeln, die sich von der Eingangsspannung unterscheidet, umfasst.
  • Bei Beispiel 2 kann der Gegenstand von Beispiel 1 optional eine Anordnung mit einer ersten Spannschraube zum Einstellen einer Spannung zwischen der ersten Welle und der ersten Führungsbuchse beinhalten.
  • Bei Beispiel 3 kann der Gegenstand eines der Beispiele 1–2 optional einen DDRx-SDRAM-Bus (Double Data Rate Synchronous Dynamic Random Access Memory), einen DDR-SDRAM-Bus oder einen DDR4-SDRAM-Bus beinhalten.
  • Bei Beispiel 4 kann der Gegenstand eines der Beispiele 1–3 optional eine Anordnung beinhalten, bei der der Controller Logik, zumindest teilweise Hardwarelogik beinhaltend, umfasst, um die Ausgangsspannung auf der ersten Ausgangsschiene und/oder der zweiten Ausgangsschiene zu verändern.
  • Bei Beispiel 5 kann der Gegenstand eines der Beispiele 1–4 optional eine Anordnung beinhalten, bei der der Controller Logik, zumindest teilweise Hardwarelogik beinhaltend, umfasst, um eine Hochfahrsequenz auf dem Speichermodul zu initiieren, wenn der Strom, der von der Host-Plattform an der Stromeingangsschiene empfangen wird, eine Schwellenspannung erreicht.
  • Bei Beispiel 6 kann der Gegenstand eines der Beispiele 1–5 optional eine Anordnung beinhalten, bei der die Hochfahrsequenz eine erste Verzögerung, bevor sie Strom zur ersten Ausgangsschiene liefert, und eine zweite Verzögerung, bevor sie Strom zur zweiten Ausgangsschiene liefert, implementiert.
  • Bei Beispiel 7 kann der Gegenstand eines der Beispiele 1–6 optional eine Energiespeicherungseinrichtung beinhalten, die mit dem Speichermodul gekoppelt ist.
  • Bei Beispiel 8 kann der Gegenstand eines der Beispiele 1–7 optional eine Anordnung beinhalten, bei der der Controller Logik umfasst, um eine Stromausfallbedingung zu detektieren und als Reaktion auf die Stromausfallbedingung eine Stromausfallsequenz zu implementieren.
  • Bei Beispiel 9 kann der Gegenstand eines der Beispiele 1–8 optional eine Anordnung beinhalten, bei der die Stromausfallsequenz Strom von mindestens einem Energiespeicher, der mit dem Speichermodul gekoppelt ist, abzieht, um Strom zu liefern, so dass ein ordnungsgemäßes Herunterfahren einer oder mehrerer Komponenten auf dem Speichermodul ermöglicht wird.
  • Bei Beispiel 10 kann der Gegenstand eines der Beispiele 1–9 optional eine Anordnung beinhalten, bei der der Controller Logik umfasst, um ein Stromrücksetzsignal zu detektieren und als Reaktion auf das Stromrücksetzsignal eine Stromrücksetzsequenz zu implementieren.
  • Bei Beispiel 11 kann der Gegenstand eines der Beispiele 1–10 optional eine Anordnung beinhalten, bei der die Stromrücksetzsequenz Strom von mindestens einem Energiespeicher, der mit dem Speichermodul gekoppelt ist, abzieht, um Strom zu liefern, so dass ein ordnungsgemäßes Herunterfahren einer oder mehrerer Komponenten auf dem Speichermodul ermöglicht wird.
  • Beispiel 12 ist eine elektronische Einrichtung, die einen Prozessor zum Ausführen eines Betriebssystems und mindestens einer Anwendung, ein Speichermodul umfassend einen nichtflüchtigen Speicher, eine Schnittstelle zu einem Bus eines flüchtigen Speichers, mindestens eine Stromeingangsschiene zum Empfangen von Strom von einer Host-Plattform und einen Controller, der Logik, zumindest teilweise Hardwarelogik beinhaltend, umfasst, um den Strom von der Stromeingangsschiene von einer Eingangsspannung zu zumindest einer Ausgangsspannung umzuwandeln, die sich von der Eingangsspannung unterscheidet, umfasst.
  • Bei Beispiel 13 kann der Gegenstand von Beispiel 12 optional eine Anordnung mit einer ersten Spannschraube zum Einstellen einer Spannung zwischen der ersten Welle und der ersten Führungsbuchse beinhalten.
  • Bei Beispiel 14 kann der Gegenstand eines der Beispiele 12–13 optional einen DDRx-SDRAM-Bus (Double Data Rate Synchronous Dynamic Random Access Memory), einen DDR-SDRAM-Bus oder einen DDR4-SDRAM-Bus beinhalten.
  • Bei Beispiel 15 kann der Gegenstand eines der Beispiele 12–14 optional eine Anordnung beinhalten, bei der der Controller Logik, zumindest teilweise Hardwarelogik beinhaltend, umfasst, um die Ausgangsspannung auf der ersten Ausgangsschiene und/oder der zweiten Ausgangsschiene zu verändern.
  • Bei Beispiel 16 kann der Gegenstand eines der Beispiele 12–14 optional eine Anordnung beinhalten, bei der der Controller Logik, zumindest teilweise Hardwarelogik beinhaltend, umfasst, um eine Hochfahrsequenz auf dem Speichermodul zu initiieren, wenn der Strom, der von der Host-Plattform an der Stromeingangsschiene empfangen wird, eine Schwellenspannung erreicht.
  • Bei Beispiel 17 kann der Gegenstand eines der Beispiele 12–16 optional eine Anordnung beinhalten, bei der die Hochfahrsequenz eine erste Verzögerung, bevor sie Strom zur ersten Ausgangsschiene liefert, und eine zweite Verzögerung, bevor sie Strom zur zweiten Ausgangsschiene liefert, implementiert.
  • Bei Beispiel 18 kann der Gegenstand eines der Beispiele 12–17 optional eine Energiespeicherungseinrichtung beinhalten, die mit dem Speichermodul gekoppelt ist.
  • Bei Beispiel 19 kann der Gegenstand eines der Beispiele 12–18 optional eine Anordnung beinhalten, bei der der Controller Logik umfasst, um eine Stromausfallbedingung zu detektieren und als Reaktion auf die Stromausfallbedingung eine Stromausfallsequenz zu implementieren.
  • Bei Beispiel 20 kann der Gegenstand eines der Beispiele 12–19 optional eine Anordnung beinhalten, bei der die Stromausfallsequenz Strom von mindestens einem Energiespeicher, der mit dem Speichermodul gekoppelt ist, abzieht, um Strom zu liefern, so dass ein ordnungsgemäßes Herunterfahren einer oder mehrerer Komponenten auf dem Speichermodul ermöglicht wird.
  • Bei Beispiel 21 kann der Gegenstand eines der Beispiele 12–20 optional eine Anordnung beinhalten, bei der der Controller Logik umfasst, um ein Stromrücksetzsignal zu detektieren und als Reaktion auf das Stromrücksetzsignal eine Stromrücksetzsequenz zu implementieren.
  • Bei Beispiel 22 kann der Gegenstand eines der Beispiele 12–21 optional eine Anordnung beinhalten, bei der die Stromrücksetzsequenz Strom von mindestens einem Energiespeicher, der mit dem Speichermodul gekoppelt ist, abzieht, um Strom zu liefern, so dass ein ordnungsgemäßes Herunterfahren einer oder mehrerer Komponenten auf dem Speichermodul ermöglicht wird.
  • Bei verschiedenen Ausführungsformen der Erfindung können die vorliegend besprochenen, z.B. unter Bezugnahme auf die 45, Arbeitsvorgänge als Hardware (z.B. Schaltkreise), Software, Firmware, Mikrocode oder Kombinationen davon implementiert werden, die als ein Computerprogrammprodukt, z.B. einschließlich eines greifbaren (z.B. nicht vorübergehenden) maschinenlesbaren oder computerlesbaren Mediums, bereitgestellt werden können, auf dem Anweisungen (oder Softwareprozeduren) gespeichert werden, die zum Programmieren eines Computers verwendet werden, so dass ein vorliegend besprochener Prozess durchgeführt wird.
  • Der Begriff „Logik“ kann beispielsweise auch Software, Hardware oder Kombinationen von Software und Hardware beinhalten. Das maschinenlesbare Medium kann eine Speicherungseinrichtung beinhalten, wie etwa die, die vorliegend besprochen wird.
  • Verweise in der Spezifikation zu „einer Ausführungsform“ bedeutet, dass ein bestimmtes Merkmal, eine bestimmte Struktur oder eine bestimmte Eigenschaft, das bzw. die in Verbindung mit der Ausführungsform beschrieben wird, in mindestens einer Implementierung enthalten sein kann. Das Vorhandensein des Ausdrucks „bei einer Ausführungsform“ an verschiedenen Stellen in der Spezifikation bezieht sich möglicherweise oder möglicherweise nicht insgesamt auf dieselbe Ausführungsform.
  • In der Beschreibung und in den Ansprüchen können außerdem die Begriffe „gekoppelt“ und „verbunden“ zusammen mit ihren Ableitungen verwendet werden. Bei manchen Ausführungsformen der Erfindung kann „verbunden“ verwendet werden, um anzugeben, dass sich zwei oder mehr Elemente in direktem physischen oder elektrischen Kontakt miteinander befinden. „Gekoppelt“ kann bedeuten, dass sich zwei oder mehr Elemente in direktem physischen oder elektrischen Kontakt befinden. „Gekoppelt“ kann jedoch auch bedeuten, dass sich zwei oder mehr Elemente möglicherweise nicht in direktem Kontakt miteinander befinden, aber weiterhin miteinander zusammenarbeiten oder interagieren können.
  • Obwohl Ausführungsformen der Erfindung somit in einer Ausdrucksweise beschrieben worden sind, die spezifisch für strukturelle Merkmale und/oder methodische Handlungen ist, versteht es sich, dass der beanspruchte Gegenstand möglicherweise nicht auf die spezifischen beschriebenen Merkmale oder Handlungen eingeschränkt ist. Stattdessen werden die spezifischen Merkmale und Handlungen als Beispielformen des Implementierens des beanspruchten Gegenstands offenbart.

Claims (22)

  1. Speichermodul, umfassend: einen nichtflüchtigen Speicher; eine Schnittstelle zu einem Bus eines flüchtigen Speichers; mindestens eine Stromeingangsschiene zum Empfangen von Strom von einer Host-Plattform und einen Controller, der Logik, zumindest teilweise Hardwarelogik beinhaltend, umfasst, zum: Umwandeln des Stroms von der Stromeingangsschiene von einer Eingangsspannung zu mindestens einer Ausgangsspannung, die sich von der Eingangsspannung unterscheidet.
  2. Speichermodul nach Anspruch 1, wobei der Bus des flüchtigen Speichers mindestens einen der folgenden umfasst: einen DDRx-SDRAM-Bus (Double Data Rate Synchronous Dynamic Random Access Memory); einen DDR-SDRAM-Bus oder einen DDR4-SDRAM-Bus.
  3. Speichermodul nach Anspruch 1, wobei der Controller Logik, zumindest teilweise Hardwarelogik beinhaltend, umfasst, zum: Erzeugen einer veränderlichen Ausgangsspannung, die mindestens eine erste Ausgangsspannung auf einer ersten Ausgangsschiene umfasst, zu einer zweiten Ausgangsspannung auf einer zweiten Ausgangsschiene.
  4. Speichermodul nach Anspruch 1, wobei der Controller Logik, zumindest teilweise Hardwarelogik beinhaltend, umfasst, zum: Variieren der Ausgangsspannung auf der ersten Ausgangsschiene und/oder der zweiten Ausgangsschiene.
  5. Speichermodul nach Anspruch 1, wobei der Controller Logik, zumindest teilweise Hardwarelogik beinhaltend, umfasst, zum: Initiieren einer Hochfahrsequenz auf dem Speichermodul, wenn der Strom, der von der Host-Plattform an der Stromeingangsschiene empfangen wird, eine Schwellenspannung erreicht.
  6. Speichermodul nach Anspruch 4, wobei die Hochfahrsequenz eine erste Verzögerung, bevor sie Strom zur ersten Ausgangsschiene liefert, und eine zweite Verzögerung, bevor sie Strom zur zweiten Ausgangsschiene liefert, implementiert.
  7. Speichermodul nach Anspruch 1, das ferner eine Energiespeicherungseinrichtung umfasst, die mit dem Speichermodul gekoppelt ist.
  8. Speichermodul nach Anspruch 6, wobei der Controller Logik umfasst, um eine Stromausfallbedingung zu detektieren und als Reaktion auf die Stromausfallbedingung eine Stromausfallsequenz zu implementieren.
  9. Speichermodul nach Anspruch 7, wobei die Stromausfallsequenz Strom von mindestens einem Energiespeicher, der mit dem Speichermodul gekoppelt ist, abzieht, um Strom zu liefern, so dass ein ordnungsgemäßes Herunterfahren einer oder mehrerer Komponenten auf dem Speichermodul ermöglicht wird.
  10. Speichermodul nach Anspruch 6, wobei der Controller Logik umfasst, um ein Stromrücksetzsignal zu detektieren und als Reaktion auf das Stromrücksetzsignal eine Stromrücksetzsequenz zu implementieren.
  11. Speichermodul nach Anspruch 9, wobei die Stromrücksetzsequenz Strom von mindestens einem Energiespeicher, der mit dem Speichermodul gekoppelt ist, abzieht, um Strom zu liefern, so dass ein ordnungsgemäßes Herunterfahren einer oder mehrerer Komponenten auf dem Speichermodul ermöglicht wird.
  12. Elektronische Einrichtung, umfassend: einen Prozessor zum Ausführen eines Betriebssystems und mindestens einer Anwendung; ein Speichermodul, das Folgendes umfasst: einen nichtflüchtigen Speicher; eine Schnittstelle zu einem Bus eines flüchtigen Speichers; mindestens eine Stromeingangsschiene zum Empfangen von Strom von einer Host-Plattform und einen Controller, der Logik, zumindest teilweise Hardwarelogik beinhaltend, umfasst, zum: Umwandeln des Stroms von der Stromeingangsschiene von einer Eingangsspannung zu mindestens einer Ausgangsspannung, die sich von der Eingangsspannung unterscheidet.
  13. Elektronische Einrichtung nach Anspruch 12, wobei der Bus des flüchtigen Speichers mindestens einen der folgenden umfasst: einen DDRx-SDRAM-Bus (Double Data Rate Synchronous Dynamic Random Access Memory); einen DDR-SDRAM-Bus oder einen DDR4-SDRAM-Bus.
  14. Elektronische Einrichtung nach Anspruch 11, wobei der Controller Logik, zumindest teilweise Hardwarelogik beinhaltend, umfasst, zum: Erzeugen einer veränderlichen Ausgangsspannung, die mindestens eine erste Ausgangsspannung auf einer ersten Ausgangsschiene umfasst, zu einer zweiten Ausgangsspannung auf einer zweiten Ausgangsschiene.
  15. Elektronische Einrichtung nach Anspruch 11, wobei der Controller Logik, zumindest teilweise Hardwarelogik beinhaltend, umfasst, zum: Variieren der Ausgangsspannung auf der ersten Ausgangsschiene und/oder der zweiten Ausgangsschiene.
  16. Elektronische Einrichtung nach Anspruch 11, wobei der Controller Logik, zumindest teilweise Hardwarelogik beinhaltend, umfasst, zum: Initiieren einer Hochfahrsequenz auf dem Speichermodul, wenn der Strom, der von der Host-Plattform an der Stromeingangsschiene empfangen wird, eine Schwellenspannung erreicht.
  17. Elektronische Einrichtung nach Anspruch 14, wobei die Hochfahrsequenz eine erste Verzögerung, bevor sie Strom zur ersten Ausgangsschiene liefert, und eine zweite Verzögerung, bevor sie Strom zur zweiten Ausgangsschiene liefert, implementiert.
  18. Elektronische Einrichtung nach Anspruch 11, die ferner eine Energiespeicherungseinrichtung umfasst, die mit dem Speichermodul gekoppelt ist.
  19. Elektronische Einrichtung nach Anspruch 16, wobei der Controller Logik umfasst, um eine Stromausfallbedingung zu detektieren und als Reaktion auf die Stromausfallbedingung eine Stromausfallsequenz zu implementieren.
  20. Elektronische Einrichtung nach Anspruch 17, wobei die Stromausfallsequenz Strom von mindestens einem Energiespeicher, der mit dem Speichermodul gekoppelt ist, abzieht, um Strom zu liefern, so dass ein ordnungsgemäßes Herunterfahren einer oder mehrerer Komponenten auf dem Speichermodul ermöglicht wird.
  21. Elektronische Einrichtung nach Anspruch 16, wobei der Controller Logik umfasst, um ein Stromrücksetzsignal zu detektieren und als Reaktion auf das Stromrücksetzsignal eine Stromrücksetzsequenz zu implementieren.
  22. Elektronische Einrichtung nach Anspruch 19, wobei die Stromrücksetzsequenz Strom von mindestens einem Energiespeicher, der mit dem Speichermodul gekoppelt ist, abzieht, um Strom zu liefern, so dass ein ordnungsgemäßes Herunterfahren einer oder mehrerer Komponenten auf dem Speichermodul ermöglicht wird.
DE112015004405.1T 2014-09-26 2015-08-26 Nichtflüchtiges speichermodul Active DE112015004405B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/498,480 2014-09-26
US14/498,480 US20160093377A1 (en) 2014-09-26 2014-09-26 Nonvolatile memory module
PCT/US2015/046901 WO2016048553A1 (en) 2014-09-26 2015-08-26 Nonvolatile memory module

Publications (2)

Publication Number Publication Date
DE112015004405T5 true DE112015004405T5 (de) 2017-06-14
DE112015004405B4 DE112015004405B4 (de) 2022-05-12

Family

ID=55581766

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112015004405.1T Active DE112015004405B4 (de) 2014-09-26 2015-08-26 Nichtflüchtiges speichermodul

Country Status (6)

Country Link
US (1) US20160093377A1 (de)
KR (1) KR20170036766A (de)
CN (1) CN106663456A (de)
DE (1) DE112015004405B4 (de)
TW (1) TWI642055B (de)
WO (1) WO2016048553A1 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10169242B2 (en) 2015-10-16 2019-01-01 SK Hynix Inc. Heterogeneous package in DIMM
US11138120B2 (en) 2015-10-16 2021-10-05 SK Hynix Inc. Memory system
US10254811B2 (en) * 2016-09-23 2019-04-09 Advanced Micro Devices, Inc. On-chip power sequence validator and monitor
US11397687B2 (en) 2017-01-25 2022-07-26 Samsung Electronics Co., Ltd. Flash-integrated high bandwidth memory appliance

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3955876B2 (ja) * 2003-08-28 2007-08-08 株式会社ルネサステクノロジ マイクロコンピュータ及びシステムプログラムの開発方法
US7536506B2 (en) * 2004-06-21 2009-05-19 Dot Hill Systems Corporation RAID controller using capacitor energy source to flush volatile cache data to non-volatile memory during main power outage
US7469353B2 (en) * 2005-09-30 2008-12-23 Intel Corporation Power sequencing
US7248026B2 (en) * 2005-11-28 2007-07-24 Micrel, Incorporated Single-pin tracking/soft-start function with timer control
US7770037B2 (en) * 2006-04-20 2010-08-03 Advanced Micro Devices, Inc. Power ok distribution for multi-voltage chips
US20090225618A1 (en) * 2008-03-05 2009-09-10 Inventec Corporation Power management module for memory module
US8325554B2 (en) * 2008-07-10 2012-12-04 Sanmina-Sci Corporation Battery-less cache memory module with integrated backup
TWM354830U (en) * 2008-08-04 2009-04-11 Ritek Corp Non-volatile memory device capable of supplying power
US8018753B2 (en) * 2008-10-30 2011-09-13 Hewlett-Packard Development Company, L.P. Memory module including voltage sense monitoring interface
TWI380163B (en) * 2009-02-10 2012-12-21 Nanya Technology Corp Power-on management circuit for memory
CN101825916B (zh) * 2009-03-02 2013-11-20 鸿富锦精密工业(深圳)有限公司 电脑系统
RU2540896C2 (ru) * 2009-07-24 2015-02-10 Эксесс Бизнесс Груп Интернешнл Ллс Источник питания
JP2015038639A (ja) * 2009-12-24 2015-02-26 株式会社東芝 電源制御モジュール、電子機器及びリセット制御方法
US8607089B2 (en) * 2011-05-19 2013-12-10 Intel Corporation Interface for storage device access over memory bus
TWI435519B (zh) * 2011-05-25 2014-04-21 Wistron Corp 電源轉換器與其控制方法
KR101890767B1 (ko) * 2011-07-01 2018-09-28 시게이트 테크놀로지 인터내셔날 주소 사상 정보 관리 방법 이를 적용한 저장 장치
US8693276B2 (en) * 2011-12-28 2014-04-08 Monolithic Power Systems, Inc. Power supply, associated management unit and method
US10089224B2 (en) * 2013-03-15 2018-10-02 The Boeing Company Write caching using volatile shadow memory
US9825531B2 (en) * 2013-07-10 2017-11-21 Infineon Technologies Austria Ag Post-regulated flyback converter with variable output stage
US9280429B2 (en) * 2013-11-27 2016-03-08 Sandisk Enterprise Ip Llc Power fail latching based on monitoring multiple power supply voltages in a storage device

Also Published As

Publication number Publication date
KR20170036766A (ko) 2017-04-03
US20160093377A1 (en) 2016-03-31
TW201626383A (zh) 2016-07-16
TWI642055B (zh) 2018-11-21
CN106663456A (zh) 2017-05-10
WO2016048553A1 (en) 2016-03-31
DE112015004405B4 (de) 2022-05-12

Similar Documents

Publication Publication Date Title
DE102020120019A1 (de) Proaktive di/dt-spannungs-dachabfall-abschwächung
DE112011105298B4 (de) Reduzieren des Energieverbrauchs von Uncore-Schaltkreisen eines Prozessors
DE102014003704B4 (de) Plattform-agnostisches Powermanagement
DE102014003798B4 (de) Verfahren zum Booten eines heterogenen Systems und Präsentieren einer symmetrischen Kernansicht
DE112017001825T5 (de) Prozessoren, verfahren, systeme und instruktionen zum atomischen speichern von daten, die breiter als eine nativ unterstützte datenbreite sind, in einem speicher
DE112017001700T5 (de) Prozessoren, Verfahren, Systeme und Anweisungen zum Abruf von Daten auf der angegebenen Cache-Ebene mit garantiertem Abschluss
DE102010034555A1 (de) Bereitstellen von Zustandsspeicher in einem Prozessor für Systemmanagement-Modus
DE102016100902A1 (de) Verfahren zum dynamischen Zuteilen von Ressourcen von konfigurierbaren Datenverarbeitungsressourcen
DE112017000721T5 (de) Verfahren, einrichtung und befehle für thread-aussetzung auf benutzerebene
DE102014003690A1 (de) Prozessoren, Verfahren und Systeme zur Befehlsemulation
DE112012007115T5 (de) Wahlweise Logikprozessor-Zählung und Typauswahl für eine gegebene Arbeitsbelastung basierend auf Wärme- und Leistungsbudget-Einschränkungen der Plattform
DE102014003705A1 (de) Prozessoren, Verfahren und Systeme zur Befehlsemulation
DE112007001987T5 (de) Überführen einer Rechenplattform in einen Systemzustand niedriger Leistung
DE112006000545T5 (de) System und Verfahren zum kohärenten Datentransfer während Leerlaufzuständen von Prozessoren
DE102018004726A1 (de) Dynamisches Ausschalten und Einschalten von Prozessorkernen
DE112015004405B4 (de) Nichtflüchtiges speichermodul
DE102020116316A1 (de) Prioritätsbasierte batterie-zuordnung für ressourcen während leistungsausfall
DE102010045743A1 (de) Verfahren und Vorrichtung um Turboleistung für das Event-Handling zu verbessern
DE112020001937T5 (de) Vorausschauender datenvorabruf in einer datenspeicher-vorrichtung
DE112013007300T5 (de) Speichersysteme mit adaptiver Löschcode-Generierung
DE102013216237B4 (de) Verfahren und System zum automatischen Clock-Gating eines Taktgitters bei einer Taktquelle
DE112013005368T5 (de) Prozessoren, verfahren und systeme für echtzeit-befehlsverfolgung
DE112017003350T5 (de) Speicherauslesebefehle, prozessoren, verfahren und systeme, die bei defekten daten keine ausnahme annehmen
DE112016005823T5 (de) Überwachen des betriebs eines prozessors
DE112018005507T5 (de) Mehrkriterien-energiemanagementschema für gepoolte beschleunigerarchitekturen

Legal Events

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