DE10085013B3 - Anordnen von in nicht-flüchtigen wiederprogrammierbaren Halbleiterspeichern gespeicherten Informationen - Google Patents

Anordnen von in nicht-flüchtigen wiederprogrammierbaren Halbleiterspeichern gespeicherten Informationen Download PDF

Info

Publication number
DE10085013B3
DE10085013B3 DE10085013.8T DE10085013T DE10085013B3 DE 10085013 B3 DE10085013 B3 DE 10085013B3 DE 10085013 T DE10085013 T DE 10085013T DE 10085013 B3 DE10085013 B3 DE 10085013B3
Authority
DE
Germany
Prior art keywords
operating system
partition
recovery
memory
stored
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.)
Expired - Fee Related
Application number
DE10085013.8T
Other languages
English (en)
Other versions
DE10085013T1 (de
Inventor
Edward R. Rhoads
James P. Ketrenos
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE10085013T1 publication Critical patent/DE10085013T1/de
Application granted granted Critical
Publication of DE10085013B3 publication Critical patent/DE10085013B3/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

Verfahren zum Organisieren gespeicherter Informationen in einem nicht-flüchtigen, wiederprogrammierbaren Halbleiterspeicher (14), wobei:
der Speicher (14) in eine Mehrzahl von Partitionen aufgeteilt wird, wobei jede Partition eine definierte Adresse hat;
ein erster Bootlader für ein Wiederherstellungsbetriebssystem an einer ersten Adresse und in einer ersten Partition (20) gespeichert wird, wobei das Wiederherstellungsbetriebssystem für das Aktualisieren eines primären Betriebssystems und/oder das Erlangen eines Ersatzes für das primäre Betriebssystem verantwortlich ist, wobei das Wiederherstellungsbetriebssystem ein Kernel (26) aufweist, das auf nur denjenigen Befehlscode reduziert ist, der zum Implementieren der Wiederherstellungs- und Aktualisierungsfunktionen erforderlich ist;
ein zweiter Bootlader (102) für ein primäres Betriebssystem an einer zweiten Adresse und in einer zweiten Partition gespeichert wird; und
die Adressen für die erste Bootlader-Partition und für die zweite Bootlader-Partition (102) in einer weiteren Partition (100) gespeichert werden.

Description

  • Diese Erfindung bezieht sich auf ein Verfahren zum Organisieren gespeicherter Informationen in einem nicht-flüchtigen, wiederprogrammierbaren Halbleiterspeicher, wobei der Speicher in eine Mehrzahl von Partitionen aufgeteilt wird, wobei jede Partition eine definierte Adresse hat.
  • Es besteht ein wachsendes Interesse an sogenannten eingebetteten prozessorbasierten Systeme. Diese Systeme arbeiten oftmals mit verringerten Funktionalitäten, um die gewünschte Leistung bei relativ geringen Kosten zur Verfügung zu stellen. In vielen Fällen können diese eingebetteten Systeme batteriebetrieben sein. Somit sind ihre Fähigkeiten eingeschränkt, um die Batterielebensdauer zu erhöhen.
  • Aus einer Vielzahl von Gründen, die das Bewahren der Batterielebensdauer, das Verringern der Kosten und das Bereitstellen eines kompakten Formfaktors einschließen, können prozessorbasierte Systeme zur Verfügung gestellt werden, welche als ihr nicht-flüchtiges Speichermedium kein Festplattenlaufwerk benutzen. Bei vielen prozessorbasierten Systemen stellt ein Festplattenlaufwerk ein bequemes nicht-flüchtiges Speichermedium zur Verfügung, das die meisten Informationen speichert, die der Benutzer permanent zu halten wünscht. Diese können neben anderen Dingen das Betriebssystem, Anwendungssoftware, Dateien und Daten als Beispiele einschließen. Die Informationen, die in dem Festplattenlaufwerk gespeichert sind, können zur Ausführung in den Systemspeicher übertragen werden, welcher herkömmlicherweise ein flüchtiger Speicher ist.
  • Bei vielen Systemen stellen Festplattenlaufwerke ein relativ schnelles Speichermedium sehr hoher Kapazität zur Verfügung. Jedoch benötigen Festplattenlaufwerke mehr Raum und verwenden mehr Energie als nicht-flüchtige Halbleiterspeicher. Bei vielen eingebetteten Systemen werden wiederprogrammierbare nicht-flüchtige Halbleiterspeicher als das primäre Speichersystem für prozessorbasierte Systeme benutzt. Diese Halbleiterspeicher speichern die vollständige Informationsausrüstung, die normalerweise in Festplattenlaufwerken gespeichert ist, einschließlich der Betriebssysteme.
  • In vielen Fällen verwenden die als primäres nicht-flüchtiges Speichermedium für prozessorbasierte Systeme benutzten Halbleiterspeicher FLASH-Speicher. Diese FLASH-Speicher können ohne Benutzereingriff unter Verwendung gut bekannter platineneigener Fähigkeiten neu programmiert werden. Auf diese Speicher wird im allgemeinen unter Verwendung von Zeilen- und Spaltenadressen zugegriffen. So sind die Speicher grundsätzlich monolithisch, wobei der Ort der Dateien und der anderen Daten in diesem Speicher grundsätzlich außerhalb des Speichers gespeichert wird.
  • Während diese Systeme bei relativ einfachen eingebetteten prozessorbasierten Systemen gut arbeiteten, kann in dem Maße, wie sich die Anforderungen an die prozessorbasierten Systeme erhöhen, dieses einfache Speichersystem unzureichend sein, um einige gewünschte Funktionen zu handhaben. Somit besteht ein Bedürfnis an einem verbesserten Weg der Verwendung nicht-flüchtiger wiederprogrammierbarer Halbleiterspeicher als primäres nicht-flüchtiges Dateisystem für prozessorbasierte Systeme.
  • Aus der Patentschrift US 5,701,492 ist eine Schnittstellenplatine zum Ankoppeln eines Druckers an ein LAN bekannt, die einen Mikroprozessor, einen flüchtigen Speicher (DRAM) und einen wiederprogrammierbaren Halbleiterspeicher (Flash-Speicher) aufweist. Der Flash-Speicher enthält einen Boot-Block-Bereich, einen Datei-Bereich und einen Directory-Bereich. Der Boot-Block-Bereich enthält zumindest zwei verschiedene Versionen eines Boot-Blocks, jeweils mit einem Startsektor. Jeder Startsektor enthält den Code, der zum Bestimmen der aktuellen Directory, zum Prüfen eines Boot-Block-Select-Feldes in der aktuellen Directory zum Bestimmen des aktuellen Boot-Blocks, zum Kopieren des aktuellen Boot-Blocks in den obersten Bereich des DRAMs (Shadow-DRAM) und zum Ausführen des Rests des Boot-Blocks aus dem DRAM heraus erforderlich ist. Der Directory-Bereich speichert mindestens zwei Directories mit jeweils einem Header und 84 Dateieinträgen. Der Header enthält ein Boot-Block-Select-Feld, das bestimmt, welcher der Boot-Blöcke in den Shadow-DRAM kopiert werden soll. Jeder Dateieintrag enthält einen 3-Buchstaben-Dateinamen, ein Flag und einen Zeiger zum Startort der Datei im Datei-Bereich. Der Dateiname MON bezeichnet ein Monitorprogramm. Zum Aktualisieren des Boot-Blocks und der Dateien des Monitorprogramms wird zunächst ein neuer Boot-Block in den Flash-EPROM in den ungenutzten Boot-Block-Bereich, der nicht der Bereich des aktuellen Boot-Blocks ist, gespeichert. Danach werden neue kritische Dateien in den Flash-EPROM gespeichert. Dann wird eine entsprechende neue Directory erstellt und flash-gespeichert. Nach dem Neu-Booten wird der neu flash-gespeicherte Boot-Block der aktuelle Boot-Block und werden die neuen kritischen Dateien das aktuelle Monitorprogramm.
  • Aus der Patentschrift US 5,944,820 ist ein Verfahren zum Bereitstellen eines modifizierbaren Partition-Boot-Records bekannt. Ein Speicher, auf den durch einen Prozessor zugegriffen werden kann, enthält zumindest zwei Partitionen, von denen die erste anfangs aktiv und die zweite anfangs inaktiv ist. Die inaktive Partition enthält Software, die nur dann als aktiv gekennzeichnet wird, wenn ein Benutzer eine Software-Lizenz akzeptiert hat.
  • Aufgabe der Erfindung ist es ausgehend von dem eingangs genannten Stand der Technik die Wiederherstellung und Aktualisierung eines Betriebssystems an die Verwendung eines Flash-Speichers anzupassen und flexibel zu gestalten.
  • Diese Aufgabe wird erfindungsgemäß durch ein Verfahren zum Organisieren gespeicherter Informationen in einem nicht-flüchtigen, wiederprogrammierbaren Halbleiterspeicher mit den Merkmalen des Anspruchs 1 gelöst.
  • Vorteilhafte und/oder bevorzugte Ausführungsformen der Erfindung sind in den Unteransprüchen gekennzeichnet.
  • Weitere Aspekte werden in der nachfolgenden detaillierten Beschreibung angegeben.
  • 1 ist eine schematische Darstellung eines Client/Server-Systems gemäß einem Ausführungsbeispiel der vorliegenden Erfindung;
  • 2 ist ein Schema der Speicherarchitektur der in 1 gezeigten Speichereinrichtung;
  • 3 ist ein Schema einer Speicherarchitektur eines BIOS und Wiederherstellungsbetriebssystems, die bei dem in 2 gezeigten System verwendet wird;
  • 4 ist ein Ablaufdiagramm zum Implementieren von Software zum Wieder-Laden von Betriebssystemen;
  • 5 ist eine Darstellung einer Speicherarchitektur für das in 2 gezeigte primäre Betriebssystem;
  • 6 ist eine Hardwareimplementierung des in 1 gezeigten Clients; und
  • 7 ist ein Ablaufdiagramm, das den Betrieb der in 5 gezeigten FLAT veranschaulicht.
  • Ein Client/Server-Computersystem 10, das in 1 gezeigt ist, kann einen oder mehrere Server 18 enthalten, die über ein Netzwerk 16 mit einem oder mehreren Clients 12 gekoppelt sein können. Jeder Client 12 kann eine Speichereinrichtung 14 aufweisen. Der Client 12 kann ein prozessor-basiertes System, wie beispielsweise ein Desktop-Computersystem, ein Handheld-Computersystem, ein prozessor-basiertes Fernsehsystem, eine Set-Top-Box, ein Gerät, ein Thin-Client, ein Funktelefon oder dergleichen sein. Das Netzwerk 16 kann irgendeines einer Vielzahl von Netzwerken sein, einschließlich eines lokalen Netzwerks (LAN), eines Stadtnetzwerks (MAN), eines Weitbereichsnetzwerks (WAN), eines drahtlosen Netzwerks, eines Heimnetzwerks oder eines internationalen Netzwerks, wie beispielsweise dem Internet.
  • Bei dem System 10 kann der Client 12 permanent sein Betriebssystem auf einer wiederprogrammierbaren Speichereinrichtung 14 speichern. Die Speichereinrichtung 14 kann in herkömmlicher Weise ein Festplattenlaufwerk oder ein Flash-Speicher sein. Wenn das Betriebssystem zerstört ist oder aktualisiert werden muss, kann der Client 10 auf das Netzwerk 16 und den Server 18 zugreifen, um ein ungestörtes oder aktualisiertes Betriebssystem zu erlangen und das neue Betriebssystem automatisch auf die Speichereinrichtung 14 neu laden.
  • Die Speichereinrichtung 14 kann elektrisch umprogrammierbar sein. Die Speichereinrichtung 14 kann darüber hinaus bei einem Ausführungsbeispiel der Erfindung als BIOS-Speicher für den Client 12 dienen. Während herkömmlicherweise der BIOS-Speicher ein Nur-Lese-Speicher (ROM) ist, kann durch Verwendung eines wiederprogrammierbaren Speichers das Betriebssystem ebenso wie der BIOS-Befehlscode aktualisiert oder ersetzt werden, wenn er zerstört ist, wie im folgenden erläutert wird. Bei anderen Ausführungsbeispielen kann ein herkömmlicher BIOS-ROM zusätzlich zu der Speichereinrichtung 14 verwendet werden.
  • Es sind eine Vielzahl von Flash-Speichern zum Implementieren der Speichereinrichtung 14 verfügbar, wie beispielsweise Intels Speicher der Marke StrataFlashTM. Ein vorteilhafter Speicher ist das 28F64OJ5-Acht-Megabyte-FLASH-Array, das von der Intel Corporation erhältlich ist. Dieser Speicher enthält mehrere 128-Kilobyte-Blöcke. Jeder Block kann datengeschützt sein, so dass er nicht gelöscht oder überschrieben werden kann. Mit anderen Worten, der Datenschutz kann selektiv auf einen oder mehrere einer Mehrzahl von Blöcken in dem Speicher angewendet werden.
  • Das BIOS kann in einem oder mehreren datengeschützten Blöcken in dem Flash-Speicher gespeichert sein. In gleicher Weise kann das Wiederherstellungsbetriebssystem in einem oder in mehreren Blöcken so gespeichert sein, dass es ebenfalls datengeschützt ist. Bei einem Ausführungsbeispiel kann das BIOS in zwei 128 Kilobyte-Blöcken gespeichert sein, und das Wiederherstellungsbetriebssystem kann zwei 128-Kilobyte-Blöcke verwenden.
  • Es wird jetzt auf 2 Bezug genommen; die Speicherarchitektur der Speichereinrichtung 14 kann adressierbare Orte für ein BIOS und ein Wiederherstellungsbetriebssystem 20 und ein primäres Betriebssystem 22 enthalten. Das primäre Betriebssystem kann ein Mehrzweckbetriebssystem, wie beispielsweise Microsoft Windows® 98 oder CE, LINUX oder das BE-Betriebssystem beispielsweise sein. Das primäre Betriebssystem kann auch ein Echtzeit-Betriebssystem (RTOS), wie beispielsweise das PalmOS sein. Das BIOS und das Wiederherstellungsbetriebssystem 20 arbeiten in Fällen, in denen das primäre Betriebssystem 22 zerstört ist oder aktualisiert werden muss. Das Wiederherstellungsbetriebssystem 20 kann ein Betriebssystem einer verringerten Größe sein, welches grundlegende wesentliche BIOS-Funktionen und die zum Gewinnen des neuen primären Betriebssystems erforderliche eingeschränkte Software enthält. So ist ein "Wiederherstellungsbetriebssystem" in diesem Sinne ein Betriebssystem, das zum Aktualisieren und/oder Gewinnen eines Ersatzes für ein primäres Betriebssystem verantwortlich ist.
  • Gemäß 3 enthält bei einem Ausführungsbeispiel der Erfindung das Wiederherstellungsbetriebssystem 20 ein Kernel 26, Netzwerkschnittstellensteuereinrichtungs(NIC)-Treiber 30 und einen Netzwerkstapel 28. Das Kernel 26 ist der Kern des Wiederherstellungsbetriebssystems 20. Der Stapel 28 beispielsweise kann das User Datagram Protocol/Internet Protocol (UDP/IP), das Trivial File Transfer Protocol (TFTP), das Dynamic Host Control Protocol (DHCP), das Address Resolution Protocol (ARP) und das Anfangsladeprotokoll (BOOTP – Bootstrap Protocol) enthalten. (Diese Protokolle finden sich bei www.ietf.org/rfc.html.). Das Wiederherstellungsbetriebssystem 20 kann darüber hinaus die Betriebssystem-Wiederherstell- und -Aktualisierungs-Anwendungssoftware 24 enthalten. Ein FLASH-Treiber 34 und BIOS-Dienste 35 können ebenfalls enthalten sein. Der FLASH-Treiber wird verwendet, um ein neues primäres Betriebssystem in den FLASH-Speicher einzuschreiben, wenn ein FLASH-Speicher als Speichereinrichtung 14 verwendet wird. Die Hardwareschnittstelle 36 bildet eine Schnittstelle zwischen den Softwareschichten und einer Hardwaremutterplatine.
  • Idealerweise kann das Wiederherstellungsbetriebssystem 22 so viel wie möglich abgerüstet werden, um Speicher einzusparen. Wenn möglich, kann das Kernel 26 auf nur denjenigen Befehlscode reduziert sein, welcher erforderlich ist, um seine Wiederherstellungs- und Aktualisierungsfunktionen zu implementieren. Ein Kernel, welches besonders gut anwendbar ist, ist das LINUX-Kernel. Das LINUX-Kernel enthält eine X-basierte Kernelkonfigurationsutility, die make xconfig genannt wird. Diese Utility schafft eine graphische Benutzeroberfläche, um das Auswählen der Elemente des Kernels und des Betriebssystems zu erleichtern. Das heißt, das LINUX-Betriebssystem ermöglicht es dem Benutzer, auf eine Reihe von Fragen zu antworten, die über eine graphische Benutzerschnittstelle gestellt werden, um anzuzeigen, ob bestimmte Funktionalitäten erwünscht sind. Der Code für nicht ausgewählte Funktionalitäten könnte dann ausgeschlossen werden. Im Ergebnis kann ein relativ abgerüstetes Betriebssystem auf einfache Weise ohne Zugriff auf Objektcode entwickelt werden.
  • Im Falle irgendwelcher Softwarefehler oder Abstürze kann das System neu laden, wodurch der Fehler aufgelöst wird. Ein Überwachungszeitgeber in dem CMOS-Speicher verfolgt eine Zahl der erfolglos versuchten Neuladevorgänge. Wenn diese Zahl einen Schwellenwert überschreitet (beispielsweise 3), könnte das Wiederherstellungsbetriebssystem aufgerufen werden. Wenn das System versucht, neu zu laden, überprüft es die CMOS-Speicher-Neuanfangslade-Anzahl und lädt das Wiederherstellungsbetriebssystem automatisch, sofern der Wiederladezahlschwellenwert überschritten ist. Das Wiederherstellungsbetriebssystem 20 wird gestartet, so dass eine neue Version des Abbilds des primären Betriebssystems abgerufen werden kann.
  • Das Wiederherstellungsbetriebssystem 20 kann darüber hinaus Betriebssystem-Updates erlangen. Dies kann auf eine Reihe von Wegen geschehen. Bei einem Ausführungsbeispiel könnte der Benutzer eine Aktualisierung anfordern, wodurch ein separates Update-Bit in dem CMOS-Speicher gesetzt wird. Bei einem anderen Ausführungsbeispiel könnte ein Betriebssystemanbieter an seine Benutzer eine Nachricht ausstrahlen (broadcast), welche anzeigt, dass ein Update verfügbar ist. Die Benutzersysteme, die die Nachricht empfangen, können ihr eigenes Update-Bit haben, das automatisch in dem CMOS-Speicher gesetzt wird. Bei dem nächsten versuchten Anfangsladen (boot), wird das Wiederherstellungsbetriebssystem gebootet, um automatisch das Update zu erwerben.
  • Alternativ könnte die Wiederherstellungs- und Update-Anwendungssoftware 24 so konfiguriert werden, dass das Update automatisch zu einer Zeit einer vorhergesagten niedrigen Benutzung erworben wird. Wenn beispielsweise das System erfasst, dass das Update-Bit gesetzt ist, was anzeigt, dass ein Update erwünscht wird, könnte das System bis Mitternacht warten, um automatisch das Update herunterzuladen.
  • Das Wiederherstellungsbetriebssystem wiederum kann über die Netzwerkschnittstellensteuereinrichtung und das Netzwerk 16 kommunizieren, um eine neue Version des primären Betriebssystemabbilds abzurufen. Dies könnte ausgeführt werden, indem auf eine weitere Einrichtung in demselben Netzwerk zugegriffen wird oder bei einem anderen Beispiel, indem auf das gewünschte Betriebssystem über das Internet zugegriffen wird.
  • Nachdem das neue Betriebssystem im Systemspeicher überprüft worden ist und in den Speicher 14 geladen worden ist, wird das System neu gebootet. Wenn das System das primäre Betriebssystem lädt, setzt das primäre Betriebssystem das Update-Bit in dem CMOS-Speicher zurück.
  • In einigen Fällen, wenn ein Booten versucht wird, könnte eine Analyse des gespeicherten Betriebssystems feststellen, dass das Betriebssystem zerstört ist. Beispielsweise könnte während des Bootens eine Prüfsummenanalyse vorgenommen werden. Wenn das gespeicherte Betriebssystem gestört ist, könnte ein Wiederherstellungsbit in dem CMOS-Speicher gesetzt und das Anfangsladen (boot) abgebrochen werden. Das nächste Mal, wenn ein Boot versucht wird, wird das Wiederherstellungsbit identifiziert, und das System lädt das Wiederherstellungsbetriebssystem.
  • Es wird jetzt auf 4 Bezug genommen; die Wiederherstellungs- und -Aktualisierungsanwendungssoftware 24 beginnt mit dem Überprüfen der Speichereinrichtung 14, wie es in dem Rhombus 40 gezeigt ist. Beim Einschalten, nach dem Durchlaufen des Einschaltselbsttests (POST), überprüft der Startcode das primäre Betriebssystemabbild in dem Speicher 14 nach Prüfsummenfehlern. Wenn es einen Fehler gibt, bootet das System das Wiederherstellungsbetriebssystem 20 und startet die Wiederherstellungsanwendung. Ein Fehlercode kann auftreten, weil das Betriebssystemabbild zerstört oder eines der Wiederherstellungs- oder Aktualisierungs-Flags gesetzt ist. Das Wiederherstellungs-Flag kann beispielsweise wegen eines Defekts in dem Betriebssystem gesetzt sein. Die Aktualisierungs-Flags können beispielsweise gesetzt sein, weil eine Zeitdauer für ein altes primäres Betriebssystem abgelaufen ist oder weil der Benutzer einen Wunsch zur Erlangung eines Upgrades angezeigt hat. So wird nach dem Anlegen der Prüfsumme, wie es im Block 42 angezeigt ist, das primäre Betriebssystem gebootet, wie es im Block 44 angezeigt ist, sofern die Prüfsumme ein gültiges Betriebssystem anzeigt. Anderenfalls wird das Wiederherstellungsbetriebssystem gebootet, wie es in Block 46 angezeigt ist.
  • Während der Boot-Routine setzt ggf. ein Startbefehlscode, welcher Teil des BIOS ist, das Wiederherstellungsbit in dem CMOS-Speicher. Der Startbefehlscode kann darüber hinaus den Befehlscode zum Zählen, wie oft ein Neu-Booten versucht worden ist, und zum Speichern von Informationen über die Anzahl der versuchten Neu-Boot-Vorgänge enthalten.
  • Bei einem Ausführungsbeispiel der vorliegenden Erfindung könnte die Anwendung 24 eine Anforderung über das Netzwerk an den Server 18 für ein Betriebssystemherunterladen (Block 48) initiieren. Sobald das neue Abbild heruntergeladen ist, wird es in die Speichereinrichtung 14 geschrieben. Dann wird das Wiederherstellungsbit gelöscht, wie es im Block 50 angezeigt ist, und das System bootet erneut, wie es im Block 55 gezeigt ist. Beim nächsten Mal bootet das System in das primäre Betriebssystem und führt seine üblichen Funktionen aus.
  • Die Speicherarchitektur eines Abschnitts der Speichereinrichtung 14, die das primäre Betriebssystem 22 speichert, das in 5 gezeigt ist, weist an der untersten Speicheradresse ein Prüfsummen- oder Zyklisches-Redundanzprüf(CRC)-Feld 96 auf. Über dem Prüfsummenfeld 96 befindet sich ein Feld 98, welches die Anzahl der Einträge in einer Flash-Zuweisungstabelle (FLAT – FLASH Allocation Table) 100 anzeigt. Die FLASH-Zuweisungstabelle unterteilt (partitioniert) den FLASH-Speicherabschnitt 22 und gestattet, dass mehrere Befehlscode- und Datenabbilder in der Speichereinrichtung 14 gespeichert werden können. Dies wiederum ermöglicht, dass mehrere Anfangslader (Boot-Lader) in dem Flash-Speicher zum Booten verschiedener Betriebssystemabbilder vorhanden sind. Zur Anfangsladezeit wählt das BIOS auf der Grundlage des Status des Wiederherstellungsbits, wie es oben beschrieben wurde, aus, welcher Anfangslader zu laden und auszuführen ist.
  • Der Anfangslader 102 zum Laden des primären Betriebssystems ist über der Flash-Zuweisungstabelle 100 gespeichert. Über dem Anfangslader 102 befindet sich das Kernel 104 bzw. der Kern des primären Betriebssystems. Das Kernel des primären Betriebssystems kann dem durch das Wiederherstellungsbetriebssystem benutzten Kernel gleich sein oder von diesem abweichen. Während beispielsweise LINUX für das Wiederherstellungsbetriebssystem verwendet werden kann, könnte bei einem Ausführungsbeispiel Windows® CE als primäres Betriebssystem benutzt werden.
  • Über dem Kernel 104 befindet sich ein Dateisystem 106. Die FLASH-Zuweisungstabelle 100 enthält jeweils einen Eintrag für jedes in dem FLASH-Speicherabschnitt 22 gespeicherte Item, einschließlich der in dem Dateisystem 106 gespeicherten Items (Einzelheiten). Das Dateisystem 106 enthält Dateien, Verzeichnisse und zum Lokalisieren und zum Zugreifen auf Betriebssystemdateien und Verzeichnisse verwendete Informationen.
  • Jedes in der FLASH-Zuweisungstabelle enthaltene Item enthält Informationen über die Softwareversion, die Flags, die Daten-Offsets, die Länge der Daten und ihre Ladeadresse. Die Versionsnummer verfolgt lediglich, welche Version der Software in einem bestimmten Speicher 14 geladen wurde. Das Datenoffset legt fest, wo in dem FLASH-Speicher ein Eintrag angeordnet ist.
  • Das Flag-Feld hat Informationen über die Art der zugehörigen Einträge. Das am geringsten bewertete Bit des Flag-Felds enthält Informationen über den Status der zyklischen Redundanzüberprüfung (CRC). Dies teilt im Endeffekt dem BIOS mit, ob eine CRC berechnet werden muss. Das nächsthöher bewertete Bit enthält den Blocktyp. Der Blocktyp schließt "Boot" ein, was einen Anfangslader anzeigt, "Kernel" oder "Dateisystem". Sofern der Blocktyp Anfangslader ist, sagt dieses Flag-Feld, wohin in den Speicher mit wahlfreiem Zugriff der Anfangslader aus dem FLASH-Speicher zu laden ist. Ein zusätzlicher Bereich in dem FLASH-Feld kann für weitere Informationen reserviert sein. Ein Boot-Lader oder Anfangslader lädt weitere Laderprogramme, welche ein Betriebssystem laden und übergibt die Kontrolle an diese.
  • Während die vorliegende Erfindung in Verbindung mit einer Vielzahl von prozessorbasierten Systemen verwendet werden kann, ist eine Anwendung, welche ein Set-Top-Computersystem verwendet, in 6 veranschaulicht. Ein Set-Top-Computersystem arbeitet mit einem Fernsehempfänger zusammen. Der Client 12 kann einen Prozessor 65 enthalten, der mit einem Chipsatz 66 eines beschleunigten Graphikports (AGP) gekoppelt ist. Die Accelerated Graphics Port Spezifikation, Rev. 2.0 ist von der Intel Corporation aus Santa Clara, Kalifornien, erhältlich. Der Chipsatz 66 kann mit dem Systemspeicher 68 und dem beschleunigten Graphikport-Bus 70 gekoppelt sein. Der Bus 70 wiederum kann mit einem Graphikbeschleuniger 72, der außerdem mit einem Video- oder Fernsehempfänger 73 gekoppelt ist, gekoppelt sein.
  • Ein Abschnitt 75 des Systemspeichers 68, der CMOS-Speicher genannt wird, kann durch eine integrierte Speicherschaltung implementiert sein, welche an das Sichern von Systemdaten angepasst ist. Herkömmlicherweise enthält der CMOS die Echtzeituhr (RTC), welche die Tageszeit verfolgt. Die Wiederherstellungs- und Aktualisierungsbits sind in dem CMOS-Speicher an vorgegebenen Stellen gespeichert.
  • Der Chipsatz 66 kann darüber hinaus mit einem Bus 74 gekoppelt sein, der eine Fernsehtuner/Aufnahme-Karte 76 aufnimmt. Die Karte 76 kann mit einer Fernsehantenne 78 gekoppelt sein, welche auch eine Satellitenantenne oder Kabelverbindung sein kann, um zusätzliche Beispiele anzugeben. Eine Schnittstelle zu einem Netzwerk 16, wie beispielsweise eine Modemschnittstellenverbindung zu dem Internet oder eine Netzwerkschnittstellensteuereinrichtungsverbindung zu einem Computernetzwerk, kann ebenfalls vorgesehen sein.
  • Eine Brücke 80 kann wiederum mit einem weiteren Bus 84 gekoppelt sein, welcher eine serielle Eingabe/Ausgabe-Schnittstelle 86 und eine Speicherschnittstelle 94 unterstützt. Die Schnittstelle 86 kann mit einem Modem 88 oder einer Tastatur 92 gekoppelt sein. Die Schnittstelle 94 kann den FLASH-Speicher 14, der das Wiederherstellungsbetriebssystem und das BIOS 20 und das primäre Betriebssystem 22 speichert, ankoppeln. Die Brücke 80 kann der 82371AB-PCI-ISA-IDE-Xcelerator(PIIX4)-Chipsatz sein, der von der Intel Corporation erhältlich ist. So kann er Mehrzweck-Eingabe/ Ausgabe-Pins (GP[I,O]) enthalten.
  • Bei der Anzahl der zum Implementieren von Computersystemen verwendeten Chipsätze kann der Chipsatz derart eingerichtet sein, dass er jeweils nur eine bestimmte Anzahl von Zeilen des BIOS sieht. Bei Ausführungsbeispielen, bei denen das primäre Betriebssystem und das Wiederherstellungsbetriebssystem in dem FLASH-Speicher gespeichert sind, kann auf diese auf dieselbe Weise zugegriffen werden, wie auf den BIOS-Speicher zugegriffen wird. Da der FLASH-Speicher, auf den zugegriffen wird, beträchtlich größer ist als ein BIOS-Speicher, kann es somit wünschenswert sein, andere Techniken zu verwenden, um auf sämtliche Speicher in dem FLASH zuzugreifen. Eine Technik, um dies bei Prozessoren der Intel Corporation auszuführen, besteht darin, die GP[I,O]-Pins zu verwenden, beispielsweise an der PIIX4-Einrichtung. Diese Pins können mit den zum Entwickeln der das BIOS lesenden Signale verantwortlichen Pins gekoppelt sein. Indem geeignete GP[I,O]-Signale zur Verfügung gestellt werden, kann das FLASH-Speicher-Lesen bankgeschaltet sein, um sequentiell den gesamten Speicher zu lesen.
  • Wenden wir uns jetzt 7 zu; in Übereinstimmung mit einem Ausführungsbeispiel beginnt die Software, die die FLAT verwendet, um zu ermöglichen, dass mehrere Code- und Datenabbilder in dem FLASH-Speicher gespeichert werden, beim Einschalten oder Systemrücksetzen mit der BIOS-Ausführung und der Durchführung der Systeminitialisierung und der Einschaltselbsttestaktivitäten (Block 110). Die Inhalte des FLASH-Speichers können gültig gemacht werden, indem der im Feld 96 in dem FLASH-Speicher gespeicherte CRC überprüft wird, wie es im Block 112 angezeigt ist. An diesem Punkt wählt das BIOS den Anfangslader zum Ausführen aus (Block 114), indem die FLAT durchsucht wird und der als Anfangslader markierte Eintrag ausgewählt wird. Der Anfangslader verwendet dann die FLAT, um herauszufinden, wo in dem FLASH-Speicher das primäre Betriebssystem angeordnet ist (Block 116), lädt das Betriebssystem an der richtigen Adresse in dem Systemspeicher (Block 118) und startet seine Ausführung (Block 120).
  • Bei einigen Ausführungsbeispiel könnte das BIOS weiterhin vom Betriebssystem unabhängig sein. Die Betriebssystemabhängigkeiten können sich in dem Anfangslader aufhalten. Der Anfangslader ermöglicht es einem herkömmlichen Computerbetriebssystem, sich in dem FLASH-Speicher aufzuhalten.
  • Während die vorliegende Erfindung in Verbindung mit einem Ausführungsbeispiel, bei dem das primäre Betriebssystem und das Wiederherstellungsbetriebssystem in einer Speichereinrichtung, wie beispielsweise einem FLASH-Speicher, gespeichert sind, veranschaulicht worden ist, können andere wiederprogrammierbare Speichereinrichtungen ebensogut benutzt werden. Im Falle des FLASH-Speichers ist unter den gegebenen aktuellen ökonomischen Bedingungen der Speicher relativ teuer und eine Spiegelung wird grundsätzlich nicht verwendet. Somit ist die Verwendung des Wiederherstellungsbetriebssystems in Verbindung mit FLASH-Speichern besonders vorteilhaft. Jedoch könnte die vorliegende Erfindung in Verbindung mit anderen Konfigurationen benutzt werden. Bei Systemen beispielsweise, die das primäre Betriebssystem in einem Festplattenlaufwerk speichern, könnte sich das Wiederherstellungsbetriebssystem ebenfalls auf dem Festplattenlaufwerk befinden. Das BIOS könnte in solchen Fällen, sofern es gewünscht wird, weiterhin in einem BIOS-ROM gespeichert sein.
  • Alternativ könnte das Wiederherstellungsbetriebssystem aktuell auf einem externen oder entnehmbaren Speicher, wie beispielsweise einer CompactDisc-ROM (CD-ROM) zur Verfügung gestellt werden. Wenn es erforderlich ist, könnte der Benutzer einfach die CD-ROM in einen CD-Player laden. Ein Prozessor führt das Wiederherstellungsbetriebssystem von der CD-ROM herunter aus und verwendet dann die Wiederherstellungs- und Aktualisierungs-Anwendungssoftware, um das primäre Betriebssystem zu aktualisieren und zu ersetzen. Diese Lösung bietet Vorteile gegenüber dem Bereitstellen des vollständigen Betriebssystems in Plattenform, da die Verwendung eines kompakten Wiederherstellungsbetriebssystems die Aktualisierungen erleichtert. Das heißt, das kompakte Wiederherstellungssystem könnte schnell geladen werden und verwendet werden, um Updates zu erwerben. Anderenfalls müsste das vollständige Betriebssystem in Plattenform für jeden Benutzer für jede Aktualisierung (Update) zur Verfügung gestellt werden, so dass der Benutzer dann die Updates erwerben kann.
  • Während die vorliegende Erfindung unter Bezugnahme auf eine Client/Server-Umgebung beschrieben worden ist, ist die vorliegende Erfindung zusätzlich für eine Vielzahl weiterer Umgebungen verfügbar. Beispielsweise könnte die vorliegende Erfindung auf einem Server in einer Client/Server-Umgebung implementiert sein. Zusätzlich ist sie auf Stand-Alone-Computersysteme einschließlich prozessorbasierter Systeme, die batteriegestützt sind, anwendbar. In Verbindung mit Hand-held-Computersystemen beispielsweise könnte die vorliegende Erfindung eine Update- oder Ersetzungsfunktionalität unter Verwendung verfügbarer verdrahteter oder drahtloser Kommunikationsverbindungen zur Verfügung stellen. Bei einem System, welches vorübergehend mit einem Desktop-Computer über eine feste Verdrahtung verknüpft sein kann, wie beispielsweise ein persönlicher digitaler Assistent PalmPilot, könnte das Wiederherstellungsbetriebssystem mit dem Desktop kommunizieren, um ein neues Betriebssystem zu erlangen. In ähnlicher Weise könnten Upgrades unter Verwendung einer Vielzahl drahtloser Kommunikationsverbindungen einschließlich Radio- und Funktelefonverbindungen, gewonnen werden. Bei Systemen, welche über Kabel- oder Satellitenrundfunksysteme miteinander verknüpft sind, könnten neue Betriebssysteme darüber hinaus unter Verwendung dieser Kommunikationsverbindungen ebensogut gewonnen werden.
  • In Verbindung mit zugeschnittenen Betriebssystemen könnte es erforderlich sein, zu einem speziellen fernen Ort zu gehen, um das Betriebssystem zu aktualisieren oder zu ersetzen. In Verbindung mit nicht auf den Benutzer zugeschnittenen Betriebssystemen jedoch können eine Vielzahl von Sites innerhalb des erweiterten Computersystems des Benutzers, das über das Internet oder über eine Vielzahl von Kommunikationsverbindungen zugreifbar ist, benutzt werden, um solche Ersetzungen zu erwerben. Zusätzlich könnten eine Vielzahl solcher Sites in die Wiederherstellungsbetriebssystemanwendungssoftware vorprogrammiert sein, so dass dann, wenn das System beim Erwerben der erforderlichen Ersetzung bei einem Ort nicht erfolgreich ist, es eine Vielzahl weiterer Orte abfragen kann.
  • In einigen Fällen kann die Wiederherstellungsanwendungssoftware nicht mit Informationen über zusätzliche Orte, welche zukünftige Aktualisierungen enthalten, programmiert werden. Wenn jedoch ein Betriebssystemanbieter Informationen über Updates ausstrahlt, könnten diese Ausstrahlungen (broadcasts) auch Informationen darüber enthalten, wie die gewünschten Updates automatisch erwerbbar sind. Diese Informationen können dann von der Wiederherstellungsanwendungssoftware verwendet werden.
  • Bei einigen Ausführungsbeispielen beachtet der Systembenutzer die Operation des Wiederherstellungsbetriebssystems überhaupt nicht. Das Wiederherstellungsbetriebssystem arbeitet im Hintergrund, wobei es das primäre Betriebssystem dem Benutzer robuster erscheinen lässt.

Claims (13)

  1. Verfahren zum Organisieren gespeicherter Informationen in einem nicht-flüchtigen, wiederprogrammierbaren Halbleiterspeicher (14), wobei: der Speicher (14) in eine Mehrzahl von Partitionen aufgeteilt wird, wobei jede Partition eine definierte Adresse hat; ein erster Bootlader für ein Wiederherstellungsbetriebssystem an einer ersten Adresse und in einer ersten Partition (20) gespeichert wird, wobei das Wiederherstellungsbetriebssystem für das Aktualisieren eines primären Betriebssystems und/oder das Erlangen eines Ersatzes für das primäre Betriebssystem verantwortlich ist, wobei das Wiederherstellungsbetriebssystem ein Kernel (26) aufweist, das auf nur denjenigen Befehlscode reduziert ist, der zum Implementieren der Wiederherstellungs- und Aktualisierungsfunktionen erforderlich ist; ein zweiter Bootlader (102) für ein primäres Betriebssystem an einer zweiten Adresse und in einer zweiten Partition gespeichert wird; und die Adressen für die erste Bootlader-Partition und für die zweite Bootlader-Partition (102) in einer weiteren Partition (100) gespeichert werden.
  2. Verfahren nach Anspruch 1, wobei ferner Informationen über die Anzahl der Partitionen (in 98) gespeichert werden.
  3. Verfahren nach Anspruch 1, wobei ferner ein Dateisystem (106) in einer der Partitionen gespeichert wird.
  4. Verfahren nach Anspruch 1, wobei ferner ein Kernel für das primäre Betriebssystem (22) in einer der Partitionen (104) gespeichert wird.
  5. Verfahren nach Anspruch 1, wobei ferner in Zuordnung zu den Adressen Informationen darüber, ob eine Integritätsüberprüfung an den an der zugeordneten Adresse gespeicherten Daten ausgeführt werden muss oder nicht, gespeichert werden.
  6. Verfahren nach Anspruch 1, wobei ferner in Zuordnung zu der Adresse einer Partition Informationen über die Art der in der Partition gespeicherten Informationen gespeichert werden.
  7. Verfahren nach Anspruch 6, wobei ferner Informationen darüber gespeichert werden, ob die bei einer gegebenen Partition gespeicherten Informationen ein Bootlader, ein Kernel oder ein Dateisystem sind.
  8. Das Verfahren nach Anspruch 6, wobei ferner Informationen über die Ladeadresse für die Informationen in Zuordnung zu der Adresse gespeichert werden.
  9. Artikel, umfassend ein Medium, das Befehle speichert, die bei ihrer Ausführung ein prozessorbasiertes System veranlassen, ein Verfahren nach einem der Ansprüche 1–8 auszuführen.
  10. Prozessorbasiertes System (12), aufweisend: einen Prozessor (65); einen mit dem Prozessor (65) gekoppelten flüchtigen Speicher (68); und ein mit dem Prozessor (65) gekoppelten nicht-flüchtigen wiederprogrammierbaren Halbleiterspeicher (14), wobei der Halbleiterspeicher (14) in eine Mehrzahl von Partitionen (20, 96106) aufgeteilt ist, von denen jede eine definierte Adresse hat, wobei ein erster Bootlader für ein Wiederherstellungsbetriebssystem (20) an einer ersten Adresse und in einer ersten Partition (20) gespeichert ist, wobei das Wiederherstellungsbetriebssystem für das Aktualisieren eines primären Betriebssystems und/oder das Erlangen eines Ersatzes für das primäre Betriebssystem verantwortlich ist, wobei das Wiederherstellungsbetriebssystem ein Kernel (26) aufweist, das auf nur denjenigen Befehlscode reduziert ist, der zum Implementieren der Wiederherstellungs- und Aktualisierungsfunktionen erforderlich ist, wobei ein zweiter Bootlader (102) für ein primäres Betriebssystem an einer zweiten Adresse und in einer zweiten Partition (102) gespeichert ist; und wobei die Adressen für die erste und für die zweite Bootlader-Partition in einer weiteren Partition (100) gespeichert sind.
  11. System nach Anspruch 10, wobei der Halbleiterspeicher (14) ein FLASH-Speicher ist.
  12. System nach Anspruch 10, wobei eine der Partitionen (20) ein Basis-Eingabe/Ausgabe-System (32) speichert.
  13. System nach Anspruch 10, wobei eine der Partitionen ein Dateisystem (106) speichert.
DE10085013.8T 1999-09-21 2000-09-11 Anordnen von in nicht-flüchtigen wiederprogrammierbaren Halbleiterspeichern gespeicherten Informationen Expired - Fee Related DE10085013B3 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/400,570 US6715067B1 (en) 1999-09-21 1999-09-21 Initializing a processor-based system from a non-volatile re-programmable semiconductor memory
US09/400,570 1999-09-21
PCT/US2000/024848 WO2001022209A1 (en) 1999-09-21 2000-09-11 Organizing information stored in non-volatile re-programmable semiconductor memories

Publications (2)

Publication Number Publication Date
DE10085013T1 DE10085013T1 (de) 2002-10-31
DE10085013B3 true DE10085013B3 (de) 2017-11-30

Family

ID=23584130

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10085013.8T Expired - Fee Related DE10085013B3 (de) 1999-09-21 2000-09-11 Anordnen von in nicht-flüchtigen wiederprogrammierbaren Halbleiterspeichern gespeicherten Informationen

Country Status (8)

Country Link
US (2) US6715067B1 (de)
JP (2) JP2003510678A (de)
KR (1) KR20020035877A (de)
CN (1) CN1375082A (de)
AU (1) AU7477500A (de)
DE (1) DE10085013B3 (de)
TW (1) TW502206B (de)
WO (1) WO2001022209A1 (de)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AUPQ321699A0 (en) * 1999-09-30 1999-10-28 Aristocrat Leisure Industries Pty Ltd Gaming security system
US7555683B2 (en) * 1999-12-23 2009-06-30 Landesk Software, Inc. Inventory determination for facilitating commercial transactions during diagnostic tests
US6735666B1 (en) 2000-02-22 2004-05-11 Wind River Systems, Inc. Method of providing direct user task access to operating system data structures
US20020163590A1 (en) * 2001-05-04 2002-11-07 Chung-Chih Tung Video signal conversion method
US6993648B2 (en) * 2001-08-16 2006-01-31 Lenovo (Singapore) Pte. Ltd. Proving BIOS trust in a TCPA compliant system
US20030120911A1 (en) * 2001-12-20 2003-06-26 Muench-Casanova Stephen L. Method of reprogramming modules
KR20030064070A (ko) * 2002-01-25 2003-07-31 삼성전자주식회사 컴퓨터시스템 및 그 제어방법
AU2003242930A1 (en) * 2002-06-28 2004-01-19 Koninklijke Philips Electronics N.V. Software download into a receiver
US20040188720A1 (en) * 2003-03-25 2004-09-30 Chew Kenneth S. Bit-cell and method for programming
KR100598379B1 (ko) * 2003-09-08 2006-07-06 삼성전자주식회사 컴퓨터 시스템 및 그 제어방법
US7219325B1 (en) * 2003-11-21 2007-05-15 Xilinx, Inc. Exploiting unused configuration memory cells
US20050114682A1 (en) * 2003-11-26 2005-05-26 Zimmer Vincent J. Methods and apparatus for securely configuring a machine in a pre-operating system environment
JP2005196745A (ja) * 2003-12-10 2005-07-21 Ricoh Co Ltd 情報処理装置、プログラム復旧方法、プログラム復旧プログラム及び記録媒体
US8001325B2 (en) * 2004-01-09 2011-08-16 Sandisk Corporation Memory card that supports file system interoperability
US20050223209A1 (en) * 2004-03-31 2005-10-06 Giga-Byte Technology Co., Ltd. Apparatus for fast booting computer and method for the same
JP4695348B2 (ja) * 2004-05-27 2011-06-08 株式会社リコー カード型メモリ、画像形成装置、画像形成装置起動方法
US8245021B2 (en) * 2004-07-08 2012-08-14 Hewlett-Packard Development Company, L.P. System and method for re-imaging computers
EP1624373A1 (de) * 2004-08-06 2006-02-08 Telsey S.p.A. Verfahren und System zur Software-Aktualisierung eines Kommunikationssystems in einem Breitbandnetzwerk
US7591018B1 (en) * 2004-09-14 2009-09-15 Trend Micro Incorporated Portable antivirus device with solid state memory
US20060080518A1 (en) * 2004-10-08 2006-04-13 Richard Dellacona Method for securing computers from malicious code attacks
US20060080540A1 (en) * 2004-10-08 2006-04-13 Robert Arnon Removable/detachable operating system
US7401212B2 (en) * 2004-11-01 2008-07-15 Microsoft Corporation Self-contained computer servicing device
US7555677B1 (en) * 2005-04-22 2009-06-30 Sun Microsystems, Inc. System and method for diagnostic test innovation
US7734945B1 (en) * 2005-04-29 2010-06-08 Microsoft Corporation Automated recovery of unbootable systems
US20060288197A1 (en) * 2005-06-16 2006-12-21 Swanson Robert C Identifying an operating system associated with a boot path
US20070162591A1 (en) * 2006-01-09 2007-07-12 Utstarcom, Inc. Network equipment restart indication
JP4834421B2 (ja) * 2006-03-02 2011-12-14 株式会社日立国際電気 ネットワーク装置
US7822958B1 (en) * 2006-03-10 2010-10-26 Altera Corporation Booting mechanism for FPGA-based embedded system
US7975304B2 (en) * 2006-04-28 2011-07-05 Trend Micro Incorporated Portable storage device with stand-alone antivirus capability
US8261133B1 (en) * 2006-08-04 2012-09-04 Oracle America, Inc. Protection and recovery of non-redundant information stored in a memory
JP2008158591A (ja) * 2006-12-20 2008-07-10 Denso Corp 情報処理装置及び制御プログラム
US8254568B2 (en) * 2007-01-07 2012-08-28 Apple Inc. Secure booting a computing device
WO2008114375A1 (ja) * 2007-03-19 2008-09-25 Fujitsu Limited シンクライアント端末装置、その運用プログラム、及び方法、並びにシンクライアントシステム
US8438423B1 (en) * 2009-03-31 2013-05-07 American Megatrends, Inc. Invalid setup recovery
US8745743B2 (en) * 2009-06-09 2014-06-03 F-Secure Oyj Anti-virus trusted files database
CN101902556A (zh) * 2010-08-03 2010-12-01 福建新大陆通信科技股份有限公司 一种数字电视机顶盒的数据块分区定位方法
CN102098561B (zh) * 2010-12-14 2012-12-19 福建新大陆通信科技股份有限公司 一种机顶盒flash存储器各区域块分布配置的方法
US8281119B1 (en) * 2011-11-22 2012-10-02 Google Inc. Separate normal firmware and developer firmware
KR101987144B1 (ko) 2012-10-10 2019-06-11 삼성전자주식회사 운영 체제 프로그램을 저장하는 메인 메모리 시스템 및 이를 포함하는 컴퓨터 시스템
US9021457B2 (en) * 2013-01-22 2015-04-28 Apple Inc. Method and system for dynamically resizing enclosed storage device partitions
US9329931B2 (en) * 2013-07-24 2016-05-03 Seagate Technology Llc Solid state drive emergency pre-boot application providing expanded data recovery function
US9304780B2 (en) * 2013-10-18 2016-04-05 Google Inc. User initiated data rollback using operating system partitions
US9846576B2 (en) * 2014-12-27 2017-12-19 Intel Corporation Technologies for reprogramming network interface cards over a network
US10534618B2 (en) * 2016-09-27 2020-01-14 American Megatrends International, Llc Auto bootloader recovery in BMC
JP6873811B2 (ja) * 2017-05-01 2021-05-19 Dynabook株式会社 情報処理装置
JP7087087B2 (ja) * 2018-01-31 2022-06-20 ヒューレット-パッカード デベロップメント カンパニー エル.ピー. オペレーティングシステムをコンピュータ可読媒体上に記憶するためのbiosコード
KR20210119678A (ko) * 2020-03-25 2021-10-06 에스케이하이닉스 주식회사 멀티 칩 패키지 및 그것의 테스트 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5657445A (en) * 1996-01-26 1997-08-12 Dell Usa, L.P. Apparatus and method for limiting access to mass storage devices in a computer system
US5701492A (en) * 1996-03-29 1997-12-23 Canon Kabushiki Kaisha Fail-safe flashing of EPROM
US5787491A (en) * 1996-01-26 1998-07-28 Dell Usa Lp Fast method and apparatus for creating a partition on a hard disk drive of a computer system and installing software into the new partition
US5944820A (en) * 1997-10-15 1999-08-31 Dell U.S.A., L.P. Modifiable partition boot record for a computer memory device

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5136711A (en) * 1990-10-17 1992-08-04 Ast Research System for multiple access hard disk partitioning
GB2251324B (en) * 1990-12-31 1995-05-10 Intel Corp File structure for a non-volatile semiconductor memory
US5594903A (en) * 1991-02-26 1997-01-14 Lynx Real-Time Systems, Inc. Operating System architecture with reserved memory space resident program code identified in file system name space
US6347051B2 (en) * 1991-11-26 2002-02-12 Hitachi, Ltd. Storage device employing a flash memory
JPH05242057A (ja) * 1992-02-27 1993-09-21 Sanyo Electric Co Ltd マルチプロセッサシステムの起動方式
JPH06187205A (ja) * 1992-12-18 1994-07-08 Nikon Corp Eepromのアクセス方法および測量機
US5870520A (en) * 1992-12-23 1999-02-09 Packard Bell Nec Flash disaster recovery ROM and utility to reprogram multiple ROMS
US5463766A (en) * 1993-03-22 1995-10-31 Dell Usa, L.P. System and method for loading diagnostics routines from disk
US5668970A (en) * 1994-06-20 1997-09-16 Cd Rom, U.S.A., Inc. Method and apparatus for generating a file allocation table for a storage medium with no file allocation table using file storage information
US5802363A (en) * 1994-09-27 1998-09-01 International Business Machines Corporation Bios dynamic emulation of multiple diskettes from a single media
KR0172001B1 (ko) * 1995-12-05 1999-03-30 윤종용 바이오스 메모리의 재프로그램 장치 및 그 방법
EP0852880A1 (de) 1995-09-29 1998-07-15 Boston Technology Inc. Multimedia-architektur für interaktives system
US5918047A (en) * 1996-01-26 1999-06-29 Texas Instruments Incorporated Initializing a processing system
KR100260028B1 (ko) * 1996-08-13 2000-06-15 윤종용 화일시스템의 정보 복구방법
US5974517A (en) * 1996-09-17 1999-10-26 Compaq Computer Corporation Method and system for mounting a system partition as a logical drive while an operating system is operational by modifying a partition table
US5745418A (en) * 1996-11-25 1998-04-28 Macronix International Co., Ltd. Flash memory mass storage system
US5937329A (en) 1997-10-29 1999-08-10 Northern Telecom Limited System and method for displaying local messages over a satellite television picture
US6170055B1 (en) * 1997-11-03 2001-01-02 Iomega Corporation System for computer recovery using removable high capacity media
KR100280637B1 (ko) * 1997-11-24 2001-02-01 윤종용 고정된플래시롬의데이터갱신이가능한컴퓨터시스템및그제어방법
JP3638770B2 (ja) * 1997-12-05 2005-04-13 東京エレクトロンデバイス株式会社 テスト機能を備える記憶装置
TW368626B (en) * 1998-04-17 1999-09-01 Winbond Electronics Corp Microprocessor with self-programmed embedded flash memory and programming method
JP4060442B2 (ja) * 1998-05-28 2008-03-12 富士通株式会社 メモリデバイス
US6272628B1 (en) * 1998-12-14 2001-08-07 International Business Machines Corporation Boot code verification and recovery
US6199159B1 (en) * 1998-12-22 2001-03-06 Intel Corporation Booting an operating system
US6279109B1 (en) * 1999-01-07 2001-08-21 Dell U.S.A., L.P. Computing system and operating method for booting and running a graphical user interface (GUI) with r/w hard drive partition unavailable
US6192456B1 (en) * 1999-03-30 2001-02-20 Adaptec, Inc. Method and apparatus for creating formatted fat partitions with a hard drive having a BIOS-less controller
US6948099B1 (en) * 1999-07-30 2005-09-20 Intel Corporation Re-loading operating systems

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5657445A (en) * 1996-01-26 1997-08-12 Dell Usa, L.P. Apparatus and method for limiting access to mass storage devices in a computer system
US5787491A (en) * 1996-01-26 1998-07-28 Dell Usa Lp Fast method and apparatus for creating a partition on a hard disk drive of a computer system and installing software into the new partition
US5701492A (en) * 1996-03-29 1997-12-23 Canon Kabushiki Kaisha Fail-safe flashing of EPROM
US5944820A (en) * 1997-10-15 1999-08-31 Dell U.S.A., L.P. Modifiable partition boot record for a computer memory device

Also Published As

Publication number Publication date
AU7477500A (en) 2001-04-24
CN1375082A (zh) 2002-10-16
JP2003510678A (ja) 2003-03-18
TW502206B (en) 2002-09-11
JP2006040301A (ja) 2006-02-09
US20040158699A1 (en) 2004-08-12
KR20020035877A (ko) 2002-05-15
WO2001022209A1 (en) 2001-03-29
DE10085013T1 (de) 2002-10-31
US6715067B1 (en) 2004-03-30

Similar Documents

Publication Publication Date Title
DE10085013B3 (de) Anordnen von in nicht-flüchtigen wiederprogrammierbaren Halbleiterspeichern gespeicherten Informationen
DE10084862B3 (de) Wieder-Laden von Betriebssystemen
DE10297281B4 (de) Verfahren zum elementaren Aktualisieren einer Vielzahl von Dateien
DE112012004893B4 (de) Implementieren eines Software-Abbildes auf mehreren Zielen unter Verwendung einer Datenstromtechnik
DE4215063A1 (de) Einrichtung und verfahren zum seitenwechsel bei einem nicht-fluechtigen speicher
DE69521113T2 (de) Vorrichtung und Verfahren zur Stromversorgungsausfallbeständige Aktualisierung eines Flash-EEPROM-Speichers
DE10003108B4 (de) Verfahren und Computersystem zum Durchführen einer Softwareinstallation
DE69319383T2 (de) Verfahren und Gerät zum Urladen eines Rechners zu einer programmierten Zeit
DE69122536T2 (de) Initialisierung eines Rechners beim Einschalten
US7509521B2 (en) Memory dump generation with quick reboot
DE69503056T2 (de) Selbstkonfigurierendes rechnersystem
DE102004049454B4 (de) Verfahren zur Benutzung von Featuremarkern zur Bestimmung der Kompatibilität zwischen Bios-Revisionen und installierter Hardware bei der Flash-Aktualisierung
DE60008929T2 (de) Schnellstart eines mikroprozessorbasierten systems
DE69131610T2 (de) Ermittlung des Speicheradressraums durch Verwendung von programmierbaren Grenzregistern mit Komparatoren mit einzelnen Ausgängen
DE19983359B4 (de) Verfahren und Einrichtung zum Verwalten von Dateien in einem Speichermedium
DE112011104356B4 (de) Aktualisieren von Software-Images auf der Grundlage von Streaming-Technik
DE3786660T2 (de) Computersystem mit einer CPU mit zwei gegenseitig inkompatiblen Adressiermoden.
DE60210434T2 (de) Betriebssystemselektor und Datenplattenspeicher
DE112008000180T5 (de) Verfahren und System für die Umsetzung eines Fast-Wakeup eines Flashspeichersystems
US20050204107A1 (en) Method and apparatus for dumping memory
DE602004012614T2 (de) Software-verfahren der emulation von eeprom-speicher
DE102005037855A1 (de) System und Verfahren zum Speichern von Benutzerdaten in einer Partitionsdatei oder zum Verwenden einer Partitionsdatei, die Benutzerdaten enthält
DE10393859T5 (de) Entkoppelter Hardwarekonfigurationsmanager
DE69330860T2 (de) Informationsprozessor mit einem optischen Speichermedium
DE60006415T2 (de) Dynamische ermittlung von hardwarekonfiguration in einem digitalen endgerät

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee