# US 10,481,916 B2 · Computer device and memory startup method of computer device

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

- Number: US 10,481,916 B2
- Document ID: US10481916B2
- Status: Granted
- Kind: B2
- Application number: 15/443,452
- Filed: 2017-02-27
- Published: 2017-06-15
- Granted: 2019-11-19
- Earliest claimed: 2014-11-10
- Assignees: Huawei Technologies Co., Ltd.
- Applicants: Huawei Technologies Co., Ltd.
- Inventors: Jian He; Xiancai Li; Xiaoke Ni; Yimin Yao
- Web page: https://patentgrep.com/patent/US10481916B2

## CPC

- G06F 9/4406: {Loading of operating system}
- G06F 9/4401: Bootstrapping (security arrangements therefor G06F21/57)
- G06F 11/221: {to test buses, lines or interfaces, e.g. stuck-at or open line faults}
- G06F 11/2247: {Verification or detection of system hardware configuration}
- G06F 11/27: Built-in tests
- G11C 29/08: Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C 29/12: Built-in arrangements for testing, e.g. built-in self testing [BIST] {or interconnection details}
- G11C 29/14: Implementation of control logic, e.g. test mode decoders
- G06F 9/4411: {Configuring for operating with peripheral devices; Loading of device drivers}
- G11C 7/20: Memory cell initialisation circuits, e.g. when powering up or down, memory clear, latent image memory
- G11C 2029/0407: {on power on}
- G11C 2207/2254: Calibration
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G11C: STATIC STORES (semiconductor memory devices H10B)

## Abstract

A computer device and a memory startup method of a computer are provided, where a basic input/output system initializes only a first part of memory in a memory initialization phase after a computer is powered on and started, so that an operating system can be started, and after the operating system is started, the basic input/output system continues to initialize memory that is not initialized in the computer, so that, in a startup phase, the computer can start the operating system without needing to wait until all memory has been initialized; therefore, a time from being started to entering the operating system is reduced for the computer, and a user can quickly enter the operating system to perform an operation, thereby improving user experience.

## Claims

### Claim 1

A memory startup method of a computer comprising a memory with a basic input/output system (BIOS), an operating system (OS), a first memory part, and a second memory part, wherein the memory startup method comprises:
initializing, by the BIOS, the first memory part in a memory initialization phase to create an initialized first memory part when the computer is powered on and started, wherein the first memory part is a preset memory part, and wherein the initialized first memory part satisfies a memory requirement for startup of the OS;
initializing, by the BIOS, the second memory part other than the first memory part after the OS is started to create an initialized second memory part;
testing, by the BIOS, the initialized second memory part to create an initialized and tested second memory part;
notifying, by the BIOS, the OS of the initialized and tested second memory part to instruct the OS to detect the initialized and tested second memory part;
in response to the notification by the BIOS, further initializing, by the OS, the initialized and tested second memory part after completing startup of the OS to obtain a further initialized second memory part, wherein the OS does not retest the initialized and tested second memory part obtained by the BIOS prior to further initializing the initialized and tested second memory part, and wherein the further initialized second memory part is configured as available memory for use by the OS;
adding the further initialized second memory part to the available memory for use by the OS;
waiting for a preset time when a size of the further initialized second memory part does not satisfy a memory size required by a to-be-started process of the OS; and
starting, by the OS, the to-be-started process when the size of the further initialized second memory part satisfies a requirement of the to-be-started process of the OS.

### Claim 2 (depends on 1)

The memory startup method of claim 1, wherein further initializing, by the OS, the initialized second memory part comprises starting memory initialization of an OS phase in a manner of a kernel thread.

### Claim 3 (depends on 1)

The memory startup method of claim 1, wherein further initializing, by the OS, the initialized second memory part, comprises starting, memory initialization of an OS phase in a manner of a kernel driver.

### Claim 4 (depends on 1)

The memory startup method of claim 1, further comprising further initializing, by the OS, the first memory part of the memory after the OS is started.

### Claim 5 (depends on 1)

The memory startup method of claim 1, wherein a first size of the first memory part is set in a manner of a hardware signal, and wherein the manner of the hardware signal sets the first size of the first memory part according to an output level signal from hardware and a preset relationship between the output level signal and a second size of memory to be initialized.

### Claim 6 (depends on 1)

The memory startup method of claim 1, wherein a first size of the first memory part is set in a manner of a configuration file, wherein the manner of the configuration file is a configuration option to the BIOS, and wherein the first size of the first memory part is determined according to a received memory size that is input in the configuration option.

### Claim 7 (depends on 1)

The memory startup method of claim 1, wherein a first size of the first memory part is determined using a preset memory slot, and wherein a second size of memory that corresponds to a memory slot powered on in a startup phase of the BIOS is the first size of the first memory part.

### Claim 8 (depends on 1)

The memory startup method of claim 1, further comprising starting a process with a higher priority, wherein the size of the further initialized second memory part satisfies a memory requirement for startup of two or more processes.

### Claim 9 (depends on 1)

The memory startup method claim 1, wherein the OS of the computer is a LINUX OS, and wherein the memory startup method further comprises:
initializing, by the OS, the first memory part using a main function and a start_kernel function, wherein the OS detects, using the main function, the first memory part initialized by the BIOS, wherein the start_kernel function is used to initialize a memory management area; and
writing, by the OS, the first memory part into a global e820 table.

### Claim 10

A computer device, comprising
a memory comprising a first memory part, a second memory part, and instructions;
a processor coupled to the memory and running an operating system (OS); and
a basic input/output system (BIOS) coupled to the processor and the memory, wherein the BIOS is configured to:
initialize the first memory part in a memory initialization phase to create an initialized first memory part when the computer device is powered on and started, wherein the first memory part is a preset memory part, and wherein the initialized first memory part satisfies a memory requirement for startup of the OS;
initialize the second memory part other than the first memory part after the OS is started to create an initialized second memory part;
test, by the BIOS, the initialized second memory part to create an initialized and tested second memory part;
notify the OS of the initialized and tested second memory part to instruct the OS to detect the initialized and tested second memory part, wherein the OS is configured to:
in response to the notification by the BIOS, further initialize the initialized and tested second memory part after completing startup of the OS to create a further initialized second memory part, wherein the OS does not retest the initialized and tested second memory part created by the BIOS prior to further initialization of the initialized and tested second memory part, and wherein the further initialized second memory part is configured as available memory for use by the OS;
add the further initialized second memory part to the available memory for use by the OS;
wait for a preset time when a size of the further initialized second memory part does not satisfy a memory size required by a to-be-started process of the OS; and
start the to-be-started process of the OS when the size of the further initialized second memory part satisfies a requirement of the to-be-started process of the OS.

### Claim 11 (depends on 10)

The computer device of claim 10, wherein the OS is further configured to start memory initialization of an OS phase in a manner of a kernel thread.

### Claim 12 (depends on 10)

The computer device of claim 10, wherein the OS is further configured to start memory initialization of an OS phase in a manner of a kernel driver.

### Claim 13 (depends on 10)

The computer device of claim 10, wherein a first size of the first memory part is set in a manner of a hardware signal, and wherein the manner of the hardware signal sets the first size of the first memory part according to an output level signal from hardware and a preset relationship between the output level signal and a second size of the memory that is to be initialized.

### Claim 14 (depends on 10)

The computer device of claim 10, wherein a first size of the first memory part is set in a manner of a configuration file, and wherein the manner of the configuration file is a configuration option to the BIOS and the first size of the first memory part is determined according to a received memory size that is input in the configuration option.

### Claim 15 (depends on 10)

The computer device of claim 10, wherein a first size of the first memory part is determined using a preset memory slot, and wherein a second size of memory that corresponds to a memory slot powered on in a program startup phase of the BIOS is the first size of the first memory part of the memory.

### Claim 16 (depends on 10)

The computer device of claim 10, wherein the OS is further configured to start a process with a higher priority, and wherein a size of the further initialized second memory part satisfies a memory requirement for startup of two or more processes.

### Claim 17 (depends on 10)

The computer device of claim 10, wherein the OS is a LINUX OS, wherein the OS is configured to initialize the first memory part using a main function and a start_kernel function, wherein the start_kernel function is used to initialize a memory management area, and wherein the OS is configured to detect, using the main function, the first memory part initialized by a program of the BIOS.
