-
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.
-
2A–2B 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 5A–5B sind Flussdiagramme, die Arbeitsvorgänge in einem Verfahren zum Implementieren eines nichtflüchtigen Speichermoduls gemäß verschiedenen vorliegend besprochenen Ausführungsformen veranschaulichen.
-
6–10 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).
-
2A–2B 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 2A–2B 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 322A–322J, 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 5A–5B 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 435–455 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 1–3 besprochen wurde. Die Arbeitsvorgänge, die unter Bezugnahme auf die 3–5 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 4–5, 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.