DE10085013B3 - Arranging information stored in non-volatile, reprogrammable semiconductor memories - Google Patents

Arranging information stored in non-volatile, reprogrammable semiconductor memories 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
German (de)
Other versions
DE10085013T1 (en
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/en
Application granted granted Critical
Publication of DE10085013B3 publication Critical patent/DE10085013B3/en
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]

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.
A method of organizing stored information in a non-volatile, reprogrammable semiconductor memory (14), wherein:
the memory (14) is divided into a plurality of partitions, each partition having a defined address;
a first boot loader for a recovery operating system is stored at a first address and in a first partition (20), the recovery operating system being responsible for updating a primary operating system and / or obtaining a replacement for the primary operating system, wherein the recovery operating system is a kernel ( 26) reduced to only the instruction code required to implement the recovery and update functions;
storing a second boot loader (102) for a primary operating system at a second address and a second partition; and
the addresses for the first boot loader partition and for the second boot loader partition (102) are stored in another partition (100).

Figure DE000010085013B3_0001
Figure DE000010085013B3_0001

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.This invention relates to a method of organizing stored information in a non-volatile, reprogrammable semiconductor memory, wherein the memory is divided into a plurality of partitions, each partition having a defined address.

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.There is a growing interest in so-called embedded processor-based systems. These systems often operate with reduced functionality to provide the desired performance at relatively low cost. In many cases, these embedded systems can be battery operated. Thus, their capabilities are limited to increase battery life.

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. For a variety of reasons, including conserving battery life, reducing costs, and providing a compact form factor, processor-based systems that do not use a hard disk drive as their non-volatile storage medium can be provided. In many processor-based systems, a hard disk drive provides a convenient non-volatile storage medium that stores most of the information the user desires to keep permanently. These may include, among other things, the operating system, application software, files and data as examples. The information stored in the hard disk drive may be transferred to system memory for execution, which is conventionally volatile memory.

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 many systems, hard disk drives provide a relatively fast, very high capacity storage medium. However, hard drives require more space and use more power than non-volatile semiconductor memories. In many embedded systems, reprogrammable non-volatile semiconductor memories are used as the primary memory system for processor-based systems. These semiconductor memories store the complete informational equipment normally stored in hard disk drives, including the operating systems.

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. In many cases, the semiconductor memories used as the primary nonvolatile storage medium for processor-based systems use FLASH memory. These FLASH memories can be reprogrammed without user intervention using well-known on-board capabilities. These memories are generally accessed using row and column addresses. Thus, the memories are basically monolithic, with the location of the files and other data in that memory generally being stored outside the memory.

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. While these systems worked well on relatively simple embedded processor-based systems, as the demands on the processor-based systems increase, this simple memory system may be insufficient to handle some desired functions. Thus, there is a need for an improved way of using non-volatile, reprogrammable, semiconductor memories as the primary nonvolatile file system for processor-based systems.

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.From the patent US 5,701,492 For example, there is known an interface board for interfacing a printer to a LAN having a microprocessor, a volatile memory (DRAM), and a reprogrammable semiconductor memory (flash memory). The flash memory includes a boot block area, a file area, and a directory area. The boot block area contains at least two different versions of a boot block, each with a boot sector. Each boot sector contains the code used to determine the current directory, to check a boot block select field in the current directory to determine the current boot block, to copy the current boot block to the top of the DRAM (Shadow DRAM) and to execute the remainder of the boot block out of the DRAM. The directory area stores at least two directories, each with a header and 84 file entries. The header contains a boot block select field that determines which of the boot blocks should be copied to the shadow DRAM. Each file entry contains a 3-letter file name, a flag, and a pointer to the location of the file in the file area. The file name MON denotes a monitor program. To update the boot block and the monitor program files, a new boot block is first stored in the flash EPROM in the unused boot block area, which is not the area of the current boot block. Thereafter, new critical files are stored in the flash EPROM. Then a corresponding new directory is created and flash-saved. After rebooting, the newly flashed boot block becomes the current boot block and the new critical files become the current monitor program.

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. From the patent US 5,944,820 For example, a method of providing a modifiable partition boot record is known. A memory accessible by a processor includes at least two partitions, the first of which is initially active and the second initially inactive. The inactive partition contains software only then is marked as active if a user has accepted a software license.

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.The object of the invention, starting from the aforementioned prior art, to adapt the recovery and updating of an operating system to the use of a flash memory and to make it flexible.

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.This object is achieved by a method for organizing stored information in a non-volatile, reprogrammable semiconductor memory having the features of claim 1.

