DE102011089889A1 - Verfahren zum Booten eines Informationshandhabungssystems und Informationshandhabungssystem - Google Patents

Verfahren zum Booten eines Informationshandhabungssystems und Informationshandhabungssystem Download PDF

Info

Publication number
DE102011089889A1
DE102011089889A1 DE102011089889A DE102011089889A DE102011089889A1 DE 102011089889 A1 DE102011089889 A1 DE 102011089889A1 DE 102011089889 A DE102011089889 A DE 102011089889A DE 102011089889 A DE102011089889 A DE 102011089889A DE 102011089889 A1 DE102011089889 A1 DE 102011089889A1
Authority
DE
Germany
Prior art keywords
memory element
memory
volatile memory
processor
test
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE102011089889A
Other languages
English (en)
Inventor
Jong-Min Lee
Hyung-chan Choi
Hee-Joo Choi
Seung-Man Shin
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE102011089889A1 publication Critical patent/DE102011089889A1/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/24Loading of the microprogram
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2284Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by power-on test, e.g. power-on self test [POST]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2289Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by configuration test
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

Ein Verfahren zum Booten eines Informationshandhabungssystems, das ein flüchtiges Speicherelement umfasst, welches während einer Bootoperation selektiv zu testen ist, umfasst die Schritte: Lesen von aktuellen Systemkonfigurationsinformationen von dem Informationshandhabungssystem, Vergleichen der aktuellen Systemkonfigurationsinformationen mit zugehörigen vorgespeicherten Systemkonfigurationsinformationen in einem nichtflüchtigen Speicherelement und selektives Durchführen eines Tests des flüchtigen Speicherelements gemäß einem Ergebnis des Vergleichens, wobei der Schritt zum selektiven Durchführen eines Tests die Schritte umfasst wenn die aktuellen Systemkonfigurationsinformationen nicht mit den vorgespeicherten Systemkonfigurationsinformationen übereinstimmen, Durchführen eines Tests zum Überprüfen von Speicherzellen des flüchtigen Speicherelements, Speichern von Testergebnissen des Schritts zum Durchführen eines Tests zum Überprüfen von Speicherzellen in dem nichtflüchtigen Speicherelement und Speichern der aktuellen Systemkonfigurationsinformationen in dem nichtflüchtigen Speicherelement.

Description

  • 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.

Claims (17)

  1. Verfahren zum Booten eines Informationshandhabungssystems (200), das ein flüchtiges Speicherelement (240) umfasst, welches selektiv während einer Bootoperation zu testen ist, wobei das Verfahren die Schritte umfasst: – Lesen von aktuellen Systemkonfigurationsinformationen von dem Informationshandhabungssystem, – Vergleichen der aktuellen Systemkonfigurationsinformationen mit zugehörigen vorgespeicherten Systemkonfigurationsinformationen in einem nichtflüchtigen Speicherelement (260, 280) und – selektives Durchführen eines Tests des flüchtigen Speicherelements gemäß einem Ergebnis des Vergleichens, wobei der Schritt des selektiven Durchführens eines Tests die Schritte umfasst: – wenn die aktuellen Systemkonfigurationsinformationen nicht mit den vorgespeicherten Systemkonfigurationsinformationen übereinstimmen, Durchführen eines Tests zum Überprüfen von Speicherzellen des flüchtigen Speicherelements, – Speichern von Testergebnissen des Schritts zum Durchführen eines Tests zum Überprüfen von Speicherzellen in dem nichtflüchtigen Speicherelement und – Speichern der aktuellen Systemkonfigurationsinformationen in dem nichtflüchtigen Speicherelement.
  2. Verfahren nach Anspruch 1, wobei das Informationshandhabungssystem einen Prozessor (210), ein Board und das flüchtige Speicherelement als eine Systemkonfiguration umfasst.
  3. Verfahren nach Anspruch 1 oder 2, wobei das flüchtige Speicherelement ein Speichermodul (240) einer Mehrzahl von dynamischen Direktzugriffsspeichern (DRAM) ist.
  4. Verfahren nach Anspruch 1 oder 2, wobei das flüchtige Speicherelement ein oder mehrere mobile dynamische Direktzugriffsspeicher (DRAM) ist.
  5. Verfahren nach Anspruch 3, wobei das Speichermodul (240a) das nichtflüchtige Speicherelement eines Serial-Presence-Detect(SPD)-Speichers (280a) beinhaltet.
  6. Verfahren nach einem der Ansprüche 1 bis 4, wobei das nichtflüchtige Speicherelement ein Basic-Input-Output-System(BIOS)-Speicherelement (260) ist.
  7. Verfahren nach Anspruch 5 oder 6, wobei der Schritt des Lesen der aktuellen Systemkonfigurationsinformationen die Schritte umfasst: – Extrahieren einer aktuellen Seriennummer eines Prozessors von dem Prozessor, – Extrahieren einer aktuellen Seriennummer des Boards von einem BIOS-Speicherelement und – Extrahieren einer aktuellen Seriennummer des Speichermoduls von dem Serial-Presence-Detect(SPD)-Speicherelement.
  8. Verfahren nach einem der Ansprüche 1 bis 7, wobei der Schritt des Durchführens eines Tests zum Überprüfen von Speicherzellen mittels einer eingebauten Selbsttestlogik durchgeführt wird.
  9. Verfahren nach einem der Ansprüche 1 bis 8, wobei der Schritt des selektiven Durchführens eines Tests weiter einen Schritt eines Trainierens zum Optimieren einer Signalintegrität von Kanälen umfasst, die mit dem flüchtigen Speicherelement verbunden sind.
  10. Verfahren nach Anspruch 9, wobei der Schritt des selektiven Durchführens eines Tests einen Schritt umfasst, bei dem Testergebnisse, die in dem nichtflüchtigen Speicherelement vorgespeichert sind, auf das Informationshandhabungssystem angewendet werden, ohne dass der Test zum Überprüfen von Speicherzellen durchgeführt wird, und eine optimierte Signalintegrität von Kanälen trainiert wird, wenn die aktuellen Systemkonfigurationsinformationen mit den korrespondierenden gespeicherten Systemkonfigurationsinformationen übereinstimmen.
  11. Verfahren zum Booten eines Informationshandhabungssystems, das ein flüchtiges Speicherelement (240) umfasst, wobei das Verfahren die Schritte umfasst: – Überwachen einer Triggerbedingung zum Testen des flüchtigen Speicherelements, – wenn die Triggerbedingung detektiert ist, 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, und – wenn die Triggerbedingung nicht detektiert ist, Überspringen des Tests zum Überprüfen einer fehlerhaften Speicherzelle und des Trainierens zum Optimieren der Signalintegrität der Kanäle, – wobei die Triggerbedingung ein Systemkonfigurationswechsel, ein vorgegebenes Maß einer Änderung der Betriebstemperatur, eine abnormalen Beendigung einer vorgehenden Operation und/oder eine vorgegebene aufeinanderfolgende Anzahl von Bootoperationen ohne Testen des flüchtigen Speicherelements ist.
  12. Verfahren nach Anspruch 11, wobei die Systemkonfigurationsänderung jede Änderung einer Seriennummer eines Prozessors (210), eines Boards oder eines flüchtigen Speicherelements bei einer aktuellen Bootoperation bezogen auf eine Seriennummer ist, die in einem nichtflüchtigen Speicherelement gespeichert ist.
  13. Verfahren nach Anspruch 11 oder 12, wobei die Änderung der Betriebstemperatur ein vorgegebenes Maß einer Differenz zwischen einer Betriebstemperatur, die in einem nichtflüchtigen Speicherelement gespeichert ist, und der einer aktuellen Bootoperation ist.
  14. Verfahren nach einem der Ansprüche 11 bis 13, wobei die abnormale Beendigung detektiert wird, indem ein Terminierungsflag überprüft wird, das anzeigt, wie das Informationshandhabungssystem in einer vorangegangenen Operation beendet worden ist.
  15. Verfahren nach einem der Ansprüche 11 bis 14, werter aufweisend die Schritte: – Vergleichen eines Bootzählers mit der vorgegebenen Anzahl von aufeinanderfolgenden Bootoperationen und – 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.
  16. Informationshandhabungssystem, umfassend: – ein Board, – einen Prozessor (210), der auf dem Board angeordnet ist, – ein flüchtiges Speicherelement (240), das auf dem Board angeordnet ist und mit dem Prozessor gekoppelt ist, und – ein nichtflüchtiges Speicherelement (260), 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 eine Optimierung einer Signalintegrität von Kanälen zu trainieren, die zwischen dem flüchtigen Speicherelement und dem Prozessor eingeschleift sind, und – wobei 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 ist.
  17. Informationshandhabungssystem nach Anspruch 16, wobei die Systemkonfigurationsänderung jede Änderung einer Seriennummer des Prozessors, des Boards und des flüchtigen Speicherelements bei einer aktuellen Bootoperation bezogen auf eine Seriennummer, die in dem nichtflüchtigen Speicherelement gespeichert ist, darstellt.
DE102011089889A 2011-01-25 2011-12-23 Verfahren zum Booten eines Informationshandhabungssystems und Informationshandhabungssystem Withdrawn DE102011089889A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2011-0007119 2011-01-25
KR1020110007119A KR20120085968A (ko) 2011-01-25 2011-01-25 컴퓨팅 시스템의 부팅 방법 및 이를 수행하는 컴퓨팅 시스템

Publications (1)

Publication Number Publication Date
DE102011089889A1 true DE102011089889A1 (de) 2012-07-26

Family

ID=46510905

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102011089889A Withdrawn DE102011089889A1 (de) 2011-01-25 2011-12-23 Verfahren zum Booten eines Informationshandhabungssystems und Informationshandhabungssystem

Country Status (4)

Country Link
US (1) US20120191964A1 (de)
KR (1) KR20120085968A (de)
CN (1) CN102681868A (de)
DE (1) DE102011089889A1 (de)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130086372A1 (en) * 2011-09-30 2013-04-04 Akihiro Kojo Information processing apparatus and boot control method
US9899066B2 (en) * 2012-09-10 2018-02-20 Texas Instruments Incorporated Priority based backup in nonvolatile logic arrays
CN104541258B (zh) * 2012-09-26 2018-03-13 英特尔公司 用于尽管有非运转的操作系统但仍显示视频的方法和装置
US20140317334A1 (en) * 2013-04-22 2014-10-23 Lsi Corporation Storage of gate training parameters for devices utilizing random access memory
CN103455397A (zh) * 2013-09-06 2013-12-18 杭州华为数字技术有限公司 一种系统自检的方法、设备及系统
WO2015070110A2 (en) * 2013-11-07 2015-05-14 Netlist, Inc. Hybrid memory module and system and method of operating the same
JP6223145B2 (ja) * 2013-11-21 2017-11-01 キヤノン株式会社 情報処理装置及びその制御方法、並びにプログラム
US9552267B2 (en) * 2014-12-09 2017-01-24 Intel Corporation SATA receiver equalization margin determination/setting method and apparatus
CN107209766B (zh) * 2014-12-15 2021-04-06 卢米尼克斯股份有限公司 详细试验协议规范
US9886285B2 (en) * 2015-03-31 2018-02-06 Western Digital Technologies, Inc. Communication interface initialization
KR102017284B1 (ko) * 2015-05-26 2019-09-02 삼성전자주식회사 부팅 디바이스 및 그 동작 방법
US10585672B2 (en) * 2016-04-14 2020-03-10 International Business Machines Corporation Memory device command-address-control calibration
US10248486B2 (en) * 2016-09-29 2019-04-02 Intel Corporation Memory monitor
US10216550B2 (en) * 2016-10-01 2019-02-26 Intel Corporation Technologies for fast boot with adaptive memory pre-training
US11416751B2 (en) * 2017-03-31 2022-08-16 H2O.Ai Inc. Time-based ensemble machine learning model
US10503523B2 (en) * 2017-06-30 2019-12-10 Intel Corporation Technologies to improve system boot performance and reliability
JP6841185B2 (ja) * 2017-08-18 2021-03-10 京セラドキュメントソリューションズ株式会社 情報処理装置、及び画像形成装置
KR102340446B1 (ko) * 2017-09-08 2021-12-21 삼성전자주식회사 스토리지 장치 및 그것의 데이터 트레이닝 방법
US11455261B2 (en) * 2017-09-29 2022-09-27 Intel Corporation First boot with one memory channel
KR20200088634A (ko) * 2019-01-15 2020-07-23 에스케이하이닉스 주식회사 메모리 시스템, 데이터 처리 시스템 및 데이터 처리 시스템의 동작방법
US11636014B2 (en) * 2017-10-31 2023-04-25 SK Hynix Inc. Memory system and data processing system including the same
KR102455880B1 (ko) 2018-01-12 2022-10-19 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
KR102501695B1 (ko) * 2018-01-15 2023-02-21 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
KR102477268B1 (ko) * 2018-01-26 2022-12-13 삼성전자주식회사 메모리 모듈의 정보를 실시간으로 모니터링하는 방법 및 시스템
US11074151B2 (en) 2018-03-30 2021-07-27 Intel Corporation Processor having embedded non-volatile random access memory to support processor monitoring software
US10691466B2 (en) * 2018-04-02 2020-06-23 Intel Corporation Booting a computing system using embedded non-volatile memory
US10838896B2 (en) * 2018-10-15 2020-11-17 Texas Instruments Incorporated Split direct memory access (DMA)
CN109491826B (zh) * 2018-11-27 2021-02-12 英业达科技有限公司 远程硬件诊断系统与诊断方法
TWI696113B (zh) 2019-01-02 2020-06-11 慧榮科技股份有限公司 用來進行組態管理之方法以及資料儲存裝置及其控制器
US10777296B2 (en) * 2019-02-08 2020-09-15 Dell Products L.P. Information handling system and method to dynamically detect and recover from thermally induced memory failures
CN110297726B (zh) * 2019-07-03 2023-08-25 上海兆芯集成电路股份有限公司 具有串行存在检测数据的计算机系统及内存模块控制方法
US11069420B2 (en) * 2019-07-25 2021-07-20 Micron Technology, Inc. In-system test of a memory device
US11249678B2 (en) * 2019-07-26 2022-02-15 Qualcomm Incorporated Serial memory device single-bit or plurality-bit serial I/O mode selection
KR20210026956A (ko) 2019-09-02 2021-03-10 삼성전자주식회사 파워-업 시퀀스 중에 메모리 셀들을 테스트하고 리페어 하는 방법 및 메모리 장치
CN113496719B (zh) 2020-04-08 2023-06-23 长鑫存储技术有限公司 半导体存储器的训练方法及相关设备
KR20210136480A (ko) * 2020-05-07 2021-11-17 삼성전자주식회사 프로세싱 장치가 실장된 메모리 모듈을 포함하는 컴퓨팅 시스템의 부팅 방법
US11500637B2 (en) 2020-06-15 2022-11-15 Micron Technology, Inc. Software instruction set update of memory die using page buffers
US11487621B1 (en) * 2021-04-29 2022-11-01 Dell Products L.P. Linking embedded controller with memory reference code and system bios shadowing
US20230025601A1 (en) * 2021-07-23 2023-01-26 Micron Technology, Inc. Initializing memory systems
US20230063890A1 (en) * 2021-08-27 2023-03-02 Micron Technology, Inc. Measuring change in a channel characteristic to detect memory device attack

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020042883A1 (en) * 2000-10-04 2002-04-11 Soundvoice Limited Method and system for controlling access by clients to servers over an internet protocol network
US6754817B2 (en) * 2001-01-25 2004-06-22 Dell Products L.P. Apparatus and method for detecting a change in system hardware configuration to reduce the amount of time to execute a post routine
KR100389206B1 (ko) * 2001-04-25 2003-06-27 주식회사 성진씨앤씨 컴퓨터 운영 시스템 보호 방법 및 장치
US7000159B2 (en) * 2003-03-10 2006-02-14 Dell Products L.P. System and method for testing memory
US8704630B2 (en) * 2010-08-25 2014-04-22 Itron, Inc. Apparatus and methods for temperature-based control of communication device operations

