1. Technical Field
Embodiments of the present disclosure relate to information processing technology, and particularly to a data recovering system and method.
2. Description of Related Art
A motherboard often includes a basic input output system (BIOS) chip. The BIOS chip may store specific data in a non-volatile random access memory (NVRAM) of the BIOS chip, for example, a universally unique identifier (UUID) of the motherboard or a serial number of components connected to the motherboard. A user can access the specific data from the BIOS chip to check the UUID of the motherboard. For example, the user enters a menu of the BIOS interface to see the specific number when powering up the motherboard. However, at present, the specific data may be deleted or modified when updating the BIOS chip. After the update is finished, the user needs to manually rewrite the specific data into the NVRAM of the BIOS chip. This is tedious and time consuming and thus, there is room for improvement in the art.
The disclosure is illustrated by way of examples and not by way of limitation in the figures of the accompanying drawings in which like references indicate similar elements. It should be noted that references to “an” or “one” embodiment in this disclosure are not necessarily to the same embodiment, and such references mean at least one.
In general, the word “module”, as used herein, refers to logic embodied in hardware or firmware, or to a collection of software instructions, written in a programming language, such as, Java, C, or assembly. One or more software instructions in the modules may be embedded in firmware, such as in an EPROM. The modules described herein may be implemented as either software and/or hardware modules and may be stored in any type of non-transitory computer-readable medium or other storage device. Some non-limiting examples of non-transitory computer-readable media include CDs, DVDs, BLU-RAY, flash memory, and hard disk drives.
The determination module 110 determines if the BIOS chip 10 is at a read-write state. In one embodiment, if the BIOS chip 10 is at a low-level voltage (e.g., less than 2.4 V), the BIOS chip 10 is at a read-only state, and the data stored in the BIOS chip 10 can only be read. If the BIOS chip 10 is at a high-level voltage (e.g., greater than 3.5V), and the BIOS chip 10 is at the read-write state. The motherboard 1 can read data from the BIOS chip 10 and write data into the BIOS chip 10 when the BIOS chip 10 is at the read-write state. For example, the motherboard 1 can update the BIOS chip 10 by writing a new version of a BIOS program into the BIOS chip 10. Additionally, the BIOS chip 10 stores an interrupt program (e.g., system management interrupt, SMI). The SMI is used to change voltage of the BIOS chip 10. For example, if the voltage of the BIOS chip 10 is greater than 3.5V, the BIOS chip 10 can invoke the SMI to change the voltage of the BIOS chip 10 to less than 2.4V.
The obtaining module 120 obtains a space from the memory 20 of the motherboard 1 and names the space. In one embodiment, the obtaining module 120 uses a pointer to point to an address of the memory 20, then the space is obtained from the memory 20. Additionally, the obtaining module 120 names the space using a predetermined number. The predetermined number is a globally unique identifier (GUID) number generated by a code application (e.g., GUIDGEN.EXE). Each GUID number is a unique number. The GUID number is burned into the BIOS chip 10 by the code application.
The saving module 130 saves specific data from the NVRAM 11 of the BIOS chip 10 into the space when an update of the BIOS chip begins. In one embodiment, the saving module 130 searches the memory 20 to find the space by the GUID number and saves the specific data into the space.
The reading module 140 reads the specific data from the space and saves the specific data into the NVRAM 11 when the update of the BIOS chip 10 is completed.
The changing module 150 changes the BIOS chip 10 to the read-only state. In one embodiment, the changing module 150 invokes the SMI to change the BIOS chip 10 to a read-only state. For example, the SMI changes the voltage of the BIOS chip 10 from greater than 3.5V to less than 2.4V, then the BIOS chip 10 changes to a read-only state.
In step S10, the determination module 110 determines if the BIOS chip 10 is at a read-write state. For example, if the BIOS chip 10 is at a high-level voltage (greater than 3.5V), and the data stored in the BIOS chip 10 can be read or modified, and a user even can use a tool (e.g., the motherboard 1) to write data into the BIOS chip 10. For example, the motherboard 1 can update the BIOS chip 10 by writing a new version of a BIOS program into the BIOS chip 10. Additionally, if the voltage of the BIOS chip 10 is greater than 3.5V, the motherboard 1 can invoke the SMI to change the voltage of the BIOS chip 10 to less than 2.4V.
In step S20, the obtaining module 120 obtains a space from the memory 20 of the motherboard 1 and names the space. In one embodiment, the space is obtained by a pointer which is pointed to the space of the memory 20. Additionally, the obtaining module 120 names the space using a GUID number.
In step S30, the saving module 130 saves specific data into the space. As mentioned above, the saving module 130 searches the memory 20 to find out the space by the GUID number and saves the specific data into the space.
In step S40, the reading module 140 reads the specific data from the space and saves the specific data into the NVRAM 11 when the update of the BIOS chip 10 is completed.
In step S50, the changing module 150 changes the BIOS chip 10 to a read-only state. For example, the SMI is invoked to change the voltage of the BIOS chip 10 from greater than 3.5V to less than 2.4V, then the BIOS chip 10 changes to a read-only state.
Although certain inventive embodiments of the present disclosure have been specifically described, the present disclosure is not to be construed as being limited thereto. Various changes or modifications may be made to the present disclosure without departing from the scope and spirit of the present disclosure.
Number | Date | Country | Kind |
---|---|---|---|
201110135253.6 | May 2011 | CN | national |