(1) Field of the Invention
This invention relates generally to PC architecture and relates more specifically to main memory of a PC, wherein at least a part of a main memory comprises fast non-volatile RAM.
(2) Description of the Prior Art
BIOS refers, in part, to the firmware code (a type of boot loader) run by a PC when first powered on. The primary function of the BIOS is to identify and initialize system component hardware (such as the video display card, hard disk, and floppy disk) and some other hardware devices. This is to prepare the machine into a known low capability state, so other software programs stored on various media can be loaded, executed, and given control of the PC. This process is known as booting, or booting up, which is short for bootstrapping.
The I/O controller 5 controls e.g. IDE hard drives, USB I/O, Ethernet or other LAN connections and I/O for Audio support. The Super I/O controller 7 controls e.g. a serial port, an parallel port a floppy disk, a keyboard, and a mouse.
The low cost, high density volatile DRAM modules 3 are connected to the CPU 1 via the memory controller 2. DRAM modules are usually on a fast memory bus, such as Peripheral Component Interconnect (PCI), PClx or PCIe buses. The BIOS, typically around 2 MB, is usually implemented using slow flash memory 8 is on a slower I/O bus, such as ISA, EISA, etc. A small battery backed CMOS RAM 6 stores system configuration information.
Upon power up, the BIOS executes various power-on self tests (POST), identifies the system configuration, loads the device drivers and a portion of the Operating system into the main memory 3. The BIOS information is also shadowed in main memory 3 for faster operation.
A major disadvantage of the prior art implementations is that this power-up sequence can take tens of seconds, even minutes.
This relatively long sequence is received as a major problem by many computer users. It is a challenge for the designers of such systems to speed-up the power-up sequence of a PC.
There are patents or patent publications known dealing with deployment of memories in personal computers or motherboards.
U.S. patent (U.S. Pat. No. 5,999,476 to Dutton et al.) proposes a shared interface to a non-volatile memory including a first storage area for BIOS and a second storage area (e.g., for multimedia data) providing an integrated configuration which saves the cost and space of duplicating memory elements to support multiple data and program types in personal computers. The BIOS information is shadowed from the non-volatile memory to a second memory (e.g., a PC main memory). Thereafter, the BIOS information is accessed in the second memory and the information of the second storage area is accessed via the shared interface. The storage may be integrated upon personal computer system boards without a degradation in performance or an increase in pin count of the board memory because the same pins are used at different times for different memory portions. Accordingly, a storage system is provided to meet the demands of increasing storage requirements without a corresponding increase in cost, space or performance.
U.S. patent (U.S. Pat. No. 7,310,747 to Lauterbach et al.) discloses a system and method for diagnostics execution in which diagnostics code is stored in a designated partition on a removable nonvolatile memory device, such as a compact flash or a personal computer (PC) card that is interfaced with the motherboard of a file server system. The file server system firmware is programmed in such a manner that, upon receipt of a diagnostics command, a normal boot mechanism is interrupted, and a diagnostics boot is performed. The firmware is programmed to probe the removable nonvolatile memory device, and to load the diagnostics code contained thereon into main memory and to execute the diagnostics in response to an initiation by an operator's key sequence. In accordance with a further aspect of the invention, the data produced as a result of the diagnostics test sequence is captured and stored in a maintenance log in another partition on the compact flash that has been pre-assigned for that purpose. Such diagnostics log data can be readily retrieved at a later time. In addition, the diagnostics code may be updated without system downtime.
U.S. patent (U.S. Pat. No. 7,447,894 to Oshiba et al.) discloses a microcomputer capable of reducing a board area, enhancing the security, and improving the usability. A microcomputer to be used in a notebook PC is disclosed, in which programs of a keyboard/power management BIOS and a system BIOS are stored in a built-in flash memory ROM. In order to set read (R)/write (W) protect to the BIOSes stored in the flash memory ROM, a read/write protect setting register is provided, and at initial setting after the release of reset, flags of R/W permission, R permission/W prohibition, W permission/R prohibition, and R/W prohibition are set to this register by a central processing unit CPU. By doing so, it becomes possible to achieve protection such as the prevention of error writing of the BIOS and the like between a host machine and the flash memory ROM via a LPC bus.
A principal object of the present invention is to speed-up the power-on sequence of a PC.
A further object of the present invention is to use fast non-volatile memory modules at least for a part of a main memory.
A further object of the present invention is to store the BIOS and configuration data in non-volatile main memory.
Furthermore another object of the present invention is to store the system drivers in non-volatile main memory.
Another object of the present invention is to avoid shadowing Bios information from a flash memory to the main memory.
In accordance with the objects of this invention a method to accelerate a power-on sequence of a PC or a server has been achieved. The method invented comprises the steps of: (1) providing a memory controller and a main memory of the PC, (2) implementing said main memory using partly non-volatile RAM modules and partly volatile RAM modules; and (3) storing power-on self test codes in said non-volatile RAM modules.
In accordance with the objects of this invention a system a PC having an accelerated power-on sequence has been achieved. The PC comprises a CPU, a memory controller controlling a main memory, wherein the memory controller is connected to said CPU, and said main memory implemented using partly non-volatile RAM modules and partly volatile RAM modules, wherein the main memory is connected to said memory controller.
In the accompanying drawings forming a material part of this description, there is shown:
The preferred embodiments disclose a PC architecture using a non-volatile RAM, such as e.g. a magnetic random access memory (MRAM), at least as part of a main memory. This architecture applies for servers as well.
It should be understood that the characteristics of DRAM and MRAM could be slightly different, such as latency or recovery time of some operations, therefore the memory controller 20 should be adaptive to these differences.
In regard of supporting both DRAM and MRAM modules the access can be performed by different Chip (Rank) Select pins. Other buses (address and data) or control signals can be common.
It has to be understood that a battery backed CMOS configuration RAM 6, and a flash memory 8 for Basic Input/Output System (BIOS), shown in
Using fast non-volatile RAM, such as MRAM, having unlimited endurance, as part of the main memory as shown in
It has to be understood that, compared to prior art, the time consuming loading of device drivers and of parts of the Operating system into main memory is no more required with the present invention.
Presently MRAM modules cost more than DRAM modules, therefore it may not be practical to implement the entire main memory with MRAM modules, therefore preferably only a part of the main memory could be implemented with MRAM modules and the rest of the main memory could be implemented with DRAM modules. As MRAM technology matures the main memory could be totally implemented with MRAM modules at lower cost. For example all of the battery backed CMOS configuration parameters can be stored in MRAM as one of the first components to be moved from DRAM to MRAM.
In case only a part of the main memory is implemented using fast non-volatile RAMs one or more storing steps outlined above can be omitted.
While the invention has been particularly shown and described with reference to the preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made without departing from the spirit and scope of the invention.