# US 5,710,930 A · Apparatus and a method for allowing an operating system of a computer system to persist across a power off and on cycle

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 5,710,930 A
- Document ID: US5710930A
- Status: Granted
- Kind: A
- Application number: 08/511,263
- Filed: 1995-08-04
- Granted: 1998-01-20
- Earliest claimed: 1995-08-04
- Assignees: Intel Corporation
- Inventors: Clifton W. Laney; Larry M. Leszczynski; Mary J. Madison
- Web page: https://patentgrep.com/patent/US5710930A

## CPC

- G06F 9/4418: {Suspend and resume; Hibernate and awake}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method of allowing an operating system of a computer system to persist across a power off and on cycle is described. The method includes the step of detecting if the computer system is to be powered off. If the computer system is detected to be powered off, the state of the computer system is then preserved by storing data representing the state of the computer system in a designated area of a nonvolatile memory of the computer system. A system initialization code of the operating system is then replaced with new system initialization code that branches to restart code that accesses to the designated area of the nonvolatile memory such that when the computer system is again powered on, the restart code accesses the designated area of the nonvolatile memory for the data to restore the computer system to the state before the computer system was powered off.

## Claims

### Claim 1

A method of allowing an operating system of a computer system to persist across a power off and on cycle, comprising the steps of:
(A) detecting if the computer system is to be powered off;
(B) preserving a state of the computer system by storing data representing the state of the computer system in a designated area of a nonvolatile memory of the computer system when the computer system is detected to be powered off;
(C) replacing a system initialization code of the operating system so as to branch to a state restore code that accesses the designated area of the nonvolatile memory such that when the computer system is again powered on, the restore code accesses the designated area of the nonvolatile memory for the data to restore the computer system to the state before the computer system was powered off.

### Claim 2 (depends on 1)

The method of claim 1, wherein the step (C) further comprises the steps of:
(i) creating a new system initialization code of the operating system that branches to the restore code to access the designated area of the nonvolatile memory; and
(ii) storing the new system initialization code in a boot sector of a mass storage device wherein the system initializing code is designated to be stored.

### Claim 3 (depends on 2)

The method of claim 2, further comprising the step of storing the replaced system initialization code in the nonvolatile memory such that the operating system is not changed.

### Claim 4 (depends on 3)

The method of claim 3, further comprising the step of restoring the computer system to the state before the computer system is powered off by executing the new system initialization code to access the designated area of the nonvolatile memory for the data when the computer system is again powered on.

### Claim 5 (depends on 4)

The method of claim 4, further comprising the step of storing the replaced system initialization code back into the boot sector of the mass storage after the new system initialization code has been executed to obtain the data from the designated area of the nonvolatile memory.

### Claim 6 (depends on 1)

The method of claim 1, wherein the nonvolatile memory is electrically erasable and programmable.

### Claim 7

In a computer system having a nonvolatile memory and an operating system, a method of allowing the operating system to persist across a system power off and on cycle, comprising the steps of:
(A) detecting if the computer system is to be powered off;
(B) preserving a state of the computer system by storing data representing the state of the computer system in a designated area of the nonvolatile memory if the computer system is detected to be powered off;
(C) changing a system initialization code of the operating system by
(i) creating a new system initialization code of the operating system that stores an entry address to a code for restoring the system state from the designated area of the nonvolatile memory;
(ii) storing the new system initialization code in a boot sector of a mass storage device of the computer system where the system initialization code is designated to be stored such that when the computer system is again powered on, the new system initialization code causes access to the designated area of the nonvolatile memory for the data to restore the computer system to the state before the computer system was powered off; and
(D) restoring the computer system to the state before the computer system was powered off by accessing the designated area of the nonvolatile memory for the data when the computer system is again powered on.

### Claim 8 (depends on 7)

The method of claim 7, further comprising the step of storing the replaced system initialization code in the nonvolatile memory such that the operating system is not changed.

### Claim 9 (depends on 8)

The method of claim 8, further comprising the step of storing the system initialization code back into the boot sector after the new system initialization code has been executed to obtain the data from the designated area of the nonvolatile memory.

### Claim 10 (depends on 7)

The method of claim 7, wherein the nonvolatile memory is electrically erasable and programmable.

### Claim 11

In a computer system having a nonvolatile memory and an operating system, an apparatus of allowing the operating system to persist across a power off and on cycle, comprising:
(A) means for detecting if the computer system is to be powered off;
(B) means for preserving a state of the computer system by storing data representing the state of the computer system in a designated area of the nonvolatile memory when the means for detecting detects that the computer system is to be powered off;
(C) means for changing a system initialization code of the operating system to branch to a restore code such that when the computer system is again powered on, the restore code accesses the designated area of the nonvolatile memory for the data to restore the computer system to the state before the computer system was powered off.

### Claim 12 (depends on 11)

The apparatus of claim 11, wherein the means for changing further comprises:
(i) means for creating a new system initialization code of the operating system that branches to the restore code to access the designated area of the nonvolatile memory; and
(ii) means for storing the new system initialization code in a boot sector of a mass storage device of the computer system where the system initializing code is designated to be stored, and for storing the replaced system initialization code in the nonvolatile memory such that the operating system is not changed.

### Claim 13 (depends on 12)

The apparatus of claim 12, further comprising means for restoring the computer system to the state before the computer system is powered off by executing the new system initialization code to branch to the restore code that accesses the designated area of the nonvolatile memory for the data when the computer system is again powered on.

### Claim 14 (depends on 13)

The apparatus of claim 13, further comprising means for storing the system initialization code back into the boot sector of the mass storage device after the new system initialization code has been executed to obtain the data from the designated area of the nonvolatile memory.

### Claim 15 (depends on 11)

The apparatus of claim 11, wherein the nonvolatile memory is electrically erasable and programmable.
