Method and apparatus providing an interface to allow physical memory to be initialized using firmware/hardware methods
AssigneeIntel Corporation
InventorFrank E. LeClerg
Life of this patent
Estimating the term…
Abstract
A system to initialize a memory device. An operating system executes an application program. A memory device has a plurality of memory addresses that hold data. A firmware device holds settings for the memory device and sends a completion signal to the operating system only after an initialization of the memory device has been completed in response to an initialization request being received from the operating system. A memory controller initializes a range of the memory addresses to a configurable value after receiving the initialization request from the firmware device, and sends the completion signal to the firmware device after the initialization is completed.
Claims21
An initialization system, comprising:
- a memory to hold data, wherein the memory has a plurality of memory addresses;
- an operating system to execute an application program, the operating system requesting a range of memory addresses to be initialized;
- a firmware device, to hold settings for the memory, and send a completion signal to the operating system after an initialization of the memory has been completed in response to an initialization request being received from the operating system;
- and
- a memory controller to initialize the range of the memory addresses to a configurable value after receiving the initialization request from the firmware device, and send the completion signal to the firmware device after the initialization is completed,
- wherein the firmware device is physically separate from the memory controller and the memory, and the memory is a Dynamic Random Access Memory (DRAM).
An initialization system, comprising:
- a memory to hold data, wherein the memory has a plurality of memory addresses;
- an operating system to execute an application program, the operating system requesting a range of memory addresses to initialized;
- a firmware device, to hold settings for the memory, and send a completion signal to the operating system after an initialization of the memory has been completed in response to an initialization request being received from the operating system;
- and
- a memory controller to initialize the range of the memory addresses to a configurable value after receiving the initialization request from the firmware device, and send the completion signal to the firmware device after the initialization is complete,
- wherein the firmware device is physically separated from the memory controller and the memory, and the memory is a Static Random Access Memory (SRAM).
An initialization system, comprising:
- a memory to hold data, wherein the memory has a plurality of memory addresses;
- an operating system to execute an application program, the operating system requesting a range of memory addresses to be initialized;
- a firmware device, to hold settings for the memory, and send a completion signal to the operating system after an initialization of the memory has been completed in response to an initialization request being received from the operating system;
- and
- a memory controller to initialize the range of the memory addresses to a configurable value after receiving the initialization request from the firmware device, and send the completion signal to the firmware device after the initialization is completed,
- wherein the firmware device is physically separate from the memory controller and the memory, and the settings include a memory address mapping.
A method to provide an interface to allow initialization, comprising:
- sending a request to a memory controller to initiate an initialization process for a range of memory addresses of a memory by a firmware device which is physically separate from the memory controller and the memory;
- acquiring settings of the memory by the firmware device;
- initializing the range of memory addresses to a configurable value;
- and
- sending a completion signal to an operating system from the firmware device only upon completion of the initialization process, in response to an initialization request being received from an application program executing within the operating system,
- wherein the settings include a memory address mapping.
A method to provide an interface to allow initialization, comprising:
- sending a request to a memory controller to initiate an initialization process for a range of memory addresses of a memory by a firmware device which is physically separate from the memory controller and the memory;
- acquiring settings of the memory by the firmware device;
- initializing the range of memory addresses to a configurable value;
- and
- sending a completion signal to an operating system from the firmware device only upon completion of the initialization process, in response to an initialization request being received from an application program executing within the operating system,
- wherein the memory is a Dynamic Random Access Memory (DRAM).
A method to provide an interface to allow initialization, comprising:
- sending a request to a memory controller to initiate an initialization process for a range of memory addresses of a memory by a firmware device which is physically separate from the memory controller and the memory;
- acquiring settings of the memory by the firmware device;
- initializing the range of memory addresses to a configurable value;
- and
- sending a completion signal to an operating system from the firmware device only upon completion of the initialization process, in response to an initialization request being received from an application program executing within the operating system,
- wherein the memory is a Static Random Access Memory (SRAM).
A machine code storage device, comprising:
- a machine-readable medium;
- and
- machine-readable code, stored on the machine-readable medium, having instructions, which when executed cause a machine to
- receive a request to initiate an initialization process for a range of memory addresses of a memory at a firmware device which is physically separate from a memory controller and the memory,
- acquire settings of the memory device by the firmware device,
- initialize the range of memory addresses to a configurable value, and
- send a completion signal to an operating system from the firmware device only upon completion of the initialization process, in response to an initialization request being received from an application program executing within the operating system,
- wherein the settings include a memory address mapping.
A machine code storage device, comprising:
- a machine-readable medium;
- and
- machine-readable code, stored on the machine-readable medium, having instructions, which when executed cause a machine to
- receive a request to initiate an initialization process for a range of memory addresses of a memory at a firmware device which is physically separate from a memory controller and the memory,
- acquire settings of the memory device by the firmware device,
- initialize the range of memory addresses to a configurable value, and send a completion signal to an operating system from the firmware device only upon completion of the initialization process, in response to an initialization request being received from an application program executing within the operating system,
- wherein the memory is a Dynamic Random Access Memory (DRAM).
A machine code storage device, comprising:
- a machine-readable medium;
- and
- machine-readable code, stored on the machine-readable medium, having instructions, which when executed cause a machine to
- receive a request to initiate an initialization process for a range of memory addresses of a memory at a firmware device which is physically separate from a memory controller and the memory,
- acquire settings of the memory device by the firmware device,
- initialize the range of memory addresses to a configurable value, and
- send a completion signal to an operating system from the firmware device only upon completion of the initialization process, in response to an initialization request being received from an application program executing within the operating system,
- wherein the memory is a Static Random Access Memory (SRAM).
An apparatus to provide an interface between an operating system and a memory, comprising:
- a firmware device, to hold settings for the memory, and send a completion signal to the operating system only after an initialization of the memory has been completed in response to an initialization request for a range of memory addresses being received from an application program executing within the operating system;
- and
- a memory controller to initialize the range of the memory addresses to a configurable value after receiving the initialization request from the firmware device, and send the completion signal to the firmware device after the initialization is completed, wherein the firmware device is physically separate from the memory controller and the memory,
- wherein the settings include a memory address mapping.
An apparatus to provide an interface between an operating system and a memory, comprising:
- a firmware device, to hold settings for the memory, and send a completion signal to the operating system only after an initialization of the memory has been completed in response to an initialization request for a range of memory addresses being received from an application program executing within the operating system;
- and
- a memory controller to initialize the range of the memory addresses to a configurable value after receiving the initialization request from the firmware device, and send the completion signal to the firmware device after the initialization is completed, wherein the firmware device is physically separate from the memory controller and the memory,
- wherein the memory is a Dynamic Random Access Memory (DRAM).
An apparatus to provide an interface between an operating system and a memory, comprising:
- a firmware device, to hold settings for the memory, and send a completion signal to the operating system only after an initialization of the memory has been completed in response to an initialization request for a range of memory addresses being received from an application program executing within the operating system;
- and
- a memory controller to initialize the range of the memory addresses to a configurable value after receiving the initialization request from the firmware device, and send the completion signal to the firmware device after the initialization is completed, wherein the firmware device is physically separate from the memory controller and the memory,
- wherein the memory is a Static Random Access Memory (SRAM).
Dependencies are inferred from the claim text.