Vorteilhafte und/oder bevorzugte Ausführungsformen der Erfindung sind in den Unteransprüchen gekennzeichnet.Advantageous and / or preferred embodiments of the invention are characterized in the subclaims.

Weitere Aspekte werden in der nachfolgenden detaillierten Beschreibung angegeben. Further aspects are given in the following detailed description.

1 ist eine schematische Darstellung eines Client/Server-Systems gemäß einem Ausführungsbeispiel der vorliegenden Erfindung; 1 is a schematic representation of a client / server system according to an embodiment of the present invention;

2 ist ein Schema der Speicherarchitektur der in 1 gezeigten Speichereinrichtung; 2 is a schema of the memory architecture of 1 shown memory device;

3 ist ein Schema einer Speicherarchitektur eines BIOS und Wiederherstellungsbetriebssystems, die bei dem in 2 gezeigten System verwendet wird; 3 FIG. 10 is a schematic of a memory architecture of a BIOS and recovery operating system used in the in 2 shown system is used;

4 ist ein Ablaufdiagramm zum Implementieren von Software zum Wieder-Laden von Betriebssystemen; 4 Fig. 10 is a flow chart for implementing software for reloading operating systems;

5 ist eine Darstellung einer Speicherarchitektur für das in 2 gezeigte primäre Betriebssystem; 5 is a representation of a memory architecture for the in 2 shown primary operating system;

6 ist eine Hardwareimplementierung des in 1 gezeigten Clients; und 6 is a hardware implementation of the in 1 shown clients; and