Also Published As

Publication number Publication date
KR20120085968A (ko) 2012-08-02
US20120191964A1 (en) 2012-07-26
CN102681868A (zh) 2012-09-19

Similar Documents

Publication Publication Date Title
DE102011089889A1 (de) Verfahren zum Booten eines Informationshandhabungssystems und Informationshandhabungssystem
DE102006002526B4 (de) Steuervorrichtung für eine Solid-State-Disk und Verfahren zum Betreiben derselben
US11106537B2 (en) IoT device update failure recovery
US9971642B2 (en) System and method for recovering from a configuration error
US20180246643A1 (en) System and Method to Perform Runtime Saves on Dual Data Rate NVDIMMs
DE112015003397T5 (de) Vorrichtung, System und Verfahren zur Bestimmung von Vergleichsinformationen basierend auf Speicherdaten
DE112011105864T5 (de) Verfahren, Vorrichtung und System zur Speichervalidierung
US20060156092A1 (en) Memory technology test apparatus
US11023343B2 (en) Method for injecting deliberate errors into PCIE device for test purposes, apparatus applying method, and computer readable storage medium for code of method
DE102017121465A1 (de) Datenprotokoll zum verwalten von peripheriegeräten
US20160231935A1 (en) Memory Configuration Operations for a Computing Device
US9824772B2 (en) Hardware chip select training for memory using read commands
DE112017007690T5 (de) Verfahren und vorrichtungen zur durchführung einer fehlerdetektion und/oder korrektur in einer speichervorrichtung
DE102020115747A1 (de) Speichermodul, Fehlerkorrekturverfahren für Speicher-Controller, der dieses steuert, und Rechensystem, das dieses umfasst
DE102014204076A1 (de) Serielle kommunikation-testeinrichtung, system, welches diese beinhaltet, und verfahren dafür
DE112020003028T5 (de) Vorrichtungen und verfahren zum reparieren von defekten speicherzellen basierend auf einer spezifizierten fehlerrate für bestimmte speicherzellen
US20170103797A1 (en) Calibration method and device for dynamic random access memory
DE112015004405B4 (de) Nichtflüchtiges speichermodul
DE102009052188A1 (de) Fehlerbeseitigungssystem, Fehlerbeseitigungsverfahren, Fehlerbeseitigungssteuerverfahren und Fehlerbeseitigungssteuerprogramm
CN115878540A (zh) 一种PCIe器件链路训练管理方法、管理装置及服务器
CN114416446A (zh) 内存参数适配方法、装置、终端设备及存储介质
US9772913B1 (en) System and method of read/write control for dual channel memory modules for robust performance
DE102022127895A1 (de) Schnelle ecc-speicherfehlerkorrektur
US20190220346A1 (en) Safety Enhancement for Memory Controllers
CN107943632A (zh) 一种实现多nvme盘配置服务器中各盘性能均衡的方法及系统

Legal Events

Date Code Title Description
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee