-
BEREICH DER
ERFINDUNG
-
Wenigstens
eine Ausgestaltung der vorliegenden Erfindung betrifft die Steuerung
eines nichtflüchtigen
Speichers in einem Verarbeitungssystem und spezieller das Setzen
eines nichtflüchtigen
Speichers in einen Selbstauffrischungszustand.
-
HINTERGRUND
-
Moderne
rechnergestützte
Verarbeitungssysteme beinhalten alle eine Art von Prozessor, Speicher
und ein oder mehrere Ein-/Ausgabe-(E/A)-Geräte. Beispiele für solche
Verarbeitungssysteme sind Personal Computer (PCs), Server-Class-Computer, Handgeräte, wie
Personal Digital Assistants (PDAs), und verschiedene Arten von Geräten, die
an Netzwerken angeschlossen werden können. Der Speicher in einem
Verarbeitungssystem speichert normalerweise Daten und Befehle, die
vom Prozessor ausgeführt
werden.
-
In
vielen dieser Systeme ist der Hauptspeicher gewöhnlich eine Form von Arbeitsspeicher (RAM).
Die meisten, wenn nicht sogar alle Formen von RAM, werden als flüchtig angesehen,
da sie Leistung benötigen,
um die gespeicherten Daten zu behalten. Die beiden üblichsten
RAM-Typen sind statischer RAM (SRAM) und dynamischer RAM (DRAM).
SRAM ist dahingehend statisch, dass ein Bit in SRAM in einen logischen
Zustand gesetzt werden kann und in diesem Zustand bleibt, bis es
in einen anderen logischen Zustand gesetzt wird oder die Stromversorgung
verloren geht. SRAM ist zwar im Hinblick auf die Zugriffszeit gewöhnlich sehr
schnell, aber oft teuer.
-
DRAM
ist im Allgemeinen weitaus kostenärmer als SRAM und wird daher
häufig
gegenüber SRAM
für den
Einsatz als Hauptspeicher in massenproduzierten Verarbeitungssystemen
bevorzugt. DRAM ist jedoch dahingehend dynamisch, dass er periodisch
gelesen und neu geschrieben werden muss, um seinen Zustand zu halten.
Dieser Lese-/Neuschreibvorgang wird als „Auffrischen" bezeichnet. Wenn
DRAM nicht aufgefrischt wird, verliert er seinen Inhalt. Das Auffrischen
eines typischen DRAM erfordert das periodische Anlegen von Auffrischungssignalen
an den DRAM, während
Leistung zugeführt
wird, um die darin gespeicherten Daten zu behalten. Normalerweise
sendet eine externe Schaltung, wie z.B. eine Speichersteuerung,
die Auffrischungssignale zum DRAM. Es gibt viele verschiedene DRAM-Formen,
z.B. synchroner DRAM (SDRAM), Doppeldatenraten-SDRAM (DDR-SDRAM),
Rambus DRAM (RDRAM) usw.
-
Unter
bestimmten Bedingungen werden die normalerweise an den DRAM angelegten
Auffrischungssignale möglicherweise
nicht erzeugt. So werden beispielsweise Auffrischungssignale typischerweise
nicht bei einem System-Reset erzeugt, der dann erfolgen kann, wenn
ein Fehler oder eine Fehlfunktion im Verarbeitungssystem aufgetreten
ist (z.B. ein „Aufhängen" oder „Abstürzen" des Systems). Ein
moderner DRAM hat jedoch gewöhnlich Selbstauffrischungsfähigkeit,
die es dem DRAM gestattet, unter diesen Bedingungen in einen Selbstauffrischungszustand
zu gehen, in dem der DRAM seine Auffrischungssignale automatisch
selbst erzeugt. Der Selbstauffrischungszustand ist ein sicherer
Zustand, der die gespeicherten Daten behält.
-
Auch
viele übliche
Bedingungen, unter denen die externen Auffrischungssignale verloren
gehen können,
beinhalten einen Leistungsverlust. Beispiele für solche Bedingungen sind ein
manuell ausgeführtes
Abschalten eines Computersystems, das ansonsten ordnungsgemäß arbeitet,
oder ein(e) unerwartete(r) Unterbrechung oder Verlust von Leistung
zum Computersystem. Aber selbst dann, wenn der DRAM in den Selbstauffrischungszustand
gesetzt wird, gehen die darin gespeicherten Daten verloren, wenn
die Leistungsversorgung des DRAM nicht aufrechterhalten wird. Durch
Speisen des DRAM von einer zusätzlichen
unterbrechungsfreien Leistungsquelle unter diesen Bedingungen, z.B.
eine Batterie, können
die gespeicherten Daten im Selbstauffrischungszustand bewahrt werden.
DRAM nimmt im Selbstauffrischungszustand weitaus weniger Leistung
auf als im normalen Zustand, was zum Sparen von Batterieleistung
beiträgt.
-
Viele
Verarbeitungssysteme können
eine(n) durch Software eingeleitete(n) Abschaltung oder Reset durchführen, die/der
das Setzen des DRAM in den Selbstauffrischungszustand beinhalten
kann. Da jedoch viele Fehlerbedingungen, unter denen dies auftreten
könnte,
softwarebezogen sind, ist es nicht erwünscht, sich auf Software verlassen
zu müssen, um
den DRAM in den Selbstauffrischungszustand zu setzen, besonders
bei Systemen, bei denen ein Datenverlust unbedingt verhütet werden
muss.
-
Das
US-Patent 6317657 (der International Business Machines Corporation übertragen)
betrifft ein System zum Bereitstellen von Batteriereserve für SDRAM-Daten
bei einem Stromausfall. Ein Abschaltevent wird früh erfasst
und Systemhardware konfiguriert SDRAM-Selbstauffrischungsschaltungen zum Setzen
des SDRAM in einen Selbstauffrischungsmodus, in dem er unmittelbar
vor dem Abfallen der Stromversorgung des Systems unter einen sicheren Schwellenpegel
einen einzelnen Auffrischungsbefehl ausgibt. Der SDRAM wird nach
dem Abfallen der Systemstromversorgung im Selbstauffrischungsmodus
gehalten, indem ein SDRAM-Takt-Enable-Signal mit Batterieleistung
im L-Zustand gehalten wird.
-
Die
US6119200 (der Mylex Corporation übertragen)
betrifft ein System, bei dem eine Warm-Reset-Anforderung durch Reset-Hardware
erfasst wird, die dann die Warm-Reset-Anforderung sperrt und den SDRAM in
einen Selbstauffrischungsmodus setzt, in dem er seine gespeicherten
Daten kontinuierlich auffrischt. Wenn sich der SDRAM im Selbstauffrischungsmodus
befindet, dann setzt die Reset-Hardware die Steuerung des SDRAM
zurück.
-
Die
US6137743 (der Hyundai Electronics
Industries Co Limited übertragen)
beschreibt ein Halbleiterspeichergerät mit verringerter Standby-Stromaufnahme
in einem Selbstauffrischungsmodus. Das Gerät beinhaltet eine Gleichspannungsquellen-Steuerschaltung zum
Steuern einer Gleichspannungserzeugungseinheit. Die Gleichspannungsquellen-Steuereinheit
schaltet die Spannungserzeugungseinheit periodisch ein und aus,
so dass die für
einen Selbstauffrischungsbetrieb verwendeten Spannungsquellen im
Standby-Betrieb
in einem Selbstauffrischungsmodus in ihren Ausschaltzuständen gehalten
werden.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Die
vorliegende Erfindung betrifft eine Vorrichtung, die Folgendes umfasst:
eine Speichersteuerung zum Erzeugen einer ersten Mehrzahl von Speichersteuersignalen
zum Steuern eines dynamischen Arbeitsspeichers mit Selbstauffrischungsfähigkeit; und
eine Selbstauffrischungsschaltung außerhalb der Speichersteuerung,
um den Speicher als Reaktion auf eine vorbestimmte Bedingung in
einen Selbstauffrischungszustand zu setzen, wobei die Selbstauffrischungsschaltung
eine Zustandsmaschine zum Erzeugen einer zweiten Mehrzahl von Speichersteuersignalen
zum Steuern des Speichers auf der Basis einer Mehrzahl von Eingangssignalen
beinhaltet, wobei jedes aus der zweiten Mehrzahl von Speichersteuersignalen
einem separaten einen aus der ersten Mehrzahl von Speichersteuersignalen
entspricht, wobei die Selbstauffrischungsschaltung die Aufgabe hat,
zwischen der ersten Mehrzahl von Speichersteuersignalen und der
zweiten Mehrzahl von Speichersteuersignalen auszuwählen, um
den Speicher auf der Basis der Mehrzahl von Eingangssignalen bereitzustellen;
dadurch gekennzeichnet, dass die Selbstauffrischungsschaltung einen
Taktgenerator zum Empfangen eines ersten Taktsignals als Eingabe
von der Speichersteuerung und zum Ausgeben eines zweiten Taktsignals
zum Speicher beinhaltet, wobei der Taktgenerator das zweite Taktsignal
nach dem Stoppen des ersten Taktsignals halten kann, so dass der
Speicher den Selbstauffrischungszustand erreichen kann.
-
Die
vorliegende Erfindung umfasst ferner ein Verfahren, das die folgenden
Schritte beinhaltet:
Empfangen einer Mehrzahl von Eingangssignalen
in Bezug auf den Betrieb eines Verarbeitungssystems, das eine Speichersteuerung
und einen dynamichen Arbeitsspeicher mit Selbstauffrischungsfähigkeit
beinhaltet;
Empfangen einer ersten Mehrzahl von von der Speichersteuerung
erzeugten Speichersteuersignalen;
Erzeugen einer zweiten Mehrzahl
von Speichersteuersignalen außerhalb
der Speichersteuerung, wobei jedes aus der zweiten Mehrzahl von
Speichersteuersignalen einem separaten einen aus der ersten Mehrzahl
von Speichersteuersignalen entspricht; und
Zuführen der
zweiten Mehrzahl von Speichersteuersignalen zu dem Speicher anstelle
der ersten Mehrzahl von Speichersteuersignalen auf der Basis der Mehrzahl
von Steuersignalen, um den Speicher als Reaktion auf das Anliegen
eines Trigger-Signals in einen Selbstauffrischungszustand zu setzen;
dadurch
gekennzeichnet, dass das Verfahren ferner die folgenden Schritte
umfasst:
Empfangen eines ersten Taktsignals von der Speichersteuerung;
Erzeugen
eines zweiten Taktsignals auf der Basis des ersten Taktsignals;
Anlegen
des zweiten Taktsignals an den Speicher; und
Halten des zweiten
Taktsignals nach einem Stoppen des ersten Taktsignals, damit der
Speicher den Selbstauffrischungszustand erreichen kann.
-
Weitere
Merkmale der vorliegenden Erfindung gehen aus den Begleitzeichnungen
und aus der nachfolgenden ausführlichen
Beschreibung hervor.
-
KURZBESCHREIBUNG
DER ZEICHNUNGEN
-
Die
vorliegende Erfindung ist beispielhaft illustriert und die Figuren
der Begleitzeichnungen stellen keine Begrenzung dar. Gleiche Bezugsziffern
beziehen sich auf gleiche Elemente. Dabei zeigt:
-
1 ein
Verarbeitungssystem, in dem ein Selbstauffrischungs-Managementschaltkomplex (SRMC)
gemäß der vorliegenden
Erfindung enthalten ist;
-
2 eine
NAS-(Network Attached Storage)-Umgebung mit einem Netzwerkspeicherserver, in
dem der SRMC enthalten sein kann;
-
3 einen
Speicherserverkopf, in dem der SRMC implementiert ist;
-
4 den
SRMC gemäß der zweiten
Ausgestaltung der Erfindung;
-
5 die
Leistungsüberwachungs-
und -auswahlschaltung (PMS) ausführlicher;
-
6 die
Stromausfallszustandsmaschine (PFSM) ausführlicher; und
-
7 ein
Zustandsdiagramm, das den Betrieb der PFSM illustriert.
-
AUSFÜHRLICHE
BESCHREIBUNG
-
Nachfolgend
wird ein Schaltkomplex beschrieben, der sich außerhalb einer Speichersteuerung
befindet, um nichtflüchtigen
DRAM in einen Selbstauffrischungszustand zu setzen. Man beachte, dass
in dieser Beschreibung Verweise auf „eine Ausgestaltung" bedeutet, dass das
erwähnte
Merkmal in wenigstens einer Ausgestaltung der vorliegenden Erfindung
enthalten ist. Ferner beziehen sich separate Verweise auf „eine Ausgestaltung" in dieser Beschreibung
nicht unbedingt auf dieselbe Ausgestaltung; solche Ausgestaltungen
schließen
sich jedoch auch nicht gegenseitig aus, wenn nicht anders angegeben
und mit den Ausnahmen, die für
die Fachperson aus der Beschreibung hervorgehen werden. Zum Beispiel
kann ein Merkmal, eine Struktur, eine Tätigkeit usw., die in einer
Ausgestaltung beschrieben ist, auch in anderen Ausgestaltungen enthalten
sein. Somit kann die vorliegende Erfindung eine Reihe verschiedener
Kombinationen und/oder Integrationen der hierin beschriebenen Ausgestaltungen
beinhalten.
-
1 ist
eine allgemeine IIlustration eines Verarbeitungssystems, in dem
ein Selbstauffrischungs-Managementschaltkomplex gemäß der vorliegenden
Erfindung ausgeführt
sein kann, um DRAM in einen Selbstauffrischungszustand zu setzen.
Wie gezeigt, beinhaltet das Verarbeitungssystem einen oder mehrere
Prozessoren 11, Speicher 12 und eine Speichersteuerung 13,
die auf einem Bussystem 14 miteinander gekoppelt sind.
Das Bussystem 14 kann einen oder mehrere Busse (z.B. einen
Systembus und einen oder mehrere E/A- oder Erweiterungsbusse) zusammen mit
einer oder mehreren Bussteuerungen, Bridges und/oder Adaptern darstellen.
Das Verarbeitungssystem beinhaltet auch ein oder mehrere E/A-Geräte 15,
die über
das Bussystem 14 mit dem Prozessor 11 und dem
Speicher 12 gekoppelt sind.
-
Für die Zwecke
der vorliegenden Beschreibung sei angenommen, dass der Speicher 12 die Form
eines DRAM hat, der Selbstauffrischungsfähigkeit besitzt. Man wird jedoch
erkennen, dass das Verarbeitungssystem auch andere Speichertypen
beinhalten kann, wie z.B.
-
Festwertspeicher
(ROM), Flash-Speicher, Massenspeichergeräte (z.B. Platten) oder dergleichen.
Das Verarbeitungssystem beinhaltet auch einen Selbstauffrischungs-Managementschaltkomplex
(SRMC) 16, der mit dem Speicher 12 und der Speichersteuerung 13 gekoppelt
ist, sowie eine Leistungsüberwachungs-
und -auswahlschaltung (PMS) 17, die mit dem Speicher 12 gekoppelt
ist, sowie eine Hauptstromversorgung 18 und eine Reservestromversorgung
(z.B. eine Batterie) 19.
-
Viele
Fehlerbedingungen, die das Setzen von DRAM in den Selbstauffrischungszustand
erfordern, sind softwarebezogen. Folglich ist es wünschenswert,
DRAM mit einer rein Hardware-gestützten Lösung in den Selbstauffrischungszustand
setzen zu können,
die rein deterministisch ist und die nicht wie Software abstürzen oder
sich aufhängen kann.
Ferner ist es wünschenswert,
dass die Lösung mit
Speicherbusgeschwindigkeiten arbeiten kann und zwischen der Speichersteuerung
und dem DRAM außerhalb
von beiden eingebaut wird.
-
Wie
nachfolgend näher
beschrieben wird, ist der SRMC 16 eine solche Lösung. Der
SRMC 16 kann den Speicher 12 unter vielen verschiedenen Bedingungen,
einschließlich
einer Abschalt-Reset-Bedingung, in den Selbstauffrischungszustand setzen.
Der SRMC 16 wird in Verbindung mit der PMS 17 verwendet.
Die PMS 17 leitet normalerweise Strom von der Hauptstromversorgung 18 zum
Speicher 12, bewirkt aber, dass Strom von der Reservestromversorgung 19 zum
Speicher 12 geführt
wird, wenn der Spannungspegel der Hauptstromversorgung 18 unter
einen vorbestimmten Wert abfällt.
-
Der
SRMC 16 und die PMS 17 sind besonders in einem
Verarbeitungssystem nützlich,
in dem es wesentlich ist, den Verlust von gespeicherten Daten zu
verhindern, und wo es nicht erwünscht
ist, sich ausschließlich
auf Software zu verlassen, um den DRAM in den Selbstauffrischungszustand
zu setzen. Ein Beispiel für
ein solches Verarbeitungssystem ist ein Dateiserver. Ein Dateiserver
ist ein vernetztes Verarbeitungssystem, das gemeinsame Dateien in einem
Satz von Speichergeräten
(z.B. Plattenlaufwerken) für
einen oder mehrere Clients speichert und verwaltet. Dateiserver
werden häufig
zum Speichern von Sicherungsdaten und anderen kritischen Daten auf
Unternehmensebene verwendet. Die Platten in einem Dateiserver werden
gewöhnlich
als eine oder mehrere Gruppen von redundanten RAIDs (Array of Independent/Inexpensive
Disks) organisiert. Eine Konfiguration, in der Dateiserver benutzt
werden können,
ist eine NAS-(Network Attached Storage)-Konfiguration. In einer
NAS-Konfiguration
kann ein Dateiserver in der Form eines an ein Netzwerk anschließbaren Gerätes wie
z.B. einem LAN (Local Area Network) oder einem Firmenintranet ausgeführt werden.
Ein solches Gerät
wird mitunter als „Filer" bezeichnet. Ein
Beispiel für
ein solches Gerät
ist irgendeines der Filer-Produkte, die von Network Appliance, Inc.
in Sunnyvale in Kalifornien hergestellt werden.
-
Ein
weiterer Verarbeitungssystemtyp, in dem der SRMC 16 und
die PMS 17 vorteilhafterweise ausgeführt werden können, ist
ein SAN-(Storage Area Network)-Speichergerät. Ein SAN ist ein hoch effizientes
(schnelles) Netzwerk von untereinander verbundenen gemeinsamen Speichergeräten. SAN-Speichergeräte werden
ebenfalls von Network Appliance, Inc. hergestellt. Ein Unterschied
zwischen NAS und SAN ist, dass in einem SAN das Speichergerät einen
abgesetzten Host mit Zugang zu gespeicherten Daten auf Blockebene
bereitstellt, während in
einer NAS-Konfiguration der Dateiserver Clients normalerweise nur
Zugang zu gespeicherten Daten auf Dateiebene bietet.
-
2 illustriert
eine NAS-Umgebung mit einem Netzwerk-Dateiserver, in dem der SRMC 16 und die
PMS 17 vorteilhafterweise enthalten sein können. Man
beachte, dass diese Schaltungen nun zwar im Kontext eines Dateiservers
beschrieben werden, dass derselbe Ansatz aber vorteilhafterweise
auch in einem SAN-Speichergerät
oder in im Wesentlichen jedem anderen Verarbeitungssystem ausgeführt werden
kann, das eine Form von nichtflüchtigem
RAM verwendet, der Selbstauffrischungsfähigkeit besitzt. In 2 ist
ein Dateiserverkopf 1 mit einer Reihe von Sätzen von
Plattenlaufwerken 2 in einer Schleifenkonfiguration geschaltet.
Jeder Satz von Plattenlaufwerken 2 enthält mehrere Plattenlaufwerke 23,
die vom Kopf 1 als eine RAID-Gruppe gesteuert werden. Der
Dateiserverkopf 1 bietet einer Reihe von Clients 24 Zugang
zu in den Plattenlaufwerken 23 gespeicherten Gemeinschaftsdateien.
-
In
diesem Zusammenhang ist ein „Kopf" die gesamte Hardware
(d.h. Elektronik und unterstützende
Infrastruktur), Firmware und/oder Software, die die „Intelligenz" zum Steuern des
Zugriffs auf die Massenspeichergeräte (z.B. Plattenlaufwerke)
besitzt; er beinhaltet nicht die Massenspeichergeräte selbst.
Ein „Kopf" ist in diesem Zusammenhang
nicht derselbe wie, und darf nicht damit verwechselt werden, der
Magnet- oder Optikkopf, der zum physischen Lesen oder Schreiben
von Daten von einer oder auf eine Platte verwendet wird.
-
In
einer Dateiserverumgebung ist es häufig wesentlich, jeden Datenverlust
aufgrund eines unvorhergesehenen Verlusts oder Abfalls der Stromversorgung
zu verhüten,
da solche Systeme häufig
zum Speichern von Sicherungsdaten und anderen kritischen Daten verwendet
werden. Aus den oben beschriebenen Gründen ist es daher wünschenswert, DRAM
in einem solchen System im Falle einer Reset-Bedingung, die zu einem
Abschalten des Systems führt,
in einen Selbstauffrischungszustand setzen zu können. Ferner ist es wünschenswert,
da die Fehlfunktionen, die solche Resets häufig verursachen, häufig softwarebezogen
sind, eine solche Fähigkeit
auf eine von Software unabhängige
Weise bereitzustellen. Demgemäß können der
SRMC 16 und die PMS 17 (1) vorteilhafterweise
im Dateiserverkopf 1 enthalten sein.
-
3 illustriert
den Dateiserverkopf 1 ausführlicher gemäß bestimmten
Ausgestaltungen. Wie gezeigt, beinhaltet der Kopf 1 einen
Prozessor 41, einen Speicher 42 und einen Chipset 43,
der den Prozessor 41 mit dem Speicher 42 verbindet.
Wie in der obigen Beschreibung sei angenommen, dass der Speicher 42 die
Form von DRAM hat, der Selbstauffrischungsfähigkeit besitzt. Der Chipset 43 verbindet auch
einen peripheren Bus 44 mit dem Prozessor 41 und
dem Speicher 42. Mit dem peripheren Bus 44 sind
auch ein oder mehrere Netzwerkadapter 45, ein oder mehrere
Speicheradapter 46, eine oder mehrere verschiedene E/A-Komponenten 47 und,
in einigen Ausgestaltungen, eine oder mehrere andere periphere Komponenten 48 verbunden.
Der Kopf 1 beinhaltet auch eine Hauptstromversorgung 18 und eine
Reservestromversorgung (z.B. Batterie) 19. Die Hauptstromversorgung 18 erhält ihre
Leistung von dem externen, dem Verarbeitungssystem zugeführten Wechselstrom.
-
Der
Prozessor 41 ist die Zentraleinheit (CPU) des Kopfes 1 und
kann ein oder mehrere programmierbare Universal- oder Spezialmikroprozessoren, digitale
Signalprozessoren (DSPs), programmierbare Steuerungen, anwendungsspezifische
integrierte Schaltungen (ASICs), programmierbare Logikbauelemente
(PLDs) oder dergleichen oder eine Kombination solcher Geräte sein
oder enthalten.
-
In
der illustrierten Ausgestaltung beinhaltet der Chipset 43 eine
Speichersteuerung 49, die Lese- und Schreibtransaktionen
auf dem Speicher (DRAM) 42 durchführt und überwacht. In anderen Ausgestaltungen
kann sich die Speichersteuerung 49 außerhalb des Chipsets 43 befinden,
z.B. im Prozessor 41, oder kann eine völlig separate Komponente sein.
-
Der
Kopf 1 beinhaltet auch den SRMC 16, der mit dem
Speicher 42 und der Speichersteuerung 49 gekoppelt
ist. Der Kopf 1 beinhaltet ferner die PMS 17,
die mit dem Speicher 42 gekoppelt ist, sowie die Hauptstromversorgung 18 und
die Reservestromversorgung 19.
-
Der
Chipset 43 kann zusätzlich
zur Speichersteuerung 49 eine oder mehrere Bussteuerungen, Bridges
und/oder Adapter beinhalten. Der periphere Bus 44 kann
beispielsweise ein PCI-(Peripheral Component Interconnect)-Bus,
ein HyperTransport- oder ISA-(Industry Standard Architecture)-Bus,
ein SCSI-(Small Computer System Interface)-Bus, ein USB-(Universal Serial
Bus)-Bus oder ein Bus nach IEEE-(Institute of Electrical and Electronics
Engineers)-Standard 1394 (zuweilen als „Firewire" bezeichnet) sein. Jeder Netzwerkadapter 45 gibt
dem Kopf 1 die Fähigkeit,
mit entfernten Geräten,
wie z.B. Clients 24 in 2, zu kommunizieren,
und kann beispielsweise ein Ethernet-Adapter sein. Jeder Speicheradapter 46 erlaubt
es dem Kopf 1, auf die externen Plattenlaufwerke 23 in
den verschiedenen Regalen 2 zuzugreifen und kann beispielsweise
ein Fibre Channel Adapter sein.
-
Die 4 bis 7 illustrieren
den SRMC 16 und die PMS 17 gemäß bestimmten Ausgestaltungen
der Erfindung näher.
In den 4 bis 7 wird der DRAM 42 in
der Form von einem oder mehreren DIMMs (Dual In-Line Memory Modules)
ausgeführt. Der
SRMC 16 empfängt
ein System-Reset-Signal TRIGGER sowie eine Reihe von Speichersteuersignalen
von der Speichersteuerung 49 zum Steuern des DRAM 42,
einschließlich
eines Reihenadressstrobe-(RAS_N)-Signals, eines Spaltenadressstrobe-(CAS_N)-Signals,
eines Write-Enable-(WE_N)-Signals
und eines Chipauswahl-(CS_N)-Signals, die alle Active-Low-Signale sind. Der
SRMC 16 gibt auch entsprechende Signale mit denselben Bezeichnungen
und Funktionen an den DRAM 42 aus. Je nach Speicherkonfiguration können sich
die Signale RAS_N, CAS_N, WE_N und CS_N in der Praxis jeweils aus
mehr als einem Signal zusammensetzen; zum Vereinfachen der Beschreibung
ist jedoch immer nur eines davon dargestellt.
-
Unter
normalen Betriebsumständen
leitet der SRMC 16 diese Speichersteuersignale einfach
von der Speichersteuerung 49 zum DRAM 42 durch. Wenn
jedoch der DRAM 42 in den Selbstauffrischungszustand gesetzt
werden muss, dann erzeugt der SRMC 16 diese Speichersteuersignale
intern, legt sie an den DRAM 42 an und verhindert, dass
ihre Pendant-Signale
von der Speichersteuerung 49 zum DRAM 42 durchgeleitet
werden.
-
Die
PMS 17 empfängt
ein universelles E/A-Signal GPIO0 von einem Bit von der Speichersteuerung 42,
um die PMS 17 selektiv für Batteriereservefähigkeit
zu aktivieren. Die PMS 17 empfängt auch Leistung VDD von der
internen Hauptstromversorgung 18 sowie von der Reservestromversorgung 19 und
führt dem
DRAM 42 Leistung von einer dieser Quellen (normalerweise
der Hauptstromversorgung 18) zu.
-
5 zeigt
die PMS 17 ausführlicher
gemäß einer
Ausgestaltung der Erfindung. Wie gezeigt, beinhaltet die PMS 17 einen
Zweieingangs-Multiplexer 61 (der ein FET-(Feldeffekttransistor)-Schalter
sein kann), einen Komparator 64, einen Signalspeicher 65,
einen hocheffizienten DC-DC-Wandler 62 und einen DC-DC-Hochleistungswandler 63.
Der hocheffiziente DC-DC-Wandler 62 empfängt Leistung
von der Reservestromquelle (z.B. der Batterie) 19 und gibt
diese Leistung in regulierter Form VDD_DIMM_BATT zu einem Eingang
des Multiplexers 61 aus. Der andere Eingang des Multiplexers 61 ist
der Ausgang VDD' des
DC-DC-Hochleistungswandlers 63, der als Eingang regulierte
Leistung VDD von der Hauptstromversorgung 18 empfängt. Der
Ausgang des DC-DC-Hochleistungswandlers 63 wird auch an
einen Eingang des Komparators 64 angelegt.
-
Eine
Referenzspannung Vref wird an den anderen Eingang des Komparators 64 angelegt
und entspricht der Niedrigleistungsschwelle des DRAM 42.
Während
der Eingang VDD' des
Multiplexers 61 über
der Referenzspannung Vref bleibt, bleibt dieser Eingang des Multiplexers 61 als
Leistungsquelle zum DRAM 42 gewählt. Wenn VDD' unter die Referenzspannung
Vref abfällt,
gibt der Komparator 64 ein Auswahlsignal an den Multiplexer 61 aus,
um zu bewirken, dass der Multiplexer 61 den Batterieleistungseingang
als Stromquelle zum DRAM 42 wählt. Wenn also VDD' (der die Spannung
der Hauptstromversorgung 18 repräsentiert) unter einen vorbestimmten
Pegel (Vref) abfällt,
dann bewirkt die PMS 17, dass dem DRAM 42 Leistung
von der Reservestromversorgung 19 anstatt von der Hauptstromversorgung 18 zugeführt wird.
-
Die
PMS 17 beinhaltet auch einen Signalspeicher 65,
der das GPIO0 Signal von der Speichersteuerung 49 empfängt, und
gibt ein Bit MEM_VALID an den hocheffizienten DC-DC-Wandler 62 aus, um die Batteriereservefähigkeit
zu aktivieren oder zu deaktivieren. Die Batteriereservefähigkeit
wird im Allgemeinen aktiviert, wenn die im DRAM 42 gespeicherten
Daten gültig
sind. In diesem Fall wird GPIO0 angelegt, vom Signalspeicher 65 gerastet
und als MEM_VALID zum hocheffizienten DC-DC-Wandler 62 ausgegeben,
um die Batteriereservefähigkeit
zu aktivieren.
-
6 illustriert
den SRMC 16 gemäß einer Ausgestaltung
der Erfindung ausführlicher.
Wie gezeigt, beinhaltet der SRMC 16 eine Stromausfallzustandsmaschine
(PFSM) 71, vier Zweieingangs-Multiplexer 72, einen
Signalspeicher 73 und einen Phasenregelkreis-(PLL)-Taktpuffer 74.
Die Multiplexer 72 können
sich aus FETs zusammensetzen und vorzugsweise eine sehr geringe
Ausbreitungsverzögerung
ergeben. Jeder der Multiplexer 72 kann beispielsweise ein
QS3217 Multiplexer von Quality Semiconductor sein. Die PFSM 71 hat
die Aufgabe, Pendant-Signale zu den Signalen RAS_N, CAS_N, WE_N
und CS_N von der Speichersteuerung 49 zum Steuern des DRAM 42 zu
erzeugen.
-
Jeder
der Multiplexer 72 empfängt
eines der Speichersteuersignale von der Speichersteuerung 49 an
einem seiner Eingänge
und das Pendant dieses Speichersteuersignals von der PFSM 71.
Die PFSM 71 gibt ein Auswahlsignal SEL an jeden der Multiplexer 72 aus,
um zwischen den Speichersteuersignalen von der Speichersteuerung 49 oder
den von ihm intern erzeugten Speichersteuersignalen auszuwählen, die
an den DRAM 42 angelegt werden sollen. Wenn SEL = 1 ist,
dann verbinden die Multiplexer 72 die Speichersteuersignale
von der Speichersteuerung 49 mit dem DRAM 42.
Wenn SEL = 0 ist, dann verbinden die Multiplexer 72 die
Speichersteuersignale von der PFSM 71 mit dem DRAM 42.
Zur leichteren Identifikation erhalten die von der Speichersteuerung 49 kommenden
Speichersteuersignale das Präfix „MC", d.h. MC.RAS_N,
MC.CAS_N, MC.WE_N und MC.CS_N, während
die von der PFSM 71 erzeugten äquivalenten Speichersteuersignale
das Präfix „PF" haben, d.h.
-
PF.RAS_N,
PF.CAS_N, PF.WE_N und PF.CS_N; und die von den Multiplexern 72 ausgegebenen äquivalenten
Speichersteuersignale haben das Präfix „MEM", d.h. MEM.RAS_N, MEM.CAS_N, MEM.WE_N
und MEM.CS_N.
-
Wie
nachfolgend näher
beschrieben wird, arbeitet die PFSM 71 als Reaktion auf
mehrere Eingangslogiksignale, inklusive eines WAKEUP-Signals, eines
TRIGGER-Signals und eines PORC-(Power On Reset Circuit)-Signals
sowie des MC.CS_N Signals von der Speichersteuerung 49.
Das MC.CS_N Signal wird von der PFSM 71 zum Ermitteln verwendet,
ob der DRAM 42 im Ruhezustand ist. Die Verwendung der Signale
WAKEUP, TRIGGER und PORC wird nachfolgend mit Bezug auf 7 erörtert.
-
Der
DRAM 42 braucht für
eine ordnungsgemäße Funktion
ein Taktsignal MEM.CLK. Der PLL-Taktpuffer 74 justiert
den Takt CLKOUT von der Speichersteuerung 49 mit dem MEM.CLK
Signal zum DRAM 42. Viele Speichersteuerungen stoppen den
Takt kurz nach einem Reset. Im Falle einer/s Systemabschaltung oder
-Reset muss dieser Takt für eine
bestimmte Anzahl von Zyklen (z.B. etwa 20, aber dies hängt vom
benutzten DRAM-Typ ab) gehalten werden, damit die PFSM 71 den
DRAM 42 in den Selbstauffrischungszustand bringen kann.
Der PLL-Taktpuffer 74 lässt
es zu, dass MEM.CLK viele Zyklen (z.B. hunderte) nach dem Stoppen
des Takts CLKOUT von der Speichersteuerung 49 läuft. Der DRAM 42 wird
von einem Takt-Enable-Signal MEM.CKE vom Signalspeicher 73 aktiviert,
dessen Eingang das von der PFSM 71 ausgegebene Clock-Enable-Signal
PF.CKE ist.
-
7 ist
ein Zustandsdiagramm, das den Betrieb der PFSM 71 gemäß einer
Ausgestaltung der Erfindung zeigt. Die PFSM 71 ist eine
Zustandsmaschine, die mit herkömmlichen sequentiellen
Logikelementen aufgebaut sein kann. Wie gezeigt, hat die PFSM 71 sieben
Zustände:
IDLE, ARM, WAT4CS, TRCDLY, PRECHRG, TRPDLY und SREF. Die PFSM 71 ist
normalerweise im IDLE-(Ruhe)-Zustand, entweder wenn sich der DRAM 42 im
Selbstauffrischungszustand befindet oder bevor das System initialisiert
wurde, wenn PORC anliegt. Das PORC-Signal wird nur beim Einschalten
des Systems angelegt und wird zum asynchronen Zurücksetzen
der PFSM 71 verwendet. Wenn PORC anliegt, wird die PFSM 71 in
den IDLE-Zustand gezwungen. Der IDLE-Zustand ist charakterisiert
durch SEL = 0, PF.CKE = 0 und PF.{RAS_N, CAS_N, WE_N, CS_N} = 1111.
Im IDLE-Zustand bleibt die PFSM 71 in diesem Zustand, bis
WAKEUP angelegt wird. WAKEUP ist ein Signal, das vom System zum
Aufwecken des DRAM 42 aus dem Selbstauffrischungszustand
ausgegeben wird. In einer gegebenen Ausführung kann WAKEUP das von der
Speichersteuerung ausgegebene Clock-Enable-Signal sein, wenn dieses Signal
bei Einschaltbedingungen vorhersehbar ist. Ansonsten kann WAKEUP
von einer externen Registerschaltung kommen, auf die Software schreiben
kann, wenn DRAM aus dem Selbstauffrischungszustand gebracht werden
muss.
-
Wenn
WAKEUP angelegt wird, dann geht die PFSM 71 vom IDLE-Zustand
in den ARM-Zustand über,
in dem die PFSM 71 auf ein Trigger-Event wartet. Der ARM-Zustand
ist charakterisiert durch SEL = 1, PF.CKE = 1 und PF.{RAS_N, CAS_N,
WE_N, CS_N} = 1111. Im ARM-Zustand wartet die PFSM 71, bis
TRIGGER angelegt wird. TRIGGER ist gewöhnlich der Ausgang eines Reset-„Trichters", d.h. einem logischen
OR mehrerer Bedingungen, die einen Reset verursachen müssten.
-
Wenn
TRIGGER angelegt wird, geht die PFSM 71 in den WAIT4CS-Zustand über. Der WAIT4CS
ist ein Zustand, in dem die PFSM 71 wartet, bis der DRAM 42 inaktiv
wird (beim Anlegen von TRIGGER lief möglicherweise gerade eine Speicheroperation).
Der WAIT4CS-Zustand ist charakterisiert durch SEL = 1, PF.CKE =
1 und PF. {RAS_N, CAS_N, WE_N, CS_N} = 1111. Im WAIT4CS-Zustand
bleibt die PFSM 71, bis MC.CS_N weggenommen wird (gleich
1), und in diesem Fall geht die PFSM 71 in den TRCDLY-Zustand über.
-
Nach
dem Eintritt in den TRCDLY-Zustand wartet die PFSM 71 eine
vorbestimmte Anzahl tRC von Zyklen von PF.CLK, wonach die PFSM 71 in
den PRECHRG-(Vorlade)-Zustand übergeht.
Der Wert von tRC ist von der Geschwindigkeit des DRAM 42 abhängig.
-
So
ist man beispielsweise der Ansicht, dass für einen DDR266 SDRAM ein Wert
von tRC = 65 ns (9 Zyklen) geeignet ist. Der TRCDLY-Zustand ist
gekennzeichnet durch SEL = 0, PF.CKE = 1 und PF.{RAS_N, CAS_N, WE_N,
CS_N} = 1111.
-
Im
PRECHRG-Zustand gibt die PFSM 71 den Befehl PRE_CHARGE
ALL an den DRAM 42 aus. Der PRECHRG-Zustand ist charakterisiert durch
SEL = 0, PF.CKE = 1 und PF.{RAS_N, CAS_N, WE_N, CS_N} = 0100. Aus
dem PRECHRG-Zustand geht die PFSM 71 normalerweise sofort
in den TRPDLY-Zustand über
(es sein denn, dass PORC anliegt).
-
Der
TRPDLY-Zustand ist charakterisiert durch SEL = 0, PF.CKE = 1 und
PF.{RAS_N, CAS_N, WE_N, CS_N} = 1111. Nach dem Eintritt in den TRPDLY-Zustand
wartet die PFSM 71 eine vorbestimmte Anzahl tRP von Zyklen
von PF.CLK, wonach die PFSM 71 in den SREF-(Selbstauffrischungs)-Zustand übergeht.
Der Wert von tRP ist von der Geschwindigkeit des DRAM 42 abhängig. So
ist man beispielsweise der Ansicht, dass für einen DDR266 SDRAM ein Wert
von tRP = 20 ns (3 Zyklen) geeignet ist.
-
Im
SREF-Zustand gibt die PFSM 71 den Befehl SELF REFRESH an
den DRAM 42 aus. Dieser Zustand ist gekennzeichnet durch
SEL = 0, PF.CKE = 0 und PF. {RAS_N, CAS_N, WE_N, CS_N} = 0010. Aus
dem SREF-Zustand geht die PFSM 71 sofort in den IDLE-Zustand über.
-
Es
ist ersichtlich, dass der SRMC 16 in den oben beschriebenen
Ausgestaltungen eine rein Hardware-gestützte Lösung ist, um DRAM in einen Selbstauffrischungszustand
zu setzen, der aus den oben angegebenen Gründen vorteilhaft ist. Man beachte
jedoch, dass auch andere Ansätze
möglich sind,
die möglicherweise
weniger vorteilhaft, aber trotzdem noch nützlich sind. So kann der SRMC 16 beispielsweise
in alternativen Ausgestaltungen die Form einer programmierbaren
Mikrosteuerung oder eines funktionsspezifischen Prozessors haben,
obwohl eine solche Lösung
wahrscheinlich komplexer und fehleranfälliger wäre als die oben beschriebenen Ausgestaltungen.
Als eine weitere alternative Ausgestaltung könnte ein Software-gestützter SRMC
immer noch nützlich
sein, wenn er in einer Software ausgeführt wird, die vom Betriebssystem
separat (und unabhängig)
und nicht für
ein Aufhängen
oder Abstürzen
des Betriebssystems anfällig
ist.
-
Somit
wurde ein Schaltkomplex beschrieben, der sich außerhalb der Speichersteuerung
befindet, um nichtflüchtigen
DRAM in einen Selbstauffrischungszustand zu setzen. Die vorliegende
Erfindung wurde zwar mit Bezug auf spezielle beispielhafte Ausgestaltungen
beschrieben, aber man wird erkennen, dass die Erfindung nicht auf
die beschriebenen Ausgestaltungen begrenzt ist, sondern mit Modifikationen
und Änderungen
umgesetzt werden kann, die in den Umfang der beiliegenden Ansprüche fallen.
Demgemäß sind die
Beschreibung und die Zeichnungen im illustrativen Sinne und nicht
in einem begrenzenden Sinne anzusehen.