7 ist ein Ablaufdiagramm, das den Betrieb der in 5 gezeigten FLAT veranschaulicht. 7 is a flowchart illustrating the operation of the in 5 illustrated FLAT illustrated.

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.A client / server computer system 10 , this in 1 shown can be one or more servers 18 contain, over a network 16 with one or more clients 12 can be coupled. Every client 12 can be a storage device 14 exhibit. The client 12 may be a processor-based system, such as a desktop computer system, a handheld computer system, a processor-based television system, a set-top box, a device, a thin client, a radiotelephone, or the like. The network 16 may be any of a variety of networks including a local area network (LAN), a city network (MAN), a wide area network (WAN), a wireless network, a home network, or an international network such as the 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.In the system 10 can the client 12 permanently operating system on a reprogrammable storage device 14 to save. The storage device 14 may conventionally be a hard disk drive or a flash memory. If the operating system is destroyed or needs updating, the client may 10 on the network 16 and the server 18 to obtain an undisturbed or updated operating system and the new operating system automatically to the storage device 14 reload.

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.The storage device 14 can be electrically reprogrammable. The storage device 14 moreover, in one embodiment of the invention as a BIOS memory for the client 12 serve. While conventionally the BIOS memory is a read only memory (ROM), by using a reprogrammable memory, the operating system as well as the BIOS command code can be updated or replaced when it is destroyed, as will be explained below. In other embodiments, a conventional BIOS-ROM may be in addition to the memory device 14 be used.

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.There are a variety of flash memories for implementing the memory device 14 available, such as Intel's StrataFlash TM memory. An advantageous memory is the 28F64OJ5 eight megabyte FLASH array available from Intel Corporation. This memory contains several 128 kilobyte blocks. Each block can be data protected so that it can not be deleted or overwritten. In other words, privacy may be selectively applied to one or more of a plurality of blocks in the memory.

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. The BIOS may be stored in the flash memory in one or more data-protected blocks. Likewise, the recovery operating system may be stored in one or more blocks so that it is also data protected. In one embodiment, the BIOS may be stored in two 128 kilobyte blocks, and the recovery operating system may use two 128 kilobyte blocks.

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.It will be up now 2 Reference is made; the memory architecture of the memory device 14 can addressable locations for a BIOS and a recovery operating system 20 and a primary operating system 22 contain. The primary Operating system may be a general purpose operating system such as Microsoft Windows® 98 or CE, LINUX or the BE operating system, for example. The primary operating system can also be a real-time operating system (RTOS), such as the PalmOS. The BIOS and the recovery operating system 20 work in cases where the primary operating system 22 is destroyed or needs updating. The recovery operating system 20 may be a reduced size operating system that includes basic essential BIOS functions and the limited software required to obtain the new primary operating system. Thus, a "recovery operating system" in this sense is an operating system responsible for updating and / or obtaining a replacement for a primary operating system.

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.According to 3 In one embodiment of the invention, includes the recovery operating system 20 a kernel 26 , Network Interface Controller (NIC) driver 30 and a network stack 28 , The kernel 26 is the core of the recovery operating system 20 , The stack 28 For example, this may include User Datagram Protocol / Internet Protocol (UDP / IP), Trivial File Transfer Protocol (TFTP), Dynamic Host Control Protocol (DHCP), Address Resolution Protocol (ARP) and Bootstrap Protocol (BOOTP) , (These protocols can be found at www.ietf.org/rfc.html.). The recovery operating system 20 In addition, the operating system recovery and update application software 24 contain. A FLASH driver 34 and BIOS services 35 can also be included. The FLASH driver is used to write a new primary operating system into FLASH memory when using FLASH memory as the storage device 14 is used. The hardware interface 36 forms an interface between the software layers and a hardware motherboard.

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. Ideally, the recovery operating system 22 be dismantled as much as possible to save memory. If possible, the kernel can 26 be reduced to only those instruction code required to implement its recovery and update functions. One kernel that works well is the LINUX kernel. The LINUX kernel includes an X-based kernel configuration utility called make xconfig. This utility provides a graphical user interface to facilitate the selection of kernel and operating system elements. That is, the LINUX operating system allows the user to respond to a series of questions submitted via a graphical user interface to indicate whether certain functionalities are desired. The code for non-selected functionalities could then be excluded. As a result, a relatively disarmed operating system can be easily developed without accessing object code.

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.In case of any software errors or crashes, the system can reload, which resolves the error. A watchdog timer in the CMOS memory tracks a number of unsuccessfully attempted reloads. If this number exceeds a threshold (for example, 3), the recovery operating system might be called. When the system attempts to reload, it checks the CMOS memory reload count and automatically loads the recovery operating system if the reload count threshold is exceeded. The recovery operating system 20 is started so that a new version of the image of the primary operating system can be obtained.

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.The recovery operating system 20 can also gain operating system updates. This can be done in a number of ways. In one embodiment, the user might request an update, thereby setting a separate update bit in the CMOS memory. In another embodiment, an operating system provider could broadcast to its users a message indicating that an update is available. The user systems that receive the message may have their own update bit, which is automatically set in the CMOS memory. At the next attempted boot, the recovery OS is booted to automatically acquire the update.

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.Alternatively, the recovery and update application software could 24 be configured to automatically acquire the update at a predicted low usage time. For example, if the system detects that the update bit is set, indicating that an update is desired, the system could wait until midnight to automatically download the update.

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.In turn, the recovery operating system may communicate through the network interface controller and the network 16 to retrieve a new version of the primary operating system image. This could be done by accessing another device on the same network or, in another example, by accessing the desired operating system via the Internet.

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. After the new operating system has been checked in system memory and into memory 14 the system is rebooted. When the system loads the primary operating system, the primary operating system resets the update bit in CMOS memory.

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. In some cases, when booting is attempted, an analysis of the stored operating system may find that the operating system is destroyed. For example, a checksum analysis could be done during booting. If the stored operating system is disturbed, a restore bit could be set in the CMOS memory and the boot (boot) aborted. The next time a boot is attempted, the recovery bit is identified and the system loads the recovery operating system.

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.It will be up now 4 Reference is made; the recovery and update application software 24 begins by checking the storage device 14 as it is in the rhombus 40 is shown. At power up, after passing through the power-on self-test (POST), the boot code checks the primary OS image in the memory 14 after checksum errors. If there is an error, the system boots the recovery operating system 20 and starts the recovery application. An error code can occur because the operating system image is destroyed or one of the recovery or update flags is set. For example, the recovery flag may be set because of a defect in the operating system. For example, the update flags may be set because a time for an old primary operating system has expired, or because the user has indicated a desire to upgrade. So after creating the checksum, as it is in the block 42 is displayed, the primary operating system booted as it is in the block 44 is displayed if the checksum indicates a valid operating system. Otherwise, the recovery OS is booted, as shown in Block 46 is displayed.

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.During the boot routine, if necessary, a boot command code, which is part of the BIOS, sets the restore bit in the CMOS memory. The boot command code may further include the command code for counting how many times a reboot has been attempted and for storing information about the number of attempted reboot operations.

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.In one embodiment of the present invention, the application could 24 a request over the network to the server 18 for an operating system download (block 48 initiate). Once the new image is downloaded, it will be in the storage device 14 written. Then the restore bit is cleared as it is in the block 50 is displayed and the system reboots as shown in the block 55 is shown. Next time, the system boots into the primary operating system and performs its usual functions.

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. The memory architecture of a section of the memory device 14 which is the primary operating system 22 stores that in 5 at the lowest memory address, a checksum or cyclic redundancy check (CRC) field is shown 96 on. Above the checksum field 96 there is a field 98 indicating the number of entries in a Flash allocation table (FLAT - FLASH Allocation Table) 100 displays. The FLASH allocation table divides (partitions) the FLASH storage section 22 and allows multiple instruction code and data images in the storage device 14 can be stored. This, in turn, allows multiple boot loaders to be present in the flash memory for booting various operating system images. At initial charge time, the BIOS selects which boot loader to load and execute based on the status of the restore bit as described above.

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.The starting loader 102 to load the primary operating system is above the flash allocation table 100 saved. Above the starting loader 102 is the kernel 104 or the core of the primary operating system. The kernel of the primary operating system may be the same as or different from the kernel used by the recovery operating system. For example, while LINUX may be used for the recovery operating system, in one embodiment, Windows® CE could be used as the primary operating system.

Ü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.About the kernel 104 there is a file system 106 , The FLASH allocation table 100 contains one entry for each in the FLASH memory section 22 stored item, including in the file system 106 stored items (details). The file system 106 Contains files, directories, and information used to locate and access operating system files and directories.

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.Each item contained in the FLASH allocation table contains information about the software version, the flags, the data offsets, the length of the data, and their load address. The version number merely tracks which version of the software in a particular memory 14 was loaded. The data offset determines where in the FLASH memory an entry is located.

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. The flag field has information about the type of related entries. The least significant bit of the flag field contains information about the status of the cyclic redundancy check (CRC). This will ultimately tell the BIOS if a CRC needs to be calculated. The next higher evaluated bit contains the block type. The block type includes "boot" indicating a boot loader, "kernel" or "file system". If the block type is initial loader, this flag field tells where to place in the random access memory the boot loader is to be loaded from the FLASH memory. An additional area in the FLASH field may be reserved for further information. A boot loader or boot loader loads additional loader programs that load an operating system and hands over control of them.

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.While the present invention may be used in conjunction with a variety of processor-based systems, one application employing a set-top computer system is in 6 illustrated. A set-top computer system works in concert with a television receiver. The client 12 can be a processor 65 included with a chipset 66 an accelerated graphics port (AGP) is coupled. The Accelerated Graphics Port Specification, Rev. 2.0, is available from Intel Corporation of Santa Clara, California. The chipset 66 can with the system memory 68 and the accelerated graphics port bus 70 be coupled. The bus 70 in turn, can with a graphics accelerator 72 In addition, with a video or television receiver 73 coupled, be coupled.

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. A section 75 the system memory 68 , which is called CMOS memory, may be implemented by an integrated memory circuit adapted to secure system data. Conventionally, the CMOS contains the Real Time Clock (RTC), which tracks the time of day. The recovery and update bits are stored in the CMOS memory at predetermined locations.

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.The chipset 66 In addition, with a bus 74 be coupled with a TV tuner / recording card 76 receives. The map 76 can with a TV antenna 78 coupled, which may also be a satellite antenna or cable connection to give additional examples. An interface to a network 16 , such as a modem interface connection to the Internet or a network interface controller connection to a computer network, may also be provided.

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. A bridge 80 can turn with another bus 84 which is a serial input / output interface 86 and a memory interface 94 supported. the interface 86 can with a modem 88 or a keyboard 92 be coupled. the interface 94 can the FLASH memory 14 that the recovery operating system and the BIOS 20 and the primary operating system 22 stores, dock. The bridge 80 may be the 82371AB PCI ISA IDE Xcelerator (PIIX4) chipset available from Intel Corporation. So it can contain multi-purpose input / output pins (GP [I, O]).

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. In terms of the number of chipsets used to implement computer systems, the chipset may be arranged to only view a certain number of lines of the BIOS at a time. In embodiments where the primary operating system and the recovery operating system are stored in the FLASH memory, they may be accessed in the same way as the BIOS memory is accessed. Thus, because the accessed FLASH memory is considerably larger than a BIOS memory, it may be desirable to use other techniques to access all the memories in the FLASH. One technique for doing this with Intel Corporation processors is to use the GP [I, O] pins, for example on the PIIX4 device. These pins may be coupled to the pins responsible for developing the BIOS read signals. By providing appropriate GP [I, O] signals, the FLASH memory read may be banked to sequentially read all of the memory.

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).Let us turn now 7 to; In accordance with one embodiment, the software using the FLAT begins to allow multiple code and data images to be stored in the FLASH memory, powering on or system resetting with the BIOS execution, and performing system initialization and power-on self-test activities (FIG. block 110 ). The contents of the FLASH memory can be validated by the in the field 96 CRC stored in the FLASH memory is checked as it is in the block 112 is displayed. At this point, the BIOS will select the boot loader to run (block 114 ) by searching the FLAT and selecting the entry marked as the initial loader. The boot loader then uses the FLAT to find out where in the FLASH memory the primary operating system is located (block 116 ), the operating system loads at the correct address in the system memory (block 118 ) and starts its execution (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.In some embodiments, the BIOS could still be independent of the operating system. The operating system dependencies may change stay in the top loader. The initial loader allows a conventional computer operating system to reside in the FLASH memory.

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.While the present invention has been illustrated in connection with an embodiment in which the primary operating system and the recovery operating system are stored in a storage device such as a FLASH memory, other reprogrammable storage devices may be used as well. In the case of FLASH memory, under the current economic conditions, the memory is relatively expensive and mirroring is not used in principle. Thus, the use of the recovery operating system in conjunction with FLASH memories is particularly advantageous. However, the present invention could be used in conjunction with other configurations. For example, for systems that store the primary operating system in a hard disk drive, the recovery operating system might also be on the hard disk drive. The BIOS could in such cases, if desired, continue to be stored in a BIOS ROM.

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.Alternatively, the recovery operating system could be currently provided on external or removable storage, such as a Compact Disc ROM (CD-ROM). If necessary, the user could simply load the CD-ROM into a CD player. A processor executes the recovery operating system from the CD-ROM and then uses the recovery and update application software to update and replace the primary operating system. This solution offers advantages over providing the full disk operating system because using a compact recovery operating system facilitates the updates. That said, the compact recovery system could be quickly loaded and used to acquire updates. Otherwise, the full disk operating system would have to be made available to each user for each update, so that the user can then purchase the updates.

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.While the present invention has been described with reference to a client / server environment, the present invention is additionally available to a variety of other environments. For example, the present invention could be implemented on a server in a client / server environment. In addition, it is applicable to stand-alone computer systems including processor-based systems that are battery-backed. For example, in connection with hand-held computer systems, the present invention could provide update or replacement functionality using available wired or wireless communication links. For a system that may be temporarily linked to a desktop computer via hardwired wiring, such as a PalmPilot personal digital assistant, the recovery operating system could communicate with the desktop to acquire a new operating system. Similarly, upgrades could be obtained using a variety of wireless communication links, including radio and cellular telephone links. Moreover, in systems linked together via cable or satellite broadcasting systems, new operating systems could equally well be obtained using these communication links.

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 conjunction with custom operating systems, it may be necessary to go to a specific remote location to update or replace the operating system. However, in conjunction with non-custom operating systems, a variety of sites within the user's enhanced computer system that is accessible over the Internet or over a variety of communication links may be used to acquire such replacements. In addition, a plurality of such sites could be preprogrammed into the recovery OS application software so that if the system is unsuccessful in acquiring the required one-site replacement, it may query a variety of other sites.

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.In some cases, the recovery application software can not be programmed with information about additional locations containing future updates. However, if an operating system provider broadcasts information about updates, these broadcasts could also include information about how to automatically obtain the updates you want. This information can then be used by the recovery application software.

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. In some embodiments, the system user does not pay attention to the operation of the recovery operating system at all. The recovery operating system works in the background, making the primary operating system look more robust to the user.

Claims (13)

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.Method for organizing stored information in a non-volatile, reprogrammable semiconductor memory ( 14 ), where: the memory ( 14 ) is divided into a plurality of partitions, each partition having a defined address; a first boot loader for a recovery operating system at a first address and in a first partition ( 20 ), wherein the recovery operating system is responsible for updating a primary operating system and / or obtaining a replacement for the primary operating system, the recovery operating system being a kernel ( 26 ) reduced to only that instruction code required to implement the recovery and update functions; a second boatloader ( 102 ) is stored for a primary operating system at a second address and in a second partition; and the addresses for the first bootloader partition and the second bootloader partition ( 102 ) in another partition ( 100 ) get saved. Verfahren nach Anspruch 1, wobei ferner Informationen über die Anzahl der Partitionen (in 98) gespeichert werden.The method of claim 1, further comprising information about the number of partitions (in 98 ) get saved. Verfahren nach Anspruch 1, wobei ferner ein Dateisystem (106) in einer der Partitionen gespeichert wird.The method of claim 1, further comprising a file system ( 106 ) is stored in one of the partitions. Verfahren nach Anspruch 1, wobei ferner ein Kernel für das primäre Betriebssystem (22) in einer der Partitionen (104) gespeichert wird.The method of claim 1, further comprising a kernel for the primary operating system ( 22 ) in one of the partitions ( 104 ) is stored. 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.The method of claim 1, further comprising, in association with the addresses, storing information about whether or not an integrity check needs to be performed on the data stored at the associated address. 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.The method of claim 1 further comprising storing, in association with the address of a partition, information about the type of information stored in the partition. 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.The method of claim 6, further comprising storing information as to whether the information stored on a given partition is a boot loader, a kernel, or a file system. Das Verfahren nach Anspruch 6, wobei ferner Informationen über die Ladeadresse für die Informationen in Zuordnung zu der Adresse gespeichert werden. The method of claim 6, further comprising storing information about the load address for the information associated with the address. 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.An article comprising a medium storing instructions that, when executed, cause a processor-based system to perform a method according to any one of claims 1-8. 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.Processor based system ( 12 ), comprising: a processor ( 65 ); one with the processor ( 65 ) coupled volatile memory ( 68 ); and one with the processor ( 65 ) coupled non-volatile reprogrammable semiconductor memory ( 14 ), wherein the semiconductor memory ( 14 ) into a plurality of partitions ( 20 . 96 - 106 ), each of which has a defined address, with a first boot loader for a recovery operating system ( 20 ) at a first address and in a first partition ( 20 ), wherein the recovery operating system is responsible for updating a primary operating system and / or obtaining a replacement for the primary operating system, the recovery operating system being a kernel ( 26 ) reduced to only that instruction code required to implement the recovery and update functions, wherein a second boot loader ( 102 ) for a primary operating system at a second address and in a second partition ( 102 ) is stored; and wherein the addresses for the first and the second boot loader partition are in another partition ( 100 ) are stored. System nach Anspruch 10, wobei der Halbleiterspeicher (14) ein FLASH-Speicher ist.The system of claim 10, wherein the semiconductor memory ( 14 ) is a FLASH memory. System nach Anspruch 10, wobei eine der Partitionen (20) ein Basis-Eingabe/Ausgabe-System (32) speichert. The system of claim 10, wherein one of the partitions ( 20 ) a basic input / output system ( 32 ) stores. System nach Anspruch 10, wobei eine der Partitionen ein Dateisystem (106) speichert. The system of claim 10, wherein one of the partitions is a file system ( 106 ) stores.
DE10085013.8T 1999-09-21 2000-09-11 Arranging information stored in non-volatile, reprogrammable semiconductor memories Expired - Fee Related DE10085013B3 (en)

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 (en) 2002-10-31
DE10085013B3 true DE10085013B3 (en) 2017-11-30

Family

ID=23584130

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10085013.8T Expired - Fee Related DE10085013B3 (en) 1999-09-21 2000-09-11 Arranging information stored in non-volatile, reprogrammable semiconductor memories

Country Status (8)

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

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 (en) * 2002-01-25 2003-07-31 삼성전자주식회사 Computer system and method of controlling the shame
DE60327857D1 (en) * 2002-06-28 2009-07-16 Koninkl Philips Electronics Nv SOFTWARE DOWNLOAD ON A RECEIVER
US20040188720A1 (en) * 2003-03-25 2004-09-30 Chew Kenneth S. Bit-cell and method for programming
KR100598379B1 (en) * 2003-09-08 2006-07-06 삼성전자주식회사 Computer System And Controlling Method Thereof
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 (en) * 2003-12-10 2005-07-21 Ricoh Co Ltd Information processing device, program recovery method, program recovery program, and recording medium
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 (en) * 2004-05-27 2011-06-08 株式会社リコー CARD-TYPE MEMORY, IMAGE FORMING DEVICE, AND IMAGE FORMING DEVICE STARTING METHOD
US8245021B2 (en) * 2004-07-08 2012-08-14 Hewlett-Packard Development Company, L.P. System and method for re-imaging computers
EP1624373A1 (en) * 2004-08-06 2006-02-08 Telsey S.p.A. Method and system for updating software of a communication apparatus in a broadband network
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 (en) * 2006-03-02 2011-12-14 株式会社日立国際電気 Network equipment
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 (en) * 2006-12-20 2008-07-10 Denso Corp Information processor and control program
US8254568B2 (en) * 2007-01-07 2012-08-28 Apple Inc. Secure booting a computing device
WO2008114375A1 (en) * 2007-03-19 2008-09-25 Fujitsu Limited Thin client terminal, its operating program and method, and thin client system
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 (en) * 2010-08-03 2010-12-01 福建新大陆通信科技股份有限公司 Data block partition positioning method for digital television set-top box
CN102098561B (en) * 2010-12-14 2012-12-19 福建新大陆通信科技股份有限公司 Distribution and configuration method for each region block of flash storage of set top box
US8281119B1 (en) * 2011-11-22 2012-10-02 Google Inc. Separate normal firmware and developer firmware
KR101987144B1 (en) 2012-10-10 2019-06-11 삼성전자주식회사 Main memory system storing Operating System program and computer system including the same
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 (en) * 2017-05-01 2021-05-19 Dynabook株式会社 Information processing device
US11775315B2 (en) 2018-01-31 2023-10-03 Hewlett-Packard Development Company, L.P. BIOS code to store operating systems on computer-readable media
KR20210119678A (en) * 2020-03-25 2021-10-06 에스케이하이닉스 주식회사 Multi-Chip Package and Method of Testing The Same

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 (en) * 1992-02-27 1993-09-21 Sanyo Electric Co Ltd Method for starting multi-processor system
JPH06187205A (en) * 1992-12-18 1994-07-08 Nikon Corp Method for accessing eeprom and surveying equipment
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 (en) * 1995-12-05 1999-03-30 윤종용 Re-programming apparatus of bios memory
WO1997012486A1 (en) 1995-09-29 1997-04-03 Boston Technology, Inc. Multimedia architecture for interactive advertising
US5918047A (en) * 1996-01-26 1999-06-29 Texas Instruments Incorporated Initializing a processing system
KR100260028B1 (en) * 1996-08-13 2000-06-15 윤종용 Data recovery method in a file system
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 (en) * 1997-11-24 2001-02-01 윤종용 Computer system capable of data update of fixed flash ROM and its control method
JP3638770B2 (en) * 1997-12-05 2005-04-13 東京エレクトロンデバイス株式会社 Storage device with test function
TW368626B (en) * 1998-04-17 1999-09-01 Winbond Electronics Corp Microprocessor with self-programmed embedded flash memory and programming method
JP4060442B2 (en) * 1998-05-28 2008-03-12 富士通株式会社 Memory device
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
WO2001022209A1 (en) 2001-03-29
DE10085013T1 (en) 2002-10-31
US6715067B1 (en) 2004-03-30
US20040158699A1 (en) 2004-08-12
JP2003510678A (en) 2003-03-18
JP2006040301A (en) 2006-02-09
CN1375082A (en) 2002-10-16
KR20020035877A (en) 2002-05-15
TW502206B (en) 2002-09-11
AU7477500A (en) 2001-04-24

Similar Documents

Publication Publication Date Title
DE10085013B3 (en) Arranging information stored in non-volatile, reprogrammable semiconductor memories
DE10084862B3 (en) Reloading operating systems
DE69627814T2 (en) SYSTEM FOR PROVIDING A BIOS FOR THE MAIN COMPUTER
DE10297281B4 (en) Method for elementary updating of a large number of files
DE60018807T2 (en) METHOD AND DEVICE FOR RECOVERING THE CONFIGURATION OF A COMPUTER
DE4215063A1 (en) Page changing system for non-volatile flash memory - contains programmable page register for page selection and address signal reception and modification devices
DE10003108B4 (en) Method and computer system for performing a software installation
US7509521B2 (en) Memory dump generation with quick reboot
DE102004049454B4 (en) Method of using feature markers to determine the compatibility between bios revisions and installed hardware during Flash update
DE60008929T2 (en) QUICK START OF A MICROPROCESSOR BASED SYSTEM
DE112011104356B4 (en) Updating software images based on streaming technology
US6195695B1 (en) Data processing system and method for recovering from system crashes
US6430663B1 (en) Methods for selecting a boot partition and hiding a non-selected partition
DE60210434T2 (en) OS selector and disk space
EP1899807B1 (en) Methods and system for the distribution of configurations to client computers
DE69838756T2 (en) PROCESSING INPUT / OUTPUT REQUIREMENTS OF SEVERAL DRIVERS ENABLE FILED SYSTEM PRIMITIVE ROUTINE IN A MULTILAYER DRIVER I / O SYSTEM
US8219793B2 (en) Storage medium to manage a master boot record and a method of booting a computer system using a storage medium
DE112012004893T5 (en) Implement a software image on multiple targets using a data stream technique
DE112008000180T5 (en) Method and system for implementing a fast wakeup of a flash memory system
US20050204107A1 (en) Method and apparatus for dumping memory
DE602004012614T2 (en) SOFTWARE METHOD OF EMULATION OF EEPROM MEMORY
DE102005017856A1 (en) Computer system with two operating systems and method for automatically downloading updated information
DE102007003179A1 (en) Method for direct boot memory system boot in a new memory architecture
DE3808167A1 (en) COMPUTER SYSTEMS WITH ADDRESSING INDEPENDENT MODE
CN1977243A (en) System and method for simulating real-mode memory access with access to extended memory

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