Autonomous initialization of non-volatile random access memory in a computer system
First Claim
1. An apparatus comprising:
- a non-volatile random access memory (NVRAM) controller having a first interface to communicatively couple to a processor, the NVRAM controller having a second interface to communicatively couple to an NVRAM, the NVRAM being byte-rewritable and byte-erasable by the processor so that the NVRAM behaves as a system memory, the NVRAM to store thereon a memory interface table containing information for the NVRAM controller to autonomously initialize the NVRAM upon power-on of a computer system without interacting with the processor and firmware outside of the NVRAM, to thereby allow access to the NVRAM by the computer system, the memory interface table to contain a pointer to BIOS program code that is stored in the NVRAM, the apparatus further comprising a plurality of NVRAM controllers to manage the NVRAM, each of the NVRAM controllers to manage a respective portion of the NVRAM and wherein one of the NVRAM controllers is a boot agent to autonomously initialize the NVRAM, wherein the boot agent is to respond to a query from the computer system to identify itself as the boot agent.
1 Assignment
0 Petitions
Accused Products
Abstract
A non-volatile random access memory (NVRAM) is used in a computer system to store information that allows the NVRAM to autonomously initialize itself at power-on. The computer system includes a processor, an NVRAM controller coupled to the processor, and an NVRAM that comprises the NVRAM controller. The NVRAM is byte-rewritable and byte-erasable by the processor. The NVRAM stores a memory interface table containing information for the NVRAM controller to autonomously initialize the NVRAM upon power-on of the computer system without interacting with the processor and firmware outside of the NVRAM. The information is provided by the NVRAM controller to the processor to allow the processor to access the NVRAM.
-
Citations
21 Claims
-
1. An apparatus comprising:
a non-volatile random access memory (NVRAM) controller having a first interface to communicatively couple to a processor, the NVRAM controller having a second interface to communicatively couple to an NVRAM, the NVRAM being byte-rewritable and byte-erasable by the processor so that the NVRAM behaves as a system memory, the NVRAM to store thereon a memory interface table containing information for the NVRAM controller to autonomously initialize the NVRAM upon power-on of a computer system without interacting with the processor and firmware outside of the NVRAM, to thereby allow access to the NVRAM by the computer system, the memory interface table to contain a pointer to BIOS program code that is stored in the NVRAM, the apparatus further comprising a plurality of NVRAM controllers to manage the NVRAM, each of the NVRAM controllers to manage a respective portion of the NVRAM and wherein one of the NVRAM controllers is a boot agent to autonomously initialize the NVRAM, wherein the boot agent is to respond to a query from the computer system to identify itself as the boot agent. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
10. A method comprising:
-
receiving a power-on signal in a computer system, the computer system comprising a processor and a non-volatile random access memory (NVRAM) that is byte-rewritable and byte-erasable by the processor; reading, by an NVRAM controller coupled to the NVRAM, a memory interface table in the NVRAM; autonomously initializing, by the NVRAM controller, the NVRAM using information in the memory interface table upon power-on of the computer system without interacting with the processor and firmware outside of the NVRAM, the information being a pointer to BIOS program code within NVRAM; providing the information to the processor to allow the processor to access the BIOS program code within the NVRAM to boot up the computer system; accessing the NVRAM by the processor where the processor views the NVRAM as a system memory; wherein the NVRAM comprises a plurality of NVRAM controllers including the NVRAM controller, with each controller managing a portion of the NVRAM, the method further comprising; receiving, by the plurality of NVRAM controllers, a query from the computer system for a boot agent; and
,in response to the query, one of the plurality of the NVRAM controllers identifying itself as the boot agent. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A system comprising:
-
a processor in a computer system; a main power rail coupled to the processor; a standby power rail; a non-volatile random access memory (NVRAM) controller coupled to the processor; and an NVRAM coupled to the controller and coupled to both the main power rail and the standby power rail, the NVRAM being byte-rewritable and byte-erasable by the processor so that the NVRAM behaves as a system memory, the NVRAM having stored thereon a memory interface table containing information for the NVRAM controller to autonomously initialize the NVRAM when either the main power rail or the standby power rail turns on power without interacting with the processor and firmware outside of the NVRAM, to thereby allow access to the NVRAM by the computer system, the memory interface table to contain a pointer to BIOS program code that is stored in the NVRAM, the system further comprising a plurality of NVRAM controllers to manage the NVRAM, each of the NVRAM controllers to manage a respective portion of the NVRAM and wherein one of the NVRAM controllers is a boot agent to autonomously initialize the NVRAM, wherein the boot agent is to respond to a query from the computer system to identify itself as the boot agent. - View Dependent Claims (17, 18, 19, 20, 21)
-
Specification