-
Die vorliegende Erfindung betrifft Verfahren zum Booten von Informationshandhabungssystemen und Informationshandhabungssysteme, die diese ausführen.
-
Die zunehmende Komplexität von Informationshandhabungssystemen hat entsprechend zu einem Anstieg der Bootdauer für die Informationshandhabungssysteme geführt. Hingegen haben Benutzer von Informationshandhabungssystemen gefordert, dass Informationshandhabungssysteme ungeachtet der Systemkomplexität so bald wie möglich aktiviert und genutzt werden können. Dementsprechend besteht Bedarf, die Bootdauer zu reduzieren.
-
Der Erfindung liegt die technische Aufgabe zugrunde, ein Verfahren zum Booten eines Informationshandhabungssystems und ein Informationshandhabungssystem, das die Bootdauer reduziert, zur Verfügung zu stellen.
-
Die Erfindung löst diese Aufgabe dadurch, dass sie ein Verfahren zum Booten eines Informationshandhabungssystems mit den Merkmalen des Anspruch 1 oder 11 und ein Informationshandhabungssystem mit den Merkmalen des Anspruchs 16 zur Verfügung stellt.
-
Vorteilhafte Ausführungsformen der Erfindung sind in den Unteransprüchen angegeben, deren Wortlaut hiermit durch Bezugnahme zum Inhalt dieser Beschreibung gemacht wird, um unnötige Textwiederholungen zu vermeiden.
-
In einer Ausführungsform des erfinderischen Konzepts eines Verfahrens zum Booten eines Informationshandhabungssystems, das ein flüchtiges Speicherelement umfasst, welches selektiv während einer Bootoperation zu testen ist, umfasst das Verfahren einen Schritt zum Lesen von aktuellen Systemkonfigurationsinformationen von dem Informationshandhabungssystem, einen Schritt zum Vergleichen der aktuellen Systemkonfigurationsinformationen mit zugehörigen vorgespeicherten Systemkonfigurationsinformationen in einem nichtflüchtigen Speicherelement und einen Schritt zum selektiven Durchführen eines Tests des flüchtigen Speicherelements gemäß einem Ergebnis des Vergleichs.
-
In einer weiteren Ausführungsform umfasst das Informationshandhabungssystem einen Prozessor, ein Board (eine Platine, eine Leiterplatte) und das flüchtige Speicherelement als Systemkonfiguration. Das flüchtige Speicherelement ist ein Speichermodul mit einer Mehrzahl von dynamischen Direktzugriffspeichern oder dynamischen Speichern mit wahlfreiem Zugriff (DRAM, Dynamic Random Access Memory). Alternativ ist das flüchtige Speicherelement aus einem oder mehreren mobilen dynamischen Direktzugriffspeichern (DRAM) gebildet. Das Speichermodul umfasst das nichtflüchtige Speicherelement eines Serial-Presence-Detect(SPD)-Speichers. Alternativ ist das nichtflüchtige Speicherelement aus einem Basic-Input-Output-System(BIOS)-Speicherelement gebildet.
-
In einer weiteren Ausführungsform umfasst der Schritt zum Lesen aktueller Systemkonfigurationsinformationen einen Schritt zum Extrahieren einer aktuellen Seriennummer eines Prozessors von dem Prozessor, einen Schritt zum Extrahieren einer aktuellen Seriennummer des Boards von einem BIOS-Speicherelement und einen Schritt zum Extrahieren einer aktuellen Seriennummer des Speichermoduls von dem Serial-Presence-Detect(SPD)-Speicherelement.
-
In einer weiteren Ausführungsform umfasst der Schritt zum selektiven Durchführen eines Tests, wenn die aktuellen Systemkonfigurationsinformationen nicht mit den vorgespeicherten Systemkonfigurationsinformationen übereinstimmen, einen Schritt zum Durchführen eines Tests zum Überprüfen von Speicherzellen des flüchtigen Speicherelements, zum Speichern von Testergebnissen des Schritts zum Durchführen eines Tests zum Überprüfen von Speicherzellen in dem nichtflüchtigen Speicherelement und zum Speichern der aktuellen Systemkonfigurationsinformationen in dem nichtflüchtigen Speicherelement. Der Schritt zum Durchführen eines Tests zum Überprüfen von Speicherzellen wird mittels einer eingebauten Selbsttestlogik durchgeführt. Der Schritt zum selektiven Durchführen eines Tests umfasst weiter einen Schritt zum Trainieren zum Optimieren einer Signalintegrität von Kanälen, die mit dem flüchtigen Speicherelement verbunden sind. Der Schritt zum selektiven Durchführen eines Tests umfasst weiter einen Schritt zum Anwenden von Testergebnissen, die in dem nichfflüchtigen Speicherelement vorgespeichert sind, auf das Informationshandhabungssystem, ohne dass der Test zum Überprüfen von Speicherzeilen durchgeführt wird, und Trainieren zum Optimieren einer Signalintegrität von Kanälen, wenn die aktuellen Systemkonfigurationsinformationen mit den korrespondierenden gespeicherten Systemkonfigurationsinformationen übereinstimmen.
-
In einer weiteren Ausführungsform des erfinderischen Konzepts umfasst ein Verfahren zum Booten eines Informationshandhabungssystems, das ein flüchtiges Speicherelement umfasst, einen Schritt zum Überwachen einer Triggerbedingung zum Testen des flüchtigen Speicherelements. Das Verfahren umfasst weiter einen Schritt zum Durchführen eines Tests zum Überprüfen einer fehlerhaften Speicherzelle in dem flüchtigen Speicherelement und Trainieren zum Optimieren einer Signalintegrität von Kanälen, die mit dem flüchtigen Speicherelement verbunden sind, wenn die Triggerbedingung detektiert ist. Das Verfahren umfasst weiter einen Schritt zum Überspringen des Tests zum Überprüfen einer fehlerhaften Speicherzelle und des Trainierens für das Optimieren der Signalintegrität der Kanäle, wenn die Triggerbedingung nicht detektiert ist.
-
In einer weiteren Ausführungsform umfasst die Triggerbedingung einen Systemkonfigurationswechsel, ein vorgegebenes Maß einer Änderung der Betriebstemperatur, eine abnormale Beendigung einer vorgehenden Operation und/oder eine vorgegebene aufeinanderfolgende Anzahl von Bootoperationen ohne Testen des flüchtigen Speicherelements. Der Systemkonfigurationswechsel ist eine beliebige Änderung von Seriennummern eines Prozessors, eines Boards und eines flüchtigen Speicherelements bei einer aktuellen Bootoperation bezüglich der, die in einem nichtflüchtigen Speicherelement gespeichert sind. Die Änderung der Betriebstemperatur ist ein vorgegebener Differenzbetrag zwischen einer in einem nichtflüchtigen Speicherelement gespeicherten Betriebstemperatur und der Betriebstemperatur der aktuellen Bootoperation. Die abnormale Beendigung wird durch Prüfen eines Terminierungsflags, das angibt, wie das Informationshandhabungssystem in einer vorhergehenden Operation beendet wurde, detektiert.
-
In einer weiteren Ausführungsform umfasst das Verfahren weiter einen Schritt zum Vergleichen eines Bootzählers mit der vorgegebenen Anzahl von aufeinanderfolgenden Bootoperationen und einen Schritt zum Erhöhen des Bootzählers um 1 jedes Mal, wenn das Informationshandhabungssystem gebootet wird, ohne dass das flüchtige Speicherelement während vorangegangenen Bootoperationen getestet worden ist.
-
In einer weiteren Ausführungsform des vorliegenden erfinderischen Konzepts umfasst ein Informationshandhabungssystem ein Board, einen auf dem Board angebrachten Prozessor, ein auf dem Board angebrachtes und mit dem Prozessor gekoppeltes flüchtiges Speicherelement und ein nichtflüchtiges Speicherelement, das dazu ausgebildet ist, Seriennummern des Boards, des Prozessors und des flüchtigen Speicherelements zu speichern, wobei der Prozessor dazu ausgebildet ist, eine Triggerbedingung zum Testen des flüchtigen Speicherelements zu überwachen, selektiv einen Test zum Überprüfen von Speicherzellen in dem flüchtigen Speicherelement durchzuführen und zur Optimierung einer Signalintegrität von Kanälen zu trainieren, die zwischen dem flüchtigen Speicherelement und dem Prozessor eingeschleift sind.
-
In einer weiteren Ausführungsform ist die Triggerbedingung eine Systemkonfigurationsänderung, ein vorgegebenes Maß einer Änderung in einer Betriebstemperatur, eine abnormale Beendigung in einer vorangegangenen Operation und/oder eine vorgegebene aufeinanderfolgende Anzahl von Bootoperationen ohne Testen des flüchtigen Speicherelements. Die Systemkonfigurationsänderung beinhaltet eine beliebige Änderung von Seriennummern des Prozessors, des Boards und des flüchtigen Speicherelements bei einer aktuellen Bootoperation, bezogen auf diejenigen, die in dem nichtflüchtigen Speicherelement gespeichert sind.
-
Vorteilhafte Ausführungsformen der Erfindung, wie sie nachfolgend ausführlich beschrieben werden, sind in den Zeichnungen dargestellt, in denen:
-
1 ein Flussbild zeigt, das ein Verfahren zum Booten eines Informationshandhabungssystems gemäß einer Ausführungsform des erfinderischen Konzepts darstellt.
-
2 ein Blockdiagramm zeigt, das ein Beispiel eines Informationshandhabungssystems gemäß einer Ausführungsform des erfinderischen Konzepts darstellt.
-
3 ein Flussbild zeigt, das ein Verfahren zum Booten eines Informationshandhabungssystems gemäß einer Ausführungsform des erfinderischen Konzepts darstellt.
-
4 ein Blockdiagramm zeigt, das ein Beispiel eines Informationshandhabungssystems beim Durchführen eines Bootverfahrens von 3 darstellt.
-
5 ein Blockdiagramm zeigt, das ein anderes Beispiel eines Informationshandhabungssystems beim Durchführen eines Bootverfahrens von 3 darstellt.
-
6 ein Flussbild zeigt, das ein Verfahren zum Booten eines Informationshandhabungssystems gemäß einer Ausführungsform des erfinderischen Konzepts darstellt.
-
7 ein Blockdiagramm zeigt, das ein Beispiel eines Informationshandhabungssystems beim Durchführen eines Bootverfahrens von 6 darstellt.
-
8 ein Blockdiagramm zeigt, das ein anderes Beispiel eines Informationshandhabungssystems beim Durchführen eines Bootverfahrens von 6 darstellt.
-
9 ein Flussbild zeigt, das ein Verfahren zum Booten eines Informationshandhabungssystems gemäß einer Ausführungsform des erfinderischen Konzepts darstellt.
-
10 ein Blockdiagramm zeigt, das ein Beispiel eines Informationshandhabungssystems beim Durchführen eines Bootverfahrens von 9 darstellt.
-
11 ein Blockdiagramm zeigt, das ein anderes Beispiel eines Informationshandhabungssystems beim Durchführen eines Bootverfahrens von 9 darstellt.
-
12 ein Flussbild zeigt, das ein Verfahren zum Booten eines Informationshandhabungssystems gemäß einer Ausführungsform des erfinderischen Konzepts darstellt.
-
13 ein Blockdiagramm zeigt, das ein Beispiel eines Informationshandhabungssystems beim Durchführen eines Bootverfahrens von 12 darstellt.
-
14 ein Blockdiagramm zeigt, das ein anderes Beispiel eines Informationshandhabungssystems beim Durchführen eines Bootverfahrens von 12 darstellt.
-
15A bis 15F Schaubilder zeigen, die Beispiele eines Speichermoduls gemäß einer Ausführungsform des erfinderischen Konzepts darstellen.
-
16A bis 16D Schaubilder zeigen, die Beispiele einer Speicherschnittstelle gemäß einer Ausführungsform des erfinderischen Konzepts darstellen.
-
17 ein Blockdiagramm zeigt, das ein Mobilsystem gemäß einer Ausführungsform des erfinderischen Konzepts darstellt.
-
18 ein Blockdiagramm zeigt, das ein Serversystem gemäß einer Ausführungsform des erfinderischen Konzepts darstellt.
-
Es versteht sich, dass wenn ein Element oder eine Schicht als ”auf”, ”verbunden mit” oder ”gekoppelt mit” einem anderen Element oder einer Schicht bezeichnet ist, es/sie direkt auf, verbunden mit oder gekoppelt mit dem anderen Element oder der Schicht sein kann oder dazwischen liegende Elemente oder Schichten vorhanden sein können. Wenn hingegen ein Element oder eine Schicht als ”direkt auf”, ”direkt verbunden mit” oder ”direkt gekoppelt mit” einem anderen Element oder einer Schicht bezeichnet ist, sind keine dazwischen liegenden Elemente oder Schichten vorhanden. Gleiche Bezugszeichen bezeichnen gleiche Elemente in der gesamten Beschreibung. Der hierin verwendete Ausdruck ”und/oder” beinhaltet beliebige und alle Kombinationen von einem oder mehreren der zugehörigen angegebenen Gegenstände.
-
1 zeigt ein Flussbild, das ein Verfahren zum Booten eines Informationshandhabungssystems gemäß einer Ausführungsform des erfinderischen Konzepts darstellt.
-
Mit Bezug zu 1, wenn ein Informationshandhabungssystem gebootet wird, wird eine aktuelle Systemkonfiguration mit einer gespeicherten Systemkonfiguration verglichen (S110). Zum Beispiel kann in einem Fall, bei dem das Informationshandhabungssystem angeschaltet wird, in einem Fall, bei dem das Informationshandhabungssystem zurückgesetzt wird, oder in einem Fall, bei dem ein Energiezustand des Informationshandhabungssystems wechselt, die aktuelle Systemkonfiguration mit der gespeicherten Systemkonfiguration verglichen werden.
-
Hierbei ist die gespeicherte Systemkonfiguration eine Konfiguration, die in einem nichtflüchtigen Speicherelement gespeichert worden ist, das im Informationshandhabungssystem vorgesehen ist, wenn das Informationshandhabungssystem zuvor gebootet wurde. Weiter ist die aktuelle Systemkonfiguration eine Konfiguration, wenn das Informationshandhabungssystem gerade gebootet wird. Zum Beispiel kann das Informationshandhabungssystem einen Prozessor, ein Board, mindestens ein Bauelement (eine Einrichtung, ein Element) und das nichtflüchtige Speicherelement umfassen und die aktuelle Systemkonfiguration des Prozessors, des Boards und des mindestens einen Bauelements kann mit der gespeicherten Systemkonfiguration des Prozessors, des Boards und des mindestens einen Bauelements verglichen werden. In diesem Fall werden zum Vergleichen der aktuellen Systemkonfiguration mit der gespeicherten Systemkonfiguration gespeicherte Identifikationsinformationen des Prozessors, des Boards und des mindestens einen Bauelements als die gespeicherte Systemkonfiguration gelesen, aktuelle Identifikationsinformationen des Prozessors, des Boards und des mindestens einen Bauelements werden als aktuelle Systemkonfiguration ermittelt und die aktuellen Identifikationsinformationen können mit den gespeicherten Identifikationsinformationen verglichen werden. In einigen Ausführungsformen können die Identifikationsinformationen jedes Bauelements eine Art des Bauelements, eine Revision des Bauelements, eine Seriennummer des Bauelements usw. beinhalten.
-
Das nichtflüchtige Speicherelement kann die gespeicherten Identifikationsinformationen des Prozessors, des Boards und des mindestens einen Bauelements behalten, wenn dem nichtflüchtigen Speicherelement keine Energie zugeführt wird. Das nichtflüchtige Speicherelement kann ein beliebiges nichtflüchtiges Speicherelement sein, das im Informationshandhabungssystem vorgesehen ist. In einigen Ausführungsformen kann das nichtflüchtige Speicherelement in dem mindestens einen Bauelement vorgesehen sein. In anderen Ausführungsformen kann das nichtflüchtige Speicherelement ein Basic-Input-Output-System(BIOS)-Speicherelement sein, das einen Bootkode für das Informationshandhabungssystem speichert. Zum Beispiel kann das nichtflüchtige Speicherelement einen elektrisch löschbaren programmierbaren Nurlesespeicher (Electrically Erasable Programmable Read-Only Memory, EEPROM), einen Flashspeicher, einen Phasenwechsel-RAM (Phase Change Random Access Memory, PRAM), einen resistiven Direktzugriffspeicher (Resistive Random Access Memory, RRAM), einen Nano-Floating-Gatespeicher (NFGM), einen Polymerdirektzugriffspeicher (PoRAM), einen magnetischen Direktzugriffspeicher (MRAM), einen ferroelektrischen Direktzugriffspeicher (FRAM) usw. beinhalten.
-
Das mindestens eine Bauelement wird gemäß einem Ergebnis des Vergleichs der aktuellen Systemkonfiguration und der gespeicherten Systemkonfiguration selektiv getestet (S130). Zum Beispiel kann das mindestens eine Bauelement getestet werden, wenn die aktuelle Systemkonfiguration sich von der gespeicherten Systemkonfiguration unterscheidet, und das mindestens eine Bauelement kann nicht getestet werden, wenn die aktuelle Systemkonfiguration gleich der gespeicherten Systemkonfiguration ist.
-
Hierbei kann der Test für das mindestens eine Bauelement einen eingebauten Selbsttest (BIST, Built-In Self-Test) des mindestens einen Bauelements und/oder ein Training für das mindestens eine Bauelement beinhalten. Weiter kann das mindestens eine Bauelement ein beliebiges Element umfassen, bei dem während eines Bootens des Informationshandhabungssystems der Test typischerweise durchgeführt wird. In einigen Ausführungsformen kann das mindestens eine Bauelement ein flüchtiges Speicherelement sein, wie ein dynamischer Direktzugriffspeicher (DRAM). Insbesondere umfasst der DRAM einen mobilen DRAM, der für ein mobiles Informationshandhabungssystem, wie Notebooks oder Smartphones verwendet wird. Alternativ kann das mindestens eine Bauelement ein Speichermodul mit einer Mehrzahl von DRAMs, eine Graphikkarte oder der Prozessor sein. Wenn zum Beispiel die aktuelle Systemkonfiguration gleich der gespeicherten Systemkonfiguration ist, oder wenn eine Systemkonfiguration während einer aktuellen Bootoperation im Vergleich zu einer Systemkonfiguration während einer vorhergehenden Bootoperation nicht verändert ist, kann der BIST und/oder das Training für das Speicherelement, das Speichermodul, die Graphikkarte oder den Prozessor nicht durchgeführt werden.
-
Wenn die aktuelle Systemkonfiguration sich von der gespeicherten Systemkonfiguration unterscheidet, kann der Test für das mindestens eine Bauelement durchgeführt werden. Zum Beispiel in einem Fall, bei dem das Informationshandhabungssystem zum ersten Mal gebootet wird, oder in einem Fall, bei dem der Prozessor, das Board oder das mindestens eine Bauelement ersetzt ist, kann der Test durchgeführt werden. Nach dem Test kann ein Ergebnis des Tests im nichtflüchtigen Speicherelement gespeichert werden und die aktuelle Systemkonfiguration kann als gespeicherte Systemkonfiguration im nichtflüchtigen Speicherelement gespeichert werden. Die im nichtflüchtigen Speicherelement die gespeicherte aktuelle Systemkonfiguration kann bei späteren Bootoperationen als die gespeicherte Systemkonfiguration verwendet werden.
-
Wenn die aktuelle Systemkonfiguration gleich der gespeicherten Systemkonfiguration ist, kann der Test nicht durchgeführt werden, das bei einer früheren Bootoperation gespeicherte Testergebnis kann aus dem nichtflüchtigen Speicherelement ausgelesen werden und das gelesene Testergebnis kann bei dem mindestens einen Bauelement oder dem Informationshandhabungssystem angewendet werden.
-
Wie oben beschrieben, bei einem Verfahren zum Booten eines Informationshandhabungssystems gemäß beispielhafter Ausführungsformen können der Test für das mindestens eine Bauelement, wie der BIST, das Training usw. selektiv durchgeführt werden, in Abhängigkeit davon, ob eine Systemkonfiguration verändert wurde, wodurch sich eine Bootdauer und der Energieverbrauch verringern.
-
2 zeigt ein Blockdiagramm, das ein Beispiel eines Informationshandhabungssystems gemäß einer Ausführungsform des erfinderischen Konzepts darstellt.
-
Mit Bezug zu 2 umfasst ein Informationshandhabungssystem 200 einen Prozessor 210, einen Eingabe-/Ausgabe-Anschluss 220, auch I/O-Hub genannt, einen Eingabe-/Ausgabe-Steuerungsanschluss 230, auch I/-Controller-Hub (ICH) genannt, mindestens ein Speichermodul 240, eine Graphikkarte 250 und ein BIOS-Speicherelement 260. In einigen Ausführungsformen kann das Informationshandhabungssystem 200 ein beliebiges Informationshandhabungssystem sein, wie ein Personalcomputer (PC), ein Servercomputer, eine Arbeitsstation, ein Tabletcomputer, ein Laptopcomputer, ein Mobiltelefon, ein Smartphone, ein persönlicher digitaler Assistent (PDA), ein tragbares Multimediaabspielgerät (PMP), eine Digitalkamera, ein digitales Fernsehgerät, eine Set-Top-Box, ein Musikabspielgerät, eine tragbare Spielekonsole, ein Navigationsgerät usw.
-
Der Prozessor 210 kann auf einem Board (nicht gezeigt) angebracht sein, wie einem Motherboard (einer Grundplatine), einer Hauptplatine oder dergleichen. Der Prozessor 210 kann spezielle Berechnungen oder Aufgaben ausführen. Zum Beispiel kann der Prozessor 210 ein Mikroprozessor, eine Zentraleinheit (CPU), ein Digitalsignalprozessor oder dergleichen ein. Der Prozessor 210 kann eine beliebige Anzahl an Prozessorkernen beinhalten. Zum Beispiel kann der Prozessor 210 ein Einkernprozessor (Single-Core-Prozessor) oder ein Mehrkernprozessor (Multi-Core-Prozessor) sein, wie ein Doppelkernprozessor (Dual-Core-Prozessor), ein Vierkernprozessor (Quad-Core-Prozessor), ein Sechskernprozessor (Hexa-Core-Prozessor) usw.. In einer alternativen Ausführungsform kann das Informationshandhabungssystem 200 eine Mehrzahl von Prozessoren beinhalten. Der Prozessor 210 kann mit einem Cachespeicher innerhalb oder außerhalb des Prozessors 210 gekoppelt sein.
-
Der Prozessor 210 kann eine Speichersteuereinheit 215 beinhalten, die eine Operation des Speichermoduls 240 steuert. Die Speichersteuereinheit 215 im Prozessor 210 kann als integrierte Speichersteuereinheit (IMC) bezeichnet werden. In einer alternativen Ausführungsform kann die Speichersteuereinheit 215 im Eingabe-/Ausgabe-Anschluss 220 vorgesehen sein. Der Eingabe-/Ausgabe-Anschluss 220 mit der Speichersteuereinheit kann als Speichersteueranschluss (Memory Controller Hub, MCH) bezeichnet werden.
-
Der Eingabe-/Ausgabe-Anschluss 220 kann auf dem Board angebracht sein und kann eine Datenübertragung zwischen dem Prozessor 210 und Bauelementen, wie der Graphikkarte 250 verwalten. Der Eingabe-/Ausgabe-Anschluss 220 kann mit dem Prozessor 210 über eine von verschiedenen Schnittstellen gekoppelt sein, wie einem Front-Side-Bus (FSB), einem Systembus, einem HyperTransport, einem Lightning-Data-Transport (LOT), einem QuickPath-Interconnect (QPI) und einer gemeinsamen Systemschnittstelle Common-System-Interface (CSI). In einer alternativen Ausführungsform kann das Informationshandhabungssystem 200 eine Mehrzahl von Eingabe-/Ausgabe-Anschlüssen beinhalten.
-
Der Eingabe-/Ausgabe-Anschluss 220 kann verschiedene Schnittstellen mit Bauelementen bereitstellen, darunter eine Accelerated-Graphics-Port(AGP)-Schnittstelle, eine Peripheral-Component-Interface-Express(PCIe)-Schnittstelle zur Verbindung mit Peripheriegeräten und eine Communications-Streaming-Architecture(CSA)-Schnittstelle.
-
Die Graphikkarte 250 kann mit dem Eingabe-/Ausgabe-Anschluss 220 über die AGP- oder die PCIe-Schnittstelle verbunden sein. Die Graphikkarte 250 kann eine Anzeigeeinrichtung zum Anzeigen eines Bildes steuern. Die Graphikkarte 250 kann einen internen Prozessor und einen internen Speicher zum Verarbeiten des Bildes umfassen. In einigen Ausführungsformen kann, wenn das Informationshandhabungssystem 200 gebootet wird, ein BIST der Graphikkarte 250 oder ein Training zwischen dem internen Prozessor und dem internen Speicher selektiv durchgeführt werden. In einer alternativen Ausführungsform kann ein internes Graphikelement in den Eingabe-/Ausgabe-Anschluss 220 integriert sein. Das interne Graphikelement kann als integrierte Graphik bezeichnet werden und ein Eingabe-/Ausgabe-Anschluss mit der Speichersteuereinheit und dem internen Graphikelement kann als Graphik- und Speichersteueranschluss (Graphics and Memory Controller Hub, GMCH) bezeichnet werden.
-
Der Eingabe-/Ausgabe-Steuerungsanschluss 230 kann auf dem Board angebracht sein und kann ein Datenpuffern und eine Schnittstellenarbitration durchführen, um verschiedene Systemschnittstellen effizient zu betreiben. Der Eingabe-/Ausgabe-Steuerungsanschluss 230 kann mit dem Eingabe-/Ausgabe-Anschluss 220 über verschiedene Schnittstellen gekoppelt sein, darunter eine direkte Medienschnittstelle (DMI), eine Anschlussschnittstelle (Hub-Schnittstelle), eine Enterprise-Southbridge-Interface(ESI)-Schnittstelle und eine PCIe-Schnittstelle.
-
Der Eingabe-/Ausgabe-Steuerungsanschluss 230 kann verschiedene Schnittstellen mit Peripheriegeräten bereitstellen. Zum Beispiel kann der Eingabe-/Ausgabe-Steuerungsanschluss 230 einen Universal-Serial-Bus(USB)-Port, einen Serial-Advanced-Technology-Attachment(SATA)-Port, einen Altzweck-Eingang-/Ausgang (General-Purpose-Input/Output, GPIO), einen Low-Pin-Count(LPC)-Bus, einen PCI-Bus und einen PCIe-Bus vorsehen. Weiter kann der Eingabe-/Ausgabe-Steuerungsanschluss 230 eine Schnittstelle mit einem BIOS-Speicherelement 260 steuern. Zum Beispiel kann die Schnittstelle eine serielle Peripherieschnittstelle (Serial-Peripheral-Interface, SPI) und eine Schnittstelle mit dem Speichermodul 240 beinhalten, wie einen seriellen I2C-Bus, wobei I2C Inter-Integrated Circuit bedeutet, oder einen Systemmanagementbus (SMBUS).
-
Das BIOS-Speicherelement 260 kann einen BIOS-Kode zum Booten des Informationshandhabungssystems 200 speichern. Der BIOS-Kode kann einen Funktionsselbsttest(POST)-Kode beinhalten, wobei POST Power-On Self-Test bedeutet, der Hardwarekomponenten detektiert, wie eine Tastatur, das Speichermodul 240 und ein Plattenlaufwerk, und prüft, ob diese Hardwarekomponenten normal funktionieren. Der BIOS-Kode kann weiter als Teil des POST-Kodes einen Speicherreferenzkode (Memory-Reference-Code, MRC) zum Initialisieren des Speichermoduls 240 beinhalten. Der MRC kann verschiedene Algorithmen umfassen, um die Speichersteuereinheit 215 für eine normale Interoperation mit dem Speichermodul 240 zu konfigurieren. Zum Beispiel, wenn der MRC vom Prozessor 210 ausgeführt wird, können Serial-Presence-Detect(SPD)-Daten aus dem SPC-Speicherelement, das im Speichermodul 240 vorgesehen ist, über den SMBUS gelesen werden und Parameter der Speichersteuereinheit 215, wie Frequenz, Operationstiming usw., können basierend auf den SPD-Daten gesetzt werden. Weiter kann an BIST und/oder ein Trainieren für das Speichermodul 240 vom MRC durchgeführt werden.
-
Das Speichermodul 240 kann mit der Speichersteuereinheit 215 über eine Speicherschnittstelle gekoppelt sein und kann mit dem Eingabe-/Ausgabe-Steuerungsanschluss 230 über den SMBUS gekoppelt sein. Zum Beispiel können Daten, Adressen und Befehle zwischen dem Speichermodul 240 und der Speichersteuereinheit 215 über die Speicherschnittstelle übertragen werden und die SPD-Daten können zwischen dem Speichermodul 240 und dem Eingabe-/Ausgabe-Steuerungsanschluss 230 über den SMBUS übertragen werden. Die SPD-Daten können Informationen über einen Typ und/oder ein Timing des Speichermoduls 240 beinhalten. Zum Beispiel können die SPD-Daten einen Typ von Speicherelementen, die im Speichermodul 240 vorgesehen sind, einen Typ von Speichermodul 240, Operationstiminginformationen, Herstellungsinformationen, eine Revisionskode, eine Seriennummer usw. beinhalten.
-
Die Speicherschnittstelle zwischen dem Speichermodul 240 und der Speichersteuereinheit 215 kann durch mindestens einen Kanal ausgebildet sein, der eine Mehrzahl von Signalleitungen umfasst. Jeder Kanal kann mit mindestens einem Speichermodul 240 gekoppelt sein. Durch Ausführen des MRC-Kodes kann das Trainieren für das Speichermodul 240 eine Signalintegrität für Chipverbindungen zwischen dem Speichermodul 240 und der Speichersteuereinheit 215 optimieren.
-
In einigen Ausführungsformen können der Prozessor 210, der Eingabe-/Ausgabe-Anschluss 220 und der Eingabe-/Ausgabe-Steuerungsanschluss 230 als separate Chipsets oder separate integrierte Schaltungen ausgebildet sein. In anderen Ausführungsformen können mindestens zwei von Prozessor 210, Eingabe-/Ausgabe-Anschluss 220 und Eingabe-/Ausgabe-Steuerungsanschluss 230 als ein Chipset integriert sein. Ein Chipset mit dem Eingabe-/Ausgabe-Anschluss 220 und dem Eingabe-/Ausgabe-Steuerungsanschluss 230 kann als Steuerungschipset bezeichnet werden und ein Chipset mit dem Prozessor 210, dem Eingabe-/Ausgabe-Anschluss 220 und dem Eingabe-/Ausgabe-Steuerungsanschluss 230 kann als Prozessorchipset bezeichnet werden.
-
Nachfolgend wird ein beispielhaftes Verfahren zum Booten des Informationshandhabungssystems 200 mit Bezug zu 2 beschrieben.
-
In einem Fall, bei dem das Informationshandhabungssystem 200 angeschaltet und mit Energie versorgt wird, in einem Fall, bei dem das Informationshandhabungssystem 200 zurückgesetzt wird, oder in einem Fall, bei dem ein Energiezustand des Informationshandhabungssystems 200 wechselt, kann das Informationshandhabungssystem 200 gebootet werden. Während einer Bootoperation kann der im BIOS-Speicherelement 260 gespeicherte BIOS-Kode über die SPI gelesen werden und der gelesene BIOS-Kode kann durch den Prozessor 210 ausgeführt werden.
-
Der BIOS-Kode kann eine erste Instruktion zum Lesen einer gespeicherten Systemkonfiguration aus einem nichtflüchtigen Speicherelement, das im Informationshandhabungssystem 200 vorgesehen ist, umfassen. Das nichtflüchtige Speicherelement, das die Systemkonfiguration speichert, kann das im Speichermodul 240 vorgesehene SPD-Speicherelement sein. In einer alternativen Ausführungsform kann das nichtflüchtige Speicherelement, das die Systemkonfiguration speichert, das BIOS-Speicherelement 260 sein.
-
Im Betrieb, wenn der Prozessor 210 die erste Instruktion des BIOS-Kodes ausführt, erhält der Prozessor 210 eine Systemkonfiguration einer vorhergehenden Bootoperation, die im nichtflüchtigen Speicherelement gespeichert ist. Die bei der vorhergehenden Bootoperation gespeicherte Systemkonfiguration beinhaltet Identifikationsinformationen des Prozessors 210, des Boards und des mindestens einen Bauelements, die bei der vorhergehenden Bootoperation verwendet wurden. In einigen Ausführungsformen kann das mindestens eine Bauelement den Prozessor 210, die Graphikkarte 250, das Speichermodul 240 oder ein anderes Speicherelement beinhalten. Zum Beispiel können die Identifikationsinformationen des Prozessors 210, des Boards und des mindestens einen Bauelements Seriennummern des Prozessors 210, des Boards und des mindestens einen Bauelements umfassen.
-
Der BIOS-Kode kann weiter eine zweite Instruktion zum Ermitteln einer aktuellen Systemkonfiguration vom Informationshandhabungssystem 200 umfassen. In einigen Ausführungsformen können durch Ausführen der zweiten Instruktion des BIOS-Kodes aktuelle Identifikationsinformationen des Prozessors 210, des Boards und des mindestens einen Bauelements als die aktuelle Systemkonfiguration ermittelt werden. In einigen Ausführungsformen kann der MRC die zweite Instruktion zum Ermitteln der aktuellen Identifikationsinformationen beinhalten.
-
Im Betrieb, wenn der Prozessor 210 die zweite Instruktion ausführt, erhält der Prozessor 210 aktuelle Identifikationsinformationen vom Prozessor 210, dem Board und dem mindestens einen Bauelement als aktuelle Systemkonfiguration. Zum Beispiel extrahiert der Prozessor 210 eine aktuelle Seriennummer des Prozessors 210 als aktuelle Identifikationsinformationen des Prozessors 210. Weiter kann der Prozessor 210 die gespeicherte Seriennummer des Boards vom BIOS-Speicherelement 260 über die SPI als aktuelle Seriennummer des Boards (d. h., die aktuelle Identifikationsinformationen des Boards) extrahieren. Außerdem kann in einem Fall, bei dem das mindestens eine Bauelement das Speichermodul 240 ist, der Prozessor 210 eine aktuelle Seriennummer des Speichermoduls 240 aus dem SPD-Speicherelement im Speichermodul 240 über den SMBUS als die aktuellen Identifikationsinformationen des mindestens einen Bauelements extrahieren.
-
Wenn die aktuellen Identifikationsinformationen sich von den gespeicherten Identifikationsinformationen unterscheiden, kann der Prozessor 210 das mindestens eine Bauelement initialisieren. Initialisieren des mindestens einen Bauelements umfasst einen Schritt zum Trainieren des mindestens einen Bauelements und einen Schritt zum Durchführen eines Tests (z. B. einen BIST oder Training) für das mindestens eine Bauelement. Der Schritt zum Trainieren des mindestens einen Bauelements kann eine Optimierung der Signalintegrität von Kanälen zwischen dem mindestens einen Bauelement und dem Prozessor 210 umfassen. Der Schritt zum Durchführen eines Tests für das mindestens eine Bauelement kann einen Funktionalitätstest umfassen. Wenn zum Beispiel das mindestens eine Bauelement ein Speicherelement umfasst, besteht der Funktionalitätstest darin, zu Prüfen, ob Speicherzellen so arbeiten, wie es in einer Spezifikation vorgegeben ist. Insbesondere, wenn aktuelle Seriennummern des Prozessors 210, des Boards und des mindestens einen Bauelements, die während einer aktuellen Bootoperation extrahiert werden, sich von gespeicherten Seriennummern des Prozessors 210, des Boards und des mindestens einen Bauelements, die im nichtflüchtigen Speicherelement gespeichert sind, unterscheiden kann der BIST und/oder das Trainieren für das mindestens eine Bauelement durchgeführt werden.
-
Wenn der Prozessor 210 ein Initialisieren des mindestens einen Bauelements beendet, kann ein Ergebnis des BIST und/oder ein Ergebnis des Trainierens im nichtflüchtigen Speicherelement gespeichert werden und die aktuellen Identifikationsinformationen (z. B. die aktuellen Seriennummern des Prozessors, des Boards und des mindestens einen Bauelements, die während der Bootoperation extrahiert worden sind) können im nichtflüchtigen Speicherelement gespeichert werden. Die im nichtflüchtigen Speicherelement gespeicherten aktuellen Identifikationsinformationen können als die gespeicherten Identifikationsinformationen bei nachfolgenden Bootoperationen verwendet werden.
-
Wenn die aktuellen Identifikationsinformationen gleich den gespeicherten Identifikationsinformationen sind, kann der Prozessor 210 das mindestens eine Bauelement nicht initialisieren und ein in einem vorhergehenden Bootprozess im nichtflüchtigen Speicherelement gespeichertes Trainingsergebnis bei dem mindestens einen Bauelement oder dem Informationshandhabungssystem 200 anwenden. Wenn zum Beispiel die aktuellen Seriennummern gleich den gespeicherten Seriennummern sind, kann der BIST und/oder das Trainieren für das mindestens eine Bauelement nicht durchgeführt werden und das Ergebnis des BIST und/oder das Ergebnis des Trainierens, die im nichtflüchtigen Speicherelement gespeichert sind, können angewendet werden. Zum Beispiel können der BIST und/oder das Trainieren für das Speichermodul 240 nicht durchgeführt werden und Operationsparameter der Speichersteuereinheit 215 und des Speichermoduls 240 können unter Verwendung des Ergebnisses des BIST und des Ergebnisses des Trainierens, die im nichtflüchtigen Speicherelement gespeichert sind, (d. h., die Ergebnisse des BIST und die Ergebnisse des Trainierens, die in einer vorhergehenden Bootoperation durchgeführt worden sind) gesetzt werden.
-
Wie oben beschrieben, wenn das Informationshandhabungssystem 200 gemäß beispielhafter Ausführungsformen gebootet wird, kann der Test für das mindestens eine Bauelement, in Abhängigkeit davon, ob eine Systemkonfiguration geändert wurde, selektiv durchgeführt werden, wodurch eine Bootdauer und der Energieverbrauch reduziert werden.
-
3 zeigt ein Flussbild, das ein Verfahren zum Booten eines Informationshandhabungssystems gemäß beispielhafter Ausführungsformen darstellt, 4 zeigt ein Blockdiagramm, das ein Beispiel eines Informationshandhabungssystems beim Durchführen eines Bootverfahrens von 3 darstellt, und 5 zeigt ein Blockdiagramm, das ein anderes Beispiel eines Informationshandhabungssystems beim Durchführen eines Bootverfahrens von 3 darstellt.
-
Mit Bezug zu den 3, 4 und 5, wenn ein Informationshandhabungssystem 200a oder 200b gebootet wird, werden gespeicherte Identifikationsinformationen 282a oder 262b eines Prozessors 210, eines Boards (nicht gezeigt) und eines Speichermoduls 240a oder 240b gelesen (S310). In 4 können die gespeicherten Identifikationsinformationen 282a aus einem SPD-Speicherelement 280a, das im Speichermodul 240a vorgesehen ist, über einen Systemmanagementbus SMBUS gelesen werden. In 5 können die gespeicherten Identifikationsinformationen 262b aus einem BIOS-Speicherelement 260b über eine serielle Peripherieschnittstelle SPI gelesen werden. Beispielsweise können die gespeicherten Identifikationsinformationen 282a oder 262b gespeicherte Seriennummern des Prozessors 210, des Boards und des Speichermoduls 240a oder 240b beinhalten. In einer alternativen Ausführungsform können die gespeicherten Identifikationsinformationen 282a oder 262b in einem anderen nichtflüchtigen Speicherelement, das nicht das SPD-Speicherelement 280a oder 280b und das BIOS-Speicherelement 260a oder 260b ist, gespeichert werden.
-
Während einer Bootoperation des Informationshandhabungssystems 200a oder 200b können aktuelle Identifikationsinformationen des Prozessors 210, des Boards und des Speichermoduls 240a oder 240b ermittelt werden (S320). Ein im BIOS-Speicherelement 260a oder 260b gespeicherter BIOS-Kode 261b kann eine Instruktion zum Lesen der aktuellen Identifikationsinformationen beinhalten und der Prozessor 210 kann die aktuellen Identifikationsinformationen durch Ausführen des BIOS-Kodes 261b erhalten. Zum Beispiel kann der Prozessor 210 eine aktuelle Seriennummer des Prozessors 210 durch Ausführen einer spezifischen Instruktion extrahieren, kann eine aktuelle Seriennummer des Boards durch Zugriff auf das BIOS-Speicherelement 260a oder 260b über einen Steuerungschipsatz 270 und die serielle Peripherieschnittstelle SPI extrahieren und kann eine aktuelle Seriennummer des Speichermoduls 240a oder 240b durch Zugriff auf das SPD-Speicherelement 280a oder 280b über den Steuerungschipsatz 270 und den Systemmanagementbus SMBUS extrahieren.
-
Wenn eine aktuelle Systemkonfiguration sich bei einer aktuellen Bootoperation von einer gespeicherten Systemkonfiguration vor der aktuellen Bootoperation unterscheidet, oder wenn die aktuellen Identifikationsinformationen sich von den gespeicherten Identifikationsinformationen 282a oder 262b unterscheiden (S330:NEIN), kann eine Speichersteuereinheit 215 einen Operationsmodus des Speichermoduls 240a oder 240b setzen (S340) und die Speichersteuereinheit 215 kann ein Speichertraining und einen Speichertest für das Speichermodul 240a oder 240b durchführen (S350 und S360). Zum Beispiel in einem Fall, bei dem das Informationshandhabungssystem 200a oder 200b anfänglich gebootet wird, oder in einem Fall, bei dem der Prozessor 210, das Board und/oder das Speichermodul 240a oder 240b ersetzt ist, können das Speichertrainieren und der Speichertest durchgeführt werden.
-
Zum Beispiel kann die Speichersteuereinheit 215 den Operationsmodus des Speichermoduls 240a oder 240b setzen, wie eine Burstlänge, einen Bursttyp, eine Latenzzeit der Spaltenadresse CAS-Latenz (von Column Address Strobe Latency), einen Testmodus, ein Delay-Locked-Loop(DLL)-Reset usw. (S340). Das Setzen des Operationsmodus kann als Modusregistersetting oder Modusregistersetzen bezeichnet werden. Weiter kann die Speichersteuereinheit 215 das Speichertrainieren zum Kalibrieren einer Schnittstelle mit dem Speichermodul 240a oder 240b durchführen (S350). Zum Beispiel kann die Speichersteuereinheit 215 ein Schreib-/Leselevelling, Adressentrainieren, Takttrainieren, Schreib-/Lese-Recentertrainieren usw. durchführen. Außerdem kann die Speichersteuereinheit 215 das Speichermodul 240a oder 240b steuern, um einen BIST als Speichertest durchzuführen (S360). Zum Beispiel kann das Speichermodul 240a oder 240b so gesteuert werden, dass es einen Speichervollzellentest durchführt, um zu überprüfen, ob die gesamten Speicherzellen normal funktionieren.
-
Nach dem Speichertrainieren und dem Speichertest kann der Prozessor 210 ein Testergebnis 283a oder 263b des Speichertrainierens und des Speichertests in einem nichfflüchtigen Speicherelement speichern, das im Informationshandhabungssystem 200a oder 200b vorgesehen ist, und kann die aktuellen Identifikationsinformationen als die gespeicherten Identifikationsinformationen 282a oder 262b im nichtflüchtigen Speicherelement speichern (S370). In einigen Ausführungsformen kann der Prozessor 210 das Testergebnis 283a und die Identifikationsinformationen 282a im SPD-Speicherelement 280a über den Systemmanagementbus SMBUS speichern. In anderen Ausführungsformen kann der Prozessor 210 das Testergebnis 263b und die Identifikationsinformationen 262b im BIOS-Speicherelement 260b über die serielle Peripherieschnittstelle SPI speichern. Obwohl 4 ein Beispiel darstellt, bei dem das Testergebnis 283a und die Identifikationsinformationen 282a im SPD-Speicherelement 280a gespeichert werden, und 5 ein Beispiel darstellt, bei dem das Testergebnis 263b und die Identifikationsinformationen 262b im BIOS-Speicherelement 260b gespeichert werden, können in einigen Ausführungsformen das Testergebnis 283a oder 263b und die Identifikationsinformationen 282a oder 262b im SPD-Speicherelement 280a oder 280b bzw. im BIOS-Speicherelement 260a oder 260b gespeichert werden. In anderen Ausführungsformen können das Testergebnis 283a oder 263b und die Identifikationsinformationen 282a oder 262b in einem nichtflüchtigen Speicherelement gespeichert werden, das nicht das SPD-Speicherelement 280a oder 280b und das BIOS-Speicherelement 260a oder 260b ist.
-
Wenn die aktuelle Systemkonfiguration bei der aktuellen Bootoperation gleich der gespeicherten Systemkonfiguration vor der aktuellen Bootoperation ist, oder wenn die aktuellen Identifikationsinformationen gleich den gespeicherten Identifikationsinformationen 282a oder 262b sind (S330:JA), können das Speichertrainieren und der Speichertest nicht durchgeführt werden. In diesem Fall kann der Prozessor 210 das Testergebnis 283a oder 263b, das im nichtflüchtigen Speicherelement gespeichert ist, bei der Speichersteuereinheit 215 und dem Speichermodul 240a oder 240b anwenden (S380). In einigen Ausführungsformen kann der Prozessor 210 das Testergebnis 283a aus dem SPD-Speicherelement 280a lesen und kann das Testergebnis 283a bei der Speichersteuereinheit 215 und dem Speichermodul 240a anwenden. In anderen Ausführungsformen kann der Prozessor 210 das Testergebnis 262b aus dem BIOS-Speicherelement 260a lesen und kann das Testergebnis 262b bei der Speichersteuereinheit 215 und dem Speichermodul 240b anwenden. Weiter kann die Speichersteuereinheit 215 den Operationsmodus des Speichermoduls 240a oder 240b setzen (S390).
-
Wie oben beschrieben können bei einem Verfahren zum Booten des Informationshandhabungssystems 200a oder 200b gemäß beispielhafter Ausführungsformen das Speichertrainieren und der Speichertest in Abhängigkeit davon, ob eine Systemkonfiguration verändert ist, selektiv durchgeführt werden, wodurch eine Bootdauer und der Energieverbrauch reduziert werden können.
-
6 zeigt ein Flussbild, das ein Verfahren zum Booten eines Informationshandhabungssystems gemäß beispielhafter Ausführungsformen darstellt, 7 zeigt ein Blockdiagramm, das ein Beispiel eines Informationshandhabungssystems beim Durchführen eines Bootverfahrens von 6 darstellt, und 8 zeigt ein Blockdiagramm, das ein anderes Beispiel eines Informationshandhabungssystems beim Durchführen eines Bootverfahrens von 6 darstellt.
-
Mit Bezug zu den 6, 7 und 8, wenn ein Informationshandhabungssystem 200c oder 200d gebootet wird, werden gespeicherte Identifikationsinformationen ID-INFO 282c oder 262d eines Prozessors 210, eines Boards (nicht gezeigt) und eines Speichermoduls 240c oder 240d und eine gespeicherte Betriebstemperatur 284c oder 264d gelesen (S410). In 7 können die gespeicherten Identifikationsinformationen 282c und die gespeicherte Betriebstemperatur 284c aus einem SPD-Speicherelement 280c, das im Speichermodul 240c vorgesehen ist, über einen Systemmanagementbus SMBUS gelesen werden. In 8 können die gespeicherten Identifikationsinformationen 282d und die gespeicherte Betriebstemperatur 284d aus einem BIOS-Speicherelement 260d über eine serielle Peripherieschnittstelle SPI gelesen werden. Beispielsweise können die gespeicherten Identifikationsinformationen 282c oder 262d und die gespeicherte Betriebstemperatur 284c oder 264d in dem gleichen nichtflüchtigen Speicherelement (z. B. dem SPD-Speicherelement 280c oder dem BIOS-Speicherelement 260d), unterschiedlichen nichtflüchtigen Speicherelementen oder einem anderen nichtflüchtigen Speicherelement, das nicht das SPD-Speicherelement 280c oder 280d und das BIOS-Speicherelement 260c oder 260d ist, gespeichert und daraus gelesen werden.
-
Während einer Bootoperation des Informationshandhabungssystems 200c oder 200d können aktuelle Identifikationsinformationen des Prozessors 210, des Boards und des Speichermoduls 240c oder 240d und eine aktuelle Betriebstemperatur ermittelt werden (S420). Der Prozessor 210 kann die aktuellen Identifikationsinformationen durch Ausführen des BIOS-Kodes 261d, der im BIOS-Speicherelement 260c oder 260d gespeichert ist, erhalten. Weiter kann der Prozessor 210 einen Temperatursensor (nicht gezeigt) innerhalb oder außerhalb des Prozessors 210 steuern, um die aktuelle Betriebstemperatur zu ermitteln.
-
Wenn die aktuelle Betriebstemperatur außerhalb eines vorgegebenen Bereichs liegt (S430:NEIN) oder wenn die aktuellen Identifikationsinformationen sich von den gespeicherten Identifikationsinformationen 282c oder 262d unterscheiden, obwohl die aktuelle Betriebstemperatur in dem vorgegebenen Bereich liegt (S430:JA und S435:NEIN), kann eine Speichersteuereinheit 215 einen Operationsmodus des Speichermoduls 240c oder 240d setzen (S440) und kann ein Speichertrainieren und einen Speichertest für das Speichermodul 240c oder 240d durchführen (S450 und S460). Der vorgegebene Bereich kann basierend auf der gespeicherten Betriebstemperatur bestimmt werden. Zum Beispiel kann der vorgegebene Bereich einen Bereich von der gespeicherten Betriebstemperatur minus ungefähr 10°C bis zur gespeicherten Betriebstemperatur plus ungefähr 10°C umfassen.
-
Nach dem Speichertrainieren und dem Speichertest kann der Prozessor 210 ein Testergebnis 283c oder 263d des Speichertrainierens und des Speichertests in einem nichtflüchtigen Speicherelement speichern, das im Informationshandhabungssystem 200c oder 200d vorgesehen ist, und kann die aktuellen Identifikationsinformationen als die gespeicherten Identifikationsinformationen 282c oder 262d im nichtflüchtigen Speicherelement speichern und kann die aktuelle Betriebstemperatur als die gespeicherte Betriebstemperatur 284c oder 264d speichern (S470). Dementsprechend können, wenn das Speichertrainieren und der Speichertest durchgeführt werden, die aktuelle Betriebstemperatur bei einer aktuellen Bootoperation als die gespeicherte Betriebstemperatur 284c oder 264d bei nachfolgenden Bootoperationen verwendet werden. Das Testergebnis 283c oder 263d, die Identifikationsinformationen 282c oder 262d und die Betriebstemperatur 284c oder 264d können im gleichen nichtflüchtigen Speicherelement (z. B. dem SPD-Speicherelement 280c oder dem BIOS-Speicherelement 260d) oder in unterschiedlichen nichtflüchtigen Speicherelementen gespeichert werden.
-
Wenn die aktuelle Betriebstemperatur in dem vorgegebenen Bereich liegt und die aktuellen Identifikationsinformationen gleich den gespeicherten Identifikationsinformationen 282c oder 262d sind (S430:JA und S435:NEIN), können das Speichertrainieren und der Speichertest nicht durchgeführt werden und der Prozessor 210 kann das Testergebnis 283c oder 263d, die im SPD-Speicherelement 280c oder dem BIOS-Speicherelement 260d gespeichert sind, bei der Speichersteuereinheit 215 und dem Speichermodul 240c oder 240d anwenden (S480). Weiter kann die Speichersteuereinheit 215 den Operationsmodus des Speichermoduls 240c oder 240d setzen (S490).
-
Wie oben beschrieben können bei einem Verfahren zum Booten des Informationshandhabungssystems 200c oder 200d gemäß beispielhafter Ausführungsformen das Speichertrainieren und der Speichertest in Abhängigkeit davon, ob eine Systemkonfiguration verändert ist und ob eine Betriebstemperatur verandert ist, selektiv durchgeführt werden, wodurch eine Bootdauer und der Energieverbrauch reduziert werden können.
-
9 zeigt ein Flussbild, das ein Verfahren zum Booten eines Informationshandhabungssystems gemäß beispielhaften Ausführungsformen darstellt, 10 zeigt ein Blockdiagramm, das ein Beispiel eines Informationshandhabungssystems beim Durchführen eines Bootverfahrens von 9 darstellt, und 11 zeigt ein Blockdiagramm, das ein anderes Beispiel eines Informationshandhabungssystems beim Durchführen eines Bootverfahrens von 9 darstellt.
-
Mit Bezug zu den 9, 10 und 11, wenn ein Informationshandhabungssystem 200e oder 200f gebootet wird, werden gespeicherte Identifikationsinformationen 282e oder 262f eines Prozessors 210, eines Boards (nicht gezeigt) und eines Speichermoduls 240e oder 240f und ein Terminierungsflag 284e oder 264f gelesen (S510). In einigen Ausführungsformen können die gespeicherten Identifikationsinformationen 282e und das Terminierungsflag 284e aus einem SPD-Speicherelement 280e, das im Speichermodul 240e vorgesehen ist, über einen Systemmanagementbus SMBUS gelesen werden. In anderen Ausführungsformen können die gespeicherten Identifikationsinformationen 282f und das Terminierungsflag 264f aus einem BIOS-Speicherelement 260f über eine serielle Peripherieschnittstelle SPI gelesen werden. Beispielsweise können die gespeicherten Identifikationsinformationen 282e oder 262f und das Terminierungsflag 284e oder 264f in dem gleichen nichtflüchtigen Speicherelement (z. B. dem SPD-Speicherelement 280e oder dem BIOS-Speicherelement 260f), unterschiedlichen nichtflüchtigen Speicherelementen oder einem anderen nichtflüchtigen Speicherelement, das nicht das SPD-Speicherelement 280e oder 280f und das BIOS-Speicherelement 260e oder 260f ist, gespeichert und daraus gelesen werden.
-
Das Terminierungsflag 284e oder 264f kann eingeschrieben werden, wenn das Informationshandhabungssystem 200e oder 200f beendet wird, und kann angeben, ob das Informationshandhabungssystem 200e oder 200f normal beendet ist. Das heißt, das Terminierungsflag 284e oder 264f kann anzeigen, ob eine vorhergehende Beendigung eine normale Beendigung ist. Wenn zum Beispiel das Informationshandhabungssystem 200e oder 200f normal beendet wird, kann der Prozessor 210 eine ”1” in das Terminierungsflag 284e oder 264f schreiben. Dementsprechend kann, wenn das Informationshandhabungssystem 200e oder 200f später gebootet wird, der Prozessor 210 basierend auf dem Terminierungsflag 284e oder 264f mit ”1” erkennen, dass die vorhergehende Beendigung eine normale Beendigung ist. Weiter kann der Prozessor 210 eine ”0” in das Terminierungsflag 284e oder 264f schreiben, nachdem das Informationshandhabungssystem 200e oder 200f normal gebootet ist. Wenn das Informationshandhabungssystem 200e oder 200f abnormal beendet ist, kann der Prozessor 210 nicht in der Lage sein, das Terminierungsflag 284e oder 264f fortzuschreiben. In diesem Fall kann der Prozessor 210 basierend auf dem Terminierungsflag 284e oder 264f mit ”0” erkennen, dass die vorhergehende Beendigung eine abnormale Beendigung ist.
-
Während einer Bootoperation des Informationshandhabungssystems 200e oder 200f können aktuelle Identifikationsinformationen des Prozessors 210, des Boards und des Speichermoduls 240e oder 240f ermittelt werden (S520). Der Prozessor 210 kann die aktuellen Identifikationsinformationen durch Ausführen eines BIOS-Kodes 261f, der im BIOS-Speicherelement 260e oder 260f gespeichert ist, erhalten.
-
Wenn die vorhergehende Beendigung eine abnormale Beendigung ist (S530:NEIN), oder wenn die aktuellen Identifikationsinformationen sich von den gespeicherten Identifikationsinformationen 282e oder 262f unterscheiden, obwohl die vorhergeheride Beendigung eine normale Beendigung ist (S530:JA und S535:NEIN), kann eine Speichersteuereinheit 215 einen Operationsmodus des Speichermoduls 240e oder 240f setzen (S440) und kann ein Speichertrainieren und einen Speichertest für das Speichermodul 240e oder 240f durchführen (S550 und S560). Wenn beispielsweise das Terminierungsflag 284e oder 264f eine ”1” anzeigt, kann der Prozessor 210 bestimmen, dass die vorhergehende Beendigung eine normale Beendigung ist.
-
Nach dem Speichertrainieren und dem Speichertest kann der Prozessor 210 ein Testergebnis 283e oder 263f des Speichertrainierens und des Speichertests in einem nichtflüchtigen Speicherelement speichern, das im Informationshandhabungssystem 200e oder 200f vorgesehen ist, und kann die aktuellen Identifikationsinformationen als die gespeicherten Identifikationsinformationen 282e oder 262f im nichtflüchtigen Speicherelement speichern (S570). Das Testergebnis 283e oder 263f und die Identifikationsinformationen 282e oder 262f können im gleichen nichtflüchtigen Speicherelement (z. B. dem SPD-Speicherelement 280e oder dem BIOS-Speicherelement 260f) oder in unterschiedlichen nichtflüchtigen Speicherelementen gespeichert werden.
-
Wenn die vorhergehende Beendigung eine normale Beendigung ist und die aktuellen Identifikationsinformationen gleich den gespeicherten Identifikationsinformationen 282e oder 262f sind (S530:JA und S535:NEIN), können das Speichertrainieren und der Speichertest nicht durchgeführt werden und der Prozessor 210 kann das im SPD-Speicherelement 280e oder im BIOS-Speicherelement 260f gespeicherte Testergebnis 283e oder 263f bei der Speichersteuereinheit 215 und dem Speichermodul 240e oder 240f anwenden (S580). Weiter kann die Speichersteuereinheit 215 den Operationsmodus des Speichermoduls 240e oder 240f setzen (S590).
-
Wie oben beschrieben können bei einem Verfahren zum Booten des Informationshandhabungssystems 200e oder 200f gemäß beispielhafter Ausführungsformen das Speichertrainieren und der Speichertest in Abhängigkeit davon, ob eine Systemkonfiguration verändert ist und ob eine vorhergehende Beendigung eine normale Beendigung ist, selektiv durchgeführt werden, wodurch eine Bootdauer und der Energieverbrauch reduziert werden können.
-
12 zeigt ein Flussbild, das ein Verfahren zum Booten eines Informationshandhabungssystems gemäß beispielhafter Ausführungsformen darstellt, 13 zeigt ein Blockdiagramm, das ein Beispiel eines Informationshandhabungssystems beim Durchführen eines Bootverfahrens von 12 darstellt und 14 zeigt ein Blockdiagramm, das ein anderes Beispiel eines Informationshandhabungssystems beim Durchführen eines Bootverfahrens von 12 darstellt.
-
Mit Bezug zu den 12, 13 und 14, wenn ein Informationshandhabungssystem 200g oder 200h gebootet wird, werden gespeicherte Identifikationsinformationen 282g oder 262h eines Prozessors 210, eines Boards (nicht gezeigt) und eines Speichermoduls 240g oder 240h und ein Bootzähler 284g oder 264h gelesen (S610). In einigen Ausführungsformen können die gespeicherten Identifikationsinformationen 282g und der Bootzähler 284g aus einem SPD-Speicherelement 280g, das im Speichermodul 240g vorgesehen ist, über einen Systemmanagementbus SMBUS gelesen werden. In anderen Ausführungsformen können die gespeicherten Identifikationsinformationen 282h und der Bootzähler 284h aus einem BIOS-Speicherelement 260h über eine serielle Peripherieschnittstelle SPI gelesen werden. Beispielsweise können die gespeicherten Identifikationsinformationen 282g oder 262h und der Bootzähler 284h oder 264h in dem gleichen nichtflüchtigen Speicherelement (z. B. dem SPD-Speicherelement 280g oder dem BIOS-Speicherelement 260h), unterschiedlichen nichtflüchtigen Speicherelementen oder einem anderen nichtflüchtigen Speicherelement, das nicht das SPD-Speicherelement 280g oder 280h und das BIOS-Speicherelement 260g oder 260h ist, gespeichert und daraus gelesen werden.
-
Der Bootzähler 284g oder 264h kann die Anzahl an Bootoperationen angeben, die aufeinanderfolgend ohne Speichertrainieren oder Speichertest durchgeführt worden sind. Zum Beispiel kann der Bootzähler 284g oder 264h auf 0 initialisiert werden, wenn das Speichertrainieren und der Speichertest durchgeführt werden, und kann um 1 erhöht werden, wenn das Informationshandhabungssystem 200g oder 200h gebootet wird, ohne das Speichertrainieren und den Speichertest durchzuführen.
-
Während einer Bootoperation des Informationshandhabungssystems 200g oder 200h können aktuelle Identifikationsinformationen des Prozessors 210, des Boards und des Speichermoduls 240g oder 240h ermittelt werden (S620). Der Prozessor 210 kann die aktuellen Identifikationsinformationen durch Ausführen eines BIOS-Kodes 261h, der im BIOS-Speicherelement 260g oder 260h gespeichert ist, erhalten.
-
Wenn der Bootzähler 284g oder 264h höher ist als ein vorgegebener Wert (S630:NEIN), oder wenn die aktuellen Identifikationsinformationen sich von den gespeicherten Identifikationsinformationen 282g oder 262h unterscheiden, obwohl der Bootzähler 284g oder 264h gleich oder kleiner ist als der vorgegebene Wert (S630:JA und S635:NEIN), kann eine Speichersteuereinheit 215 einen Operationsmodus des Speichermoduls 240g oder 240h setzen (S640) und kann ein Speichertrainieren und einen Speichertest für das Speichermodul 240g oder 240h durchführen (S650 und S660). Beispielsweise kann der vorgegebene Wert gleich 10 sein, und wenn das Informationshandhabungssystem 200g oder 200h zehn Mal nacheinander gebootet worden ist, ohne das Speichertrainieren und den Speichertest durchzuführen, können das Speichertrainieren und der Speichertest bei der nächsten Bootoperation durchgeführt werden.
-
Nach dem Speichertrainieren und dem Speichertest kann der Prozessor 210 ein Testergebnis 283g oder 263h des Speichertrainierens und des Speichertests in einem nichtflüchtigen Speicherelement speichern, das im Informationshandhabungssystem 200g oder 200h vorgesehen ist, und kann die aktuellen Identifikationsinformationen als die gespeicherten Identifikationsinformationen 282g oder 262h im nichtflüchtigen Speicherelement speichern (S670). Das Testergebnis 283g oder 263h und die Identifikationsinformationen 282g oder 262h können im gleichen nichtflüchtigen Speicherelement (z. B. dem SPD-Speicherelement 280g oder dem BIOS-Speicherelement 260h) oder in unterschiedlichen nichtflüchtigen Speicherelementen gespeichert werden. Weiter kann, sobald das Speichertrainieren und der Speichertest durchgeführt sind, der Prozessor 210 den Bootzähler 284g oder 264h auf 0 initialisieren (S675).
-
Wenn der Bootzähler 284g oder 264h gleich oder kleiner ist als der vorgegebene Wert und die aktuellen Identifikationsinformationen gleich den gespeicherten Identifikationsinformationen 282g oder 262h sind (S630:JA und S635:NEIN), können das Speichertrainieren und der Speichertest nicht durchgeführt werden und der Prozessor 210 kann das Testergebnis 283g oder 263h, das im SPD-Speicherelement 280g oder dem BIOS-Speicherelement 260h gespeichert ist, bei der Speichersteuereinheit 215 und dem Speichermodul 240g oder 240h anwenden (S680). Die Speichersteuereinheit 215 kann den Operationsmodus des Speichermoduls 240g oder 240h setzen (S690). Weiter kann, wenn das Speichertrainieren und der Speichertest nicht durchgeführt werden, der Prozessor 210 den Bootzähler 284g oder 264h um 1 erhöhen (S695).
-
Wie oben beschrieben können bei einem Verfahren zum Booten des Informationshandhabungssystems 200g oder 200h gemäß beispielhafter Ausführungsformen das Speichertrainieren und der Speichertest in Abhängigkeit davon, ob eine Systemkonfiguration verändert ist und von der Anzahl an Bootoperationen, die ohne Test durchgeführt worden sind, selektiv durchgeführt werden, wodurch eine Bootdauer und der Energieverbrauch reduziert werden können.
-
Die 15A bis 15F zeigen Schaubilder, die Beispiele eines Speichermoduls gemäß einer Ausführungsform des erfinderischen Konzepts darstellen.
-
Mit Bezug zu 15A kann ein Speichermodul 700a als ungepufferter Speicher vom Typ eines Dual In-line Memory Module (UDIMM), das heißt eines doppelreihigen Speicherbauelements, ausgebildet sein. Das Speichermodul 700a kann eine Mehrzahl von Speicherelementen DRAM und ein SPD-Speicherelement 710a umfassen, das SPD-Daten speichert. Die Speicherelemente DRAM können mit Datenübertragungsleitungen DQ gekoppelt sein und können bei den Datenübertragungsleitungen DQ eine On-Die Termination (ODT) vorsehen. Die Speicherelemente DRAM können weiter mit Befehl/Adressenübertragungsleitungen CA in einer Baumtopologie gekoppelt sein. Das SPD-Speicherelement 710a kann mit einem externen Chipset über einen Systemmanagementbus gekoppelt sein. In einigen Ausführungsformen kann ein Pseudodifferentialsignal mit einer Referenzdatenspannung und einer Referenzbefehl-/Adressenspannung zum Übertragen von Daten und einem Befehl/Adresse eingesetzt werden.
-
Mit Bezug zu 15B kann ein Speichermodul 700b als UDIMM ausgebildet sein. Das Speichermodul 700b kann eine Mehrzahl von Speicherelementen DRAM, eine Modulterminierungswiderstandseinheit 710b und ein SPD-Speicherelement 720b umfassen, das SPD-Daten speichert. Die Modulterminierungswiderstandseinheit 710b kann mit einem Ende der Befehl-/Adressenübertragungsleitungen CA gekoppelt sein. Die Befehl-/Adressenübertragungsleitungen CA können mit den Speicherelementen DRAM in einer Fly-By-Daisy-Chain-Topologie gekoppelt sein. Das SPD-Speicherelement 720b kann mit einem externen Chipset über einen Systemmanagementbus gekoppelt sein. Das Speichermodul 700b kann ein Lese-/Schreiblevelling durchführen.
-
Mit Bezug zu 15C kann ein Speichermodul 700c als Registerspeicher vom Typ eines Registered Dual In-line Memory Module (RDIMM), das heißt, eines doppelreihigen Registerspeicherbauelements, ausgebildet sein. Das Speichermodul 700c kann eine Mehrzahl von Speicherelementen DRAM, ein Befehl-/Adressenregister 710c, Modulwiderstandseinheiten 720c und 725c und ein SPD-Speicherelement 730c umfassen, das SPD-Daten speichert. Das Befehl/Adressenregister 710c kann den Speicherelementen DRAM ein Befehl/Adressensignal durch die Befehl-/Adressenübertragungsleitungen CA bereitstellen und die Modulwiderstandseinheiten 720c und 725c können mit beiden Enden der Befehl-/Adressenübertragungsleitungen CA gekoppelt sein. Das Befehl-/Adressenregister 710c kann mit den Speicherelementen DRAM in einer Daisy-Chain Topologie gekoppelt sein. Das SPD-Speicherelement 730c kann mit einem externen Chipset über einen Systemmanagementbus gekoppelt sein.
-
Mit Bezug zu 15D kann ein Speichermodul 700d als RDIMM ausgebildet sein. Das Speichermodul 700d kann eine Mehrzahl von Speicherelementen DRAM, ein Befehl-/Adressenregister 710d, eine Modulwiderstandseinheit 720d und ein SPD-Speicherelement 730d umfassen, das SPD-Daten speichert. Das Befehl-/Adressenregister 710d kann den Speicherelementen ein Befehl-/Adressensignal durch die Befehl-/Adressenübertragungsleitungen CA bereitstellen und die Modulwiderstandseinheit 720d kann mit einem Ende der Befehl/Adressen übertragungsleitungen CA gekoppelt sein. Das Befehl/Adressenregister 710d kann mit den Speicherelementen DRAM in einer Fly-By-Daisy-Chain-Topologie gekoppelt sein. Das SPD-Speicherelement 730d kann mit einem externen Chipset über einen Systemmanagementbus gekoppelt sein. Das Speichermodul 700d kann ein Lese/Schreiblevelling durchführen.
-
Mit Bezug zu 15E kann ein Speichermodul 700e als voll gepufferter Speicher vom Typ eines Fully Buffered Dual In-line Memory Module (FBDIMM) ausgebildet sein. Das Speichermodul 700e kann eine Mehrzahl von Speicherelementen DRAM, einen Anschluss (Hub) 710e und ein SPD-Speicherelement 720e umfassen, das SPD-Daten speichert. Der Anschluss 710e kann ein Befehl-/Adressensignal und Daten durch Wandeln eines Hochgeschwindigkeitspakets, das von einer Speichersteuereinheit empfangen ist, bereitstellen. Zum Beispiel kann der Anschluss 710e ein AMB-Puffer sein, wobei AMB Advanced Memory Buffer bedeutet. Das SPD-Speicherelement 720e kann mit einem externen Chipset über einen Systemmanagementbus gekoppelt sein.
-
Mit Bezug zu 15F kann ein Speichermodul 700f als Speicher vom Typ eines Load Reduced Dual In-line Memory Module (LRDIMM) ausgebildet sein, was als lastreduziertes doppelreihiges Speicherbauelement bezeichnet werden kann. Das Speichermodul 700f kann eine Mehrzahl von Speicherelementen DRAM, einen Puffer 710f und ein SPD-Speicherelement 720f umfassen, das SPD-Daten speichert. Der Puffer 710f kann ein Befehl-/Adressensignal und Daten durch Puffern des Befehl-/Adressensignals und von Daten von einer Speichersteuereinheit durch eine Mehrzahl von Übertragungsleitungen bereitstellen. Das SPD-Speicherelement 720f kann mit einem externen Chipset über einen Systemmanagementbus gekoppelt sein.
-
Datenübertragungsleitungen zwischen dem Puffer 710f und den Speicherelementen DRAM können in einer Punkt-zu-Punkt-Topologie gekoppelt sein. Befehl-/Adressenübertragungsleitungen zwischen dem Puffer 710f und den Speicherelementen DRAM können in einer Multidrop-Topologie, einer Daisy-Chain-Topologie, einer Fly-By-Daisy-Chain-Topologie oder dergleichen gekoppelt sein. Da der Puffer 710f sowohl das Befehl-/Adressensignal und die Daten puffert, kann die Speichersteuereinheit eine Schnittstelle mit dem Speichermodul 700f ausbilden und nur eine Last des Puffers 710f treiben. Dementsprechend kann das Speichermodul 700f mehr Speicherelemente DRAM und mehr Speicherranks beinhalten und ein Speichersystem kann mehr Speichermodule beinhalten.
-
Die 16A bis 16D zeigen Schaubilder, die Beispiele einer Speicherschnittstelle gemäß einer Ausführungsform des erfinderischen Konzepts darstellen.
-
16A stellt eine Schnittstelle zwischen einer Speichersteuereinheit 210 und einem Speichermodul 240 dar. Mit Bezug zu 16A kann die Speichersteuereinheit 210 ein Steuersignal C/S und eine Adressensignal ADDR an das Speichermodul 240 über eine Steuersignalleitung bzw. eine Adressensignalleitung senden. Beispielsweise kann das Steuersignal C/S ein CLE-Signal, ein ALE-Signal, ein /CE-Signal, ein /RE-Signal, ein /WE-Signal, ein /WP-Signal, ein R/B-Signal usw. beinhalten. Daten DQ können von der Speichersteuereinheit 210 zum Speichermodul 240 und vom Speichermodul 240 zur Speichersteuereinheit 210 in beide Richtungen übertragen werden.
-
Mit Bezug zu 16B kann eine Speichersteuereinheit 210 Steuersignale und Adressensignale als Paket C/A PACKET an ein Speichermodul 240 übertragen. Daten DQ können in beide Richtungen übertragen werden.
-
Mit Bezug zu 16C kann eine Speichersteuereinheit 210 Steuersignale, Adresssignale und Schreibsignale als Paket C/A WD PACKET an ein Speichermodul 240 übertragen. Ausgabedaten Q können vom Speichermodul 240 zur Speichersteuereinheit 210 in eine Richtung übertragen werden.
-
Mit Bezug zu 16D kann eine Speichersteuereinheit 210 Steuersignale C/S an ein Speichermodul 240 übertragen. Befehl, Adresse und Daten C/A/DQ können in beide Richtungen übertragen werden.
-
17 zeigt ein Blockdiagramm, das ein Mobilsystem gemäß einer Ausführungsform des erfinderischen Konzepts darstellt.
-
Mit Bezug zu 17 umfasst ein mobiles System 800 ein Modem 810 (z. B. ein Basisbandchipset), einen Anwendungsprozessor 820, ein nichtflüchtiges Speicherelement 830, ein flüchtiges Speicherelement 840, eine Benutzerschnittstelle 850 und eine Energieversorgung 860. Zum Beispiel kann das Mobilsystem 800 ein Mobiltelefon, ein Smartphone, ein persönlicher digitaler Assistent (PDA), ein tragbarer Multimediaplayer (PMP), eine Digitalkamera, eine tragbare Spielekonsole, ein Musikabspielgerät, ein Camcorder, ein Videoabspielgerät usw. sein.
-
Das Modem 810 kann drahtlose Daten, die über eine Antenne (nicht gezeigt) empfangen worden sind, demodulieren, um die demodulierten Daten dem Anwendungsprozessor 820 bereitzustellen, und kann vom Anwendungsprozessor 820 empfangene Daten modulieren, um die modulierten Daten einem entfernt gelegenen Gerät (nicht gezeigt) über die Antenne bereitzustellen. Zum Beispiel kann das Modem 810 ein Modemprozessor sein, der drahtgebundene oder drahtlose Kommunikation mit GSM, GPRS, WCDMA, HSxPA und LTE bereitstellt. Der Anwendungsprozessor 820 kann Anwendungen ausführen, die einen internetbrowser, eine drei-dimensionale Abbildung, ein Spiel, ein Video usw. bereitstellen. Das nichtflüchtige Speicherelement 830 kann einen Bootkode zum Booten des Mobilsystems 800 und eine Seriennummer des flüchtigen Speicherelements 840 speichern. Zum Beispiel kann das nichtflüchtige Speicherelement 830 durch einen EEPROM, einen Flash-Speicher, einen PRAM, einen RRAM, einen NFGM, einen Po-RAM, einen MRAM, einen FRAM usw. ausgebildet sein. Das flüchtige Speicherelement 840 kann Daten speichern, die durch das Modem 810 übertragen sind, und Daten, die vom Anwendungsprozessor 820 übertragen sind oder kann als Arbeitsspeicher funktionieren. Zum Beispiel kann das flüchtige Speicherelement 840 durch einen dynamischen Direktzugriffspeicher (DRAM), einen statischen Direktzugriffspeicher (SRAM), einen mobilen DRAM usw. ausgebildet sein. Die Benutzerschnittstelle 850 kann mindestens eine Eingabeeinrichtung, wie ein Tastenfeld, einen Berührungsbildschirm (Touchscreen) usw., und mindestens eine Ausgabeeinrichtung, wie eine Anzeigeeinrichtung, einen Lautsprecher usw., umfassen. Die Energieversorgungseinrichtung 860 kann das Mobilsystem 800 mit Energie versorgen. In einigen Ausführungsformen kann das Mobilsystem 800 weiter einen Kamerabildprozessor (CIS) beinhalten.
-
Der Anwendungsprozessor 820 kann selektiv ein Trainieren und einen Test für mindestens ein Bauelement (z. B. das flüchtige Speicherelement 840) unter Verwendung von im nichtflüchtigen Speicherelement 830 gespeicherten Identifikationsinformationen durchführen. Dementsprechend kann eine Bootdauer des Mobilsystems 800 reduziert werden und der Energieverbrauch kann reduziert werden.
-
In einigen Ausführungsformen können das Mobilsystem 800 und/oder Komponenten des Mobilsystems 800 auf verschiedene Weise verpackt sein, wie als Package an Package (PoP), Ball Grid Arrays (BGAs), Chip Scale Packages (CSPs), Plastic Leaded Chip Carrier (PLCC), Plastic Dual In-line Package (PDIP), Die In Waffle Pack, Die In Wafer Form, Chip On Board (COB), Ceramic Dual In-line Package (CERDIP), Plastic Metric Quad Flat Pack (MQFP), Thin Quad Flat Pack (TQFP), Small Outline IC (SOIC), Shrink Small Outline Package (SSOP), Thin Small Outline Package (TSOP), System In Package (SIP), Multi-Chip Package (MCP), Wafer-level Fabricated Package (WFP) oder Wafer-level Processed Stack Package (WSP).
-
18 zeigt ein Blockdiagramm, das ein Serversystem gemäß einer Ausführungsform des erfinderischen Konzepts darstellt.
-
18 zeigt ein Beispiel, bei dem ein Serversystem 900 achthundert Racks 910 umfasst, wobei jedes Rack 910 fünfundzwanzig Servercomputer 911 aufweist. In der Summe kann das Serversystem 900 zwanzigtausend Servercomputer 911 beinhalten.
-
Das Serversystem 900 kann eine Energieverteilereinheit, eine sogenannte Power Distribution Unit (PDU) einsetzen, um eine stabile Energieversorgung zu erreichen. Wenn das Serversystem 900 gebootet wird, kann die PDU ermöglichen, dass die Servercomputer 911 rackweise gebootet werden. Jeder Servercomputer 911 kann gebootet werden, ohne dass ein Speichertrainieren oder ein Speichertest durchgeführt werden, wenn eine Systemkonfiguration des Servercomputers 911 nicht verändert ist. Dementsprechend kann, da das Speichertrainieren und der Speichertest ungefähr 10 Sekunden dauern, eine Bootzeit jedes Servercomputers 911 um ungefähr 10 Sekunden verkürzt werden. Weiter kann, wenn das Serversystem 900 gebootet wird, eine Bootzeit des Serversystems 900 um ungefähr 8.000 Sekunden verkürzt werden, da die Servercomputer 911 rackweise gebootet werden. Weiter kann im Serversystem 900 der Energieverbrauch verringert werden, da das Speichertrainieren und der Speichertest nicht durchgeführt werden.
-
Das vorliegende erfinderische Konzept kann bei einem beliebigen Informationshandhabungssystem angewendet werden, wie einem Personalcomputer (PC), einem Servercomputer, einer Arbeitsstation, einem Tabletcomputer, einem Laptopcomputer, einem Mobiltelefon, einem Smartphone, einem persönlichen digitalen Assistenten (PDA), einem tragbaren Multimediaabspielgerät (PMP), einer Digitalkamera, einem digitalen Fernsehgerät, einer Set-Top-Box, einem Musikabspielgerät, einer tragbaren Spielekonsole, einem Navigationsgerät usw.