WO2015074235A1 - 一种内存数据的迁移方法、计算机和装置 - Google Patents

一种内存数据的迁移方法、计算机和装置 Download PDF

Info

Publication number
WO2015074235A1
WO2015074235A1 PCT/CN2013/087650 CN2013087650W WO2015074235A1 WO 2015074235 A1 WO2015074235 A1 WO 2015074235A1 CN 2013087650 W CN2013087650 W CN 2013087650W WO 2015074235 A1 WO2015074235 A1 WO 2015074235A1
Authority
WO
WIPO (PCT)
Prior art keywords
memory card
memory
data
source
processor
Prior art date
Application number
PCT/CN2013/087650
Other languages
English (en)
French (fr)
Inventor
杨丽萍
吕腾
孙红伟
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to ES13896846.6T priority Critical patent/ES2612829T3/es
Priority to ES16197467T priority patent/ES2727818T3/es
Priority to JP2016504454A priority patent/JP6064237B2/ja
Priority to PCT/CN2013/087650 priority patent/WO2015074235A1/zh
Priority to EP16197467.0A priority patent/EP3206127B1/en
Priority to EP13896846.6A priority patent/EP2913754B1/en
Priority to CN201380002306.4A priority patent/CN103827834B/zh
Priority to US14/709,444 priority patent/US9424146B2/en
Publication of WO2015074235A1 publication Critical patent/WO2015074235A1/zh
Priority to US15/217,608 priority patent/US10049010B2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/74Masking faults in memories by using spares or by reconfiguring using duplex memories, i.e. using dual copies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space

Definitions

  • the present invention relates to computer technology, and more particularly to a method, computer and apparatus for migrating memory data.
  • Memory also known as main memory, is one of the most important components in a computer.
  • the running of all programs in the computer is done in memory, so the performance of the memory has a huge impact on the computer.
  • Memory can be used to temporarily store operational data in the processor and data exchanged with external memory such as a hard disk.
  • the processor will transfer the data that needs to be calculated to the memory for calculation.
  • the processor will transmit the result, and the operation of the memory determines the stable operation of the computer.
  • the server supports more and more memory.
  • the latest Intel E7 V2 processor can support up to 2 memory boards in a single processor. Each memory board can support up to 12 memory modules in an 8P. The number of memory modules in the system can reach 192. However, the current failure rate in the system can be as high as 0.1%. Memory failures may not only cause unstable system operation, but may also cause system crashes.
  • the prior art cannot implement the migration of the memory data in the computer.
  • the data in the failed memory board or the faulty memory module cannot be migrated under the normal operation of the computer, so the fault memory cannot be online maintained. You can only replace the faulty memory board or the faulty memory module after powering off the computer.
  • the embodiment of the invention provides a method, a computer and a device for migrating memory data, which can realize the migration of memory data without the computer being powered off.
  • an embodiment of the present invention provides a computer, including
  • main memory configured to load an instruction stored in the basic input/output system and an instruction of an operating system of the computer, the main memory including one or more memory cards;
  • each memory card is configured with a corresponding memory controller
  • the processor is configured to execute an instruction of the operating system, and receive a first trigger instruction when executing an instruction of the operating system, and execute the basic input/output system according to the first trigger instruction
  • the migration instruction of the memory data the processor performs the following operations according to the migration instruction of the memory data of the basic input/output system: determining a source memory card of the memory data to be migrated; determining a backup memory card for the source memory card;
  • the memory controller of the source memory card performs the migration of the memory data;
  • the memory controller of the source memory card is configured to receive an indication of the processor, and migrate memory data of the source memory card to the backup memory card according to an instruction of the processor.
  • the processor is specifically configured to set the source memory card and the backup memory card to a mirror mode, and send the memory controller to the source memory card a data read command
  • the data read command is used to instruct the memory controller of the source memory card to read the memory data of the source memory card, and send a data write command to the memory controller of the source memory card
  • the data write command is used to instruct the memory controller of the source memory card to write the read data back to the source memory card
  • the memory controller of the source memory card is specifically configured to read according to the data of the processor
  • the instruction reads the memory data of the source memory card, receives the data write command sent by the processor, and reads the read according to a mirror mode between the source memory card and the backup memory card
  • the memory data of the source memory card is sent to the memory controller of the backup memory card; the memory controller of the backup memory card is configured to write the received memory data of the source memory card to the Back up the memory card.
  • the processor is specifically configured to obtain a split migration policy, and according to the split migration policy, the indication The memory controller of the source memory card divides the memory data multiple times.
  • the processor is specifically configured to perform the following operations a)-d) according to the split migration policy,
  • the memory data of the source memory card is all migrated to the backup memory card, and the operations a)-d) include: a) determining the amount of data to be migrated at a time, indicating that the memory controller of the source memory card will be the current time
  • the migrated data volume is migrated to the backup memory card, or the duration of the current migration is determined, and the memory controller of the source memory card is instructed to perform the migration of the memory data during the duration of the current migration;
  • the memory of the source memory card The controller is further configured to monitor the error data of the source memory card, if the number of the erroneous data exceeds a threshold, triggering the first triggering instruction; the processor is specifically configured to receive the memory of the source memory card The first trigger instruction triggered by the controller.
  • the operating system is further used a startup policy for configuring migration of the memory data, or a startup instruction for receiving migration of the memory data sent by the user, the operating system instructing the processor to generate the first trigger instruction according to the startup policy or the startup instruction.
  • an embodiment of the present invention provides a method for migrating memory data, which is used to migrate memory data in a computer, and the method includes:
  • the processor of the computer receives a first trigger instruction when executing an instruction of the operating system; the processor executes a migration instruction of the memory data of the basic input/output system according to the first trigger instruction; The processor performs the following operations according to the migration instruction of the memory data of the basic input/output system:
  • the method further includes: the processor setting the source memory card and the backup memory card to a mirror mode; the processor indicating the source memory
  • the memory controller of the card performs migration of the memory data, so that the memory controller of the source memory card reads the memory data of the source memory card according to the instruction of the processor, and reads the source memory card
  • the memory data is written to the backup memory card, including:
  • the processor sends a data read command to the memory controller of the source memory card, where the data read command is used to instruct the memory controller of the source memory card to read the memory data of the source memory card;
  • the memory controller of the memory card reads the memory data of the source memory card according to the data read instruction of the processor;
  • the processor sends a data write command to the memory controller of the source memory card, where the data write command is used to instruct the memory controller of the source memory card to write the read data back to the source memory card ;
  • the memory controller of the source memory card receives the data write command sent by the processor, and reads the source memory card according to a mirror mode between the source memory card and the backup memory card.
  • the memory data is sent to the memory controller of the backup memory card, so that the memory controller of the backup memory card writes the received memory data of the source memory card to the backup memory card.
  • the method further includes: the processor acquiring a split migration policy;
  • the split migration policy indicates that the memory controller of the source memory card performs the migration of the memory data multiple times.
  • the processor instructs a memory controller of the source memory card to perform memory data multiple times.
  • the migration includes: a) the processor determines the amount of data to be migrated at a time, and indicates that the memory controller of the source memory card migrates the data amount of the current migration to the backup memory card, or Determining, by the processor, a duration of the current migration, instructing the memory controller of the source memory card to perform migration of the memory data during the duration of the current migration; b) completing the memory controller in determining the source memory card
  • the processor exits the basic input/output system and executes an instruction of an operating system; c) the processor receives a second trigger instruction, the second trigger instruction is used to instruct the processor to return to execute a migration instruction of the memory data of the basic input/output system; d) the processor returns according to the migration instruction of the memory data of the basic input/output system Line steps a), until the source
  • the memory of the source memory card The controller monitors the error data of the source memory card, and if the number of the error data exceeds a threshold, the memory controller of the source memory card triggers the first trigger instruction; the processor receives the source The first trigger instruction triggered by a memory controller of the memory card.
  • the processor in the computer When the instruction of the operating system is executed, the method further includes: the operating system instruction instructing the processor to generate the first triggering instruction; and then the processor receiving the first triggering instruction generated by itself.
  • an embodiment of the present invention provides a basic input/output system, and the basic input and output
  • the out system includes computer execution instructions that, when executed by a processor of the computer, perform the following methods:
  • the processor further performs the following method according to the computer executing the instruction: setting the source memory card and the backup memory card to a mirror mode; and the memory controller indicating the source memory card performs And migrating the memory data, so that the memory controller of the source memory card reads the memory data of the source memory card according to the indication, and writes the read memory data of the source memory card to the backup Memory card, including:
  • the memory controller of the source memory card reads the memory data of the source memory card according to the data read command of the processor, and after receiving the data write command, according to the source memory card and the backup memory card
  • the mirror mode of the medium sends the read memory data of the source memory card to the memory controller of the backup memory card.
  • the processor further performs the following method according to the computer executing the instruction: acquiring a split migration policy;
  • the split migration policy indicates that the memory controller of the source memory card performs the migration of the memory data multiple times.
  • the processor indicates that the memory controller of the source memory card is divided into multiple times
  • Performing the migration of the in-memory data includes: determining the amount of data to be migrated, indicating that the memory controller of the source memory card migrates the amount of the data that is migrated to the backup memory card, or determining the current migration a duration indicating that the memory controller of the source memory card performs migration of the memory data during the duration of the current migration; after determining that the memory controller of the source memory card completes the current migration, exiting the basic Input and output system and execute the operating system's instruction memory card memory card.
  • the basic input/output system further includes: After the memory data of the source memory card is all migrated to the backup memory card, the target memory card pointed to by the system address of the source memory card is changed to the backup memory card.
  • the processor after receiving the first triggering instruction, the processor exits the operating system and executes a migration instruction of the memory data of the basic input/output system, and the migration instruction of the memory data of the basic input/output system causes the processing
  • the device can determine a source memory card of the memory data to be migrated, determine a backup memory card for the source memory card, and instruct the memory control of the source memory card to read the memory data of the source memory card and read the read
  • the memory data of the source memory card is written into the backup memory card, so that the memory data of the source memory card can be migrated, thereby realizing online maintenance of the faulty memory card without the computer being powered off, and solving the prior art. There is a need to power down the entire computer to replace or maintain the failed memory card.
  • FIG. 1 is a system block diagram of a computer according to an embodiment of the present invention.
  • FIG. 2 is a flowchart of a method for migrating memory data according to an embodiment of the present invention
  • FIG. 3 is a flowchart of still another method for migrating memory data according to an embodiment of the present invention
  • FIG. 4 is a flowchart of still another method for migrating memory data according to an embodiment of the present invention
  • FIG. 5 is a structural diagram of a device according to an embodiment of the present invention. detailed description
  • the embodiment of the invention provides a method, a computer and a device for migrating memory data, which can perform memory data migration under normal operation of the computer.
  • an example of a computer embodying an embodiment of the present invention may include a main memory 101, a memory controller 102, a processor 105, a Basic Input Output System (BIOS) 104, and a hard disk. (Figure 1 is not shown).
  • the main memory 101 includes at least one memory card. In FIG. 1, three memory cards are taken as an example, and the memory cards 101-A, 101-B, and 101-C are used.
  • the memory controller 102 is configured to control the main memory 101.
  • Each memory card of the main memory 101 can be configured with a corresponding memory controller 102, such as a memory controller 102-A of the memory card 101-A, and a memory.
  • the memory controller 102-B of the card 101-B, the memory control of the memory card 101-C is used as a storage medium for the memory, and the memory card may refer to a memory stick or a memory board, or a collection of multiple memory sticks or A collection of multiple memory boards.
  • Each memory card is configured with a corresponding memory controller.
  • the correspondence between the memory card and the memory controller may be one-to-one, or may be one-to-many or many-to-one.
  • FIG. 1 is only one of the embodiments of the present invention.
  • the main memory 101 can load an instruction in the BIOS 104 and an instruction of an operating system (OS) 103 of a computer stored in the hard disk when the computer is powered on.
  • the device 105 can execute instructions of the BIOS 104 or instructions of an operating system (OS) 103 of the computer, for example, the processor 105 can execute instructions of the BIOS 104 to initialize devices in the computer, and execute The instruction of the OS 103 reads and writes the memory card, wherein the processor 105 mainly refers to a CPU core portion, and may be a CPU core or multiple CPUs. In the embodiment of the present invention, the processor 105 is a collection of a plurality of CPU cores.
  • the BIOS 104 can be a processing chip in which a plurality of processing instructions are registered, and the processor 105 can execute the processing instructions.
  • the memory card migrated in the present embodiment is referred to as a source memory card in this embodiment.
  • the memory cards 101-A and 101-B may be source memory cards
  • the memory card 101-C is a backup memory card configured in the embodiment of the present invention.
  • the computer specifies a backup memory card 101-C as an example. In fact, multiple backup memory cards can be specified for the computer.
  • the purpose of the migration of the memory data in the embodiment of the present invention is to enable the backup memory card to obtain the memory data in the source memory card.
  • the copying, copying, or relocation of the memory data may be adopted.
  • the above various specific implementation manners are in the category of "migration" in the embodiment of the present invention.
  • the BIOS 104 may be modified, for example, by registering a new memory data migration instruction in the BIOS 104, so that the processor executes the memory data migration instruction of the BIOS 104 to implement the migration of the memory data.
  • the processor 105 is configured to receive a trigger instruction for memory data migration when executing an instruction of the OS 103, exit the OS 103 according to the trigger instruction of the memory data migration, and execute a migration instruction of the memory data of the BIOS 104, where the BIOS 104
  • the migration instruction of the memory data causes the processor to perform the following operations: determining a source memory card of the memory data to be migrated, for example, the source memory card 101-A, and determining a backup memory card for the source memory card, for example, the backup memory
  • the card 101-C, and the memory controller 102-A indicating the source memory card, perform the migration of the memory data.
  • the memory controller 102-A of the source memory card is configured to receive an indication of the processor, read the memory data of the source memory card 101-A according to the instruction of the processor, and read the read
  • the memory data of the source memory card 101-A is written to the backup memory card, and the source memory card 101-A is implemented.
  • the data is migrated to the backup memory card 101-C.
  • the processor 105 may receive the triggering instruction of the memory data migration when the instruction of the OS is running, exit the OS 103 according to the triggering instruction of the memory data migration, and execute the migration instruction of the memory data of the BIOS 104.
  • the data of the source memory card 101-A is written into the backup memory card 101-C, and the memory data of the source memory card 101-A can be migrated without powering off the computer, thereby realizing
  • the online maintenance of the faulty memory card solves the problem in the prior art that the entire computer needs to be powered off to replace or maintain the faulty memory card.
  • the processor executes the BIOS instruction to complete the migration of the memory data, the data of the memory card where the OS kernel module is located can be migrated, thereby avoiding the problem that the OS kernel module data cannot be migrated through the OS operation. .
  • the backup memory card serves as a target device of the memory data to be migrated, and has certain differences from other memory cards in the computer, for example, in the memory data.
  • the OS 103 is invisible to the OS 103 before the migration is completed, that is, the OS 103 cannot perform read and write operations on the OS 103; the processor 105 can perform an instruction of the BIOS 104 to perform special initialization on the backup memory card 101-C, so that the backup memory card 101 is -C is ready and can be used normally, but the initialization process avoids assigning a system address to the backup memory card 101-C, thereby making the OS 103 unable to perform any read and write operations on the backup memory card 101-C.
  • This ensures that the memory data of the source memory card is completely migrated to the backup card, ensuring that the migrated data will not be overwritten by other data during the migration process, and the migrated memory data is damaged.
  • Configuring the backup memory card may include:
  • the identifier of the backup memory card is recorded on a storage module of the computer through the OS 103, for example, recorded in an advanced configuration and an electrical fault management interface (Advanced Configuration and Power Management Interface, ACPI) ⁇ l table, the ACPI
  • ACPI Advanced Configuration and Power Management Interface
  • the list is a collection of information tables in which the OS 103 interacts with the BIOS 104. Both the OS 103 and the BIOS 104 can perform a query operation.
  • the memory card is already stored in the computer as a backup memory card;
  • the backup memory card is not inserted into the hardware slot, but the slot number of the hardware slot to be inserted by the backup memory card is specified, and the specified slot number is recorded as the identifier of the backup memory card.
  • the identifier of the backup memory card is specified and recorded, and the processor 105 can then query the storage module used to record the backup memory card, such as an ACPI list, to determine the backup memory card.
  • the backup memory card can be specially initialized so that the backup memory card is ready, and the computer can write the memory data of the source memory card to the backup memory card.
  • Initializing the backup memory card requires that the memory card has been inserted into the hardware slot. In fact, when you insert the backup memory card into the hardware slot, you can be very flexible. You can insert it before specifying the backup memory card, or you can specify the backup. After the memory card, and any time before the migration of the memory data is performed. Specifically, the initialized scene can be divided into two types.
  • the special initialization of the backup memory card refers to configuring the backup memory card so that the backup memory card is ready and can be used normally, but is invisible to the OS 103; the initialization process includes normal initialization.
  • the initialization of the backup memory card may include powering the backup memory card, configuring related performance parameters, and configuring the backup memory.
  • the communication connection between the card and the processor in the computer detects whether the backup memory card can perform normal read and write operations and the like.
  • the backup memory card is initialized, the system address is not allocated to the backup memory card, so that the OS 103 cannot obtain the system address of the backup memory card, and cannot
  • the backup memory card performs any read and write operations, that is, the backup memory card is not ready for the OS, but the OS cannot use the backup memory card. Trigger on memory data migration
  • the startup of the migration of the memory data is triggered and started according to the fault condition of the source memory card or the user's requirement, that is, after the computer is powered on, the instruction of the OS 103 is normally executed, according to the received
  • the triggering instruction of the memory data migration is switched to the BIOS 104 and executes the instructions of the BIOS 104 to implement the migration of the memory data.
  • the processor 105 receives the triggering instruction of the memory data migration, the memory data is migrated and moved, and the fixed source memory card does not need to be specified in advance, and the source is not required to be configured in advance.
  • the mirroring relationship between the memory card and the backup memory card Therefore, the embodiment of the present invention is directed to triggering the migration of the memory data by the source memory card, that is, ensuring timely processing of the fault, saving the resources of the computer, and ensuring the high computer. effectiveness.
  • the triggering instruction of the memory data migration in the embodiment of the present invention is used to instruct the processor 105 to exit the OS 103 and execute the migration instruction of the memory data of the BIOS 104 to implement the migration of the memory data.
  • the embodiment of the present invention may implement a single migration of the memory data, and may also implement multiple migration of the memory data. Therefore, in the embodiment of the present invention, the triggering instruction of the memory data migration may include the first triggering instruction and the second triggering instruction, and The triggering instruction for initiating the memory data migration of the first migration of the memory data is referred to as a first triggering instruction, and the triggering instruction for the memory data migration that triggers the subsequent migration of the memory data is referred to as a second triggering instruction.
  • the triggering of the first triggering instruction may be relatively flexible.
  • the first triggering instruction may be triggered by the processor 105 according to an instruction of the OS 103, and may also be triggered by the memory controller 102-A of the source memory card.
  • a trigger instruction specifically, for example:
  • the memory controllers 102-A and 102-B of the source memory card can also monitor the error data of the source memory cards 101-A and 101-B respectively, if the source memory card 101-A or 101-B is incorrect
  • the data exceeds the threshold, and the corresponding memory controller can trigger the first trigger instruction, for example, source memory
  • the memory controller 102-A triggers the first trigger instruction;
  • the processor 105 may receive the first trigger triggered by the memory controller 102-A of the source memory card
  • the instruction exits the OS 103 and executes a migration instruction of the memory data of the BIOS 104.
  • the first triggering instruction may be a System Management Interrupt (SMI).
  • SI System Management Interrupt
  • the first triggering instruction may be directly generated by the OS according to a startup instruction of the migration of the memory data sent by the user, or may be generated by the OS according to the migration of the memory data preset by the user in the OS. Start the strategy to generate. For example, the user directly sends an instruction to the OS, and the OS instructs the processor to generate the first trigger instruction according to the instruction of the user, or the startup strategy of starting the migration of the memory data according to the time or the running state of the processor configured by the user in advance in the OS. And when the startup policy is met, the OS instructs the processor to generate the first trigger instruction.
  • the processor 105 can receive the first trigger instruction triggered by itself, exit the OS 103, and execute a migration instruction of the memory data of the BIOS 104.
  • the migration of the memory data is performed multiple times. Since the processor 105 executes the instruction of the BIOS 104 to perform the migration of the memory data during the process of performing the memory data migration, the instruction of the OS 103 cannot be executed for the processing of the service for a long time, which affects The normal operation of the computer causes other service processing to be in a suspended state for a long time and affects the user's experience. Therefore, the processor 105 can perform the migration of the memory data in multiple times, for example, after completing the memory data migration, the processing.
  • the device 105 can exit the BIOS 104, execute the instructions of the OS 103, perform normal service processing, and then exit the OS 103 when the next memory data migration is performed, and perform the migration of the memory data of the BIOS 104 again. Instructions to continue the migration of memory data. This way of migrating the memory data multiple times allows the processor to alternately execute the instructions of the OS 103 and the BIOS 104, and finally completes the migration of the memory data, thereby avoiding the long interruption of the system service and ensuring the normal operation of the system.
  • the migration instruction of the memory data of the BIOS 104 may be further improved, so that the processor 105 executes the BIOS 104.
  • the split migration policy may be obtained, and the memory controller 102-A of the source memory card is instructed to perform the migration of the memory data multiple times according to the split migration policy, and the split migration policy may be Configuring by the user, for example, the user can specify the amount of data to be migrated each time or the length of each migration according to requirements.
  • the processor 105 executes the migration instruction of the memory data of the BIOS 104, the migration may be performed according to the specified each migration.
  • the amount of data or the duration of each migration perform the following operations a)-d) until all the memory data of the source memory card 101-A is migrated to the backup memory card 101-C, the operation a) - d) comprising: a) determining the amount of data to be migrated according to the amount of data specified for each migration, indicating that the memory controller 102-A of the source memory card will migrate the current The memory controller 102-A indicating that the source memory card is migrated during the time of the current migration, or according to the operating state of the processor, indicating the location The memory controller 102-A of the source memory card performs memory data migration during a period in which the operating state of the processor is idle, wherein the operating state of the processor is idle state, and the processor occupancy rate is less than the setting. Threshold value
  • the second triggering instruction is used to instruct the processor to return an instruction to execute the BIOS 104 to continue the migration of the memory data;
  • the processor 105 realizes that the data of the source memory card 101-A is migrated to the backup memory card 101-C in multiple times by the above operations a) -d).
  • the second triggering instruction may be triggered by the processor 105 according to the instruction of the OS 103, or may be triggered according to a trigger condition of the pre-configured second triggering instruction, for example,
  • the triggering condition of the second triggering instruction is configured in the migration policy, and the triggering condition of the second triggering instruction may include an interval duration of each migration or an operating state of the processor, and the processor 105 may Configuring a memory migration timer to enable the memory migration timer to trigger the second triggering instruction according to the interval duration of each migration, for example, the memory migration timer may be configured on a computer.
  • the second triggering instruction is triggered according to its own running state. For example, the processor 105 triggers the second triggering instruction when the running state of the processor is idle.
  • the processor 105 may, according to the split migration policy, instruct the memory controller 102-A of the source memory card to migrate the memory data of the source memory card to the The memory card is backed up, so that during the process of performing the memory data migration, the processor can exit the OS 103 to execute the migration instruction of the memory data of the BIOS 104 according to the requirement, or exit the BIOS 104 to execute the instruction of the OS 103 to perform the service processing, so that the The business of the computer can be processed in time to avoid long-term interruption of the computer business caused by a large amount of memory data migration, thereby ensuring the normal operation of the computer.
  • the processor 105 may further set the source memory card and the backup memory card to a mirror mode before the migration of the memory data, so that the memory control 102-A of the source memory card may be according to the processor.
  • the indication of 105 and the mirroring mode write memory data of the source memory card to the backup memory card.
  • the memory controller of the source memory card may be The identifier of the backup memory card is configured in 102-A, and the identifier of the source memory card is configured in the memory controller 109 of the backup memory card, so that the source memory card 101-A and the backup memory card are Set to mirror mode between 101-C.
  • the setting of the mirroring mode further includes the operation of establishing a data transmission channel between the source memory card 101-A and the backup memory card 101-C, and the specific implementation is not described herein.
  • the processor 104 may further send a data read command to the memory controller of the source memory card according to an instruction of the BIOS 104, where the data read command is used to indicate the source memory.
  • the memory controller 102-A of the card reads the data of the source memory card 101-A, and after receiving the response message of the data read command sent by the memory controller 102-A of the source memory card, The memory controller 102-A of the source memory card sends a data write command, and the data write command is used to instruct the memory controller 102-A of the source memory card to write the read data back to the source memory card. 101-A.
  • the memory controller 102-A of the source memory card can read the data of the source memory card 101-A according to the data read command sent by the processor 105, and write the command according to the data sent by the processor 105. Writing the read data back to the source memory card 101-A, and the identifier of the backup memory card configured in the memory controller 102-A of the source memory card, and the read data Writing to the memory controller 102-C of the backup memory card, the memory controller 102-C of the backup memory card writes the received data into the backup memory card 101-C, thereby implementing the source memory The data of the card 101-A is migrated to the backup memory card 101-C.
  • the processor 105 can migrate all data of the source memory card 101-A to the backup memory card 101-C, ensuring complete migration of the memory data. Moreover, since the source memory card and the backup memory card are set to the mirror mode, when the BIOS executes the OS command, any write operation of the OS to the source memory card is simultaneously written to the backup memory card, thereby ensuring the backup. The accuracy of the memory data that has been migrated on the memory card.
  • the processor may further instruct the memory controller 102-A of the source memory card to determine the non-in the source memory card 101-A when performing the migration of the memory data of the BIOS 104. Error data, and marking the detection result according to the detection result, for example, acquiring information of the non-error data determined by the memory controller 102-A of the source memory card, thereby The error detection flag indicates that the memory controller 102-A of the source memory card migrates the non-error data to avoid migrating the error data in the source memory card 101-A to the backup memory card 101-C. A possible computer restart may occur or the backup memory card 101-C may be malfunctioning. About migration conditions
  • the processor 105 can check whether the backup memory card 101-C meets the migration condition, that is, whether the data can be migrated as the source memory card 101-A before performing the memory data migration.
  • the target device of the data avoids data migration failure due to the fact that the backup memory card 101-C is not initialized or the memory capacity is insufficient.
  • the processor executes the migration instruction of the memory data of the BIOS 104, the following operations may also be performed: the memory controller 1012-A indicating the source memory card will use the source memory card 101-A Before the data is migrated to the backup memory card 101-C, it is determined whether the backup memory card 101-C completes initialization, and if the backup memory card 101-C completes initialization, the source memory card 101-A and the The backup memory card 101-C is set to the mirror mode for subsequent migration of the memory data;
  • the processor 105 executes the migration instruction of the memory data of the BIOS 104, it may also be determined whether the memory capacity of the backup memory card 101-C is greater than the memory capacity of the source memory card 101-A, if the backup The memory capacity of the memory card 101-C is greater than the memory capacity of the source memory card 101-A, and it is determined that the migration condition is met, and the memory data of the source memory card 101-A may be subsequently migrated to the backup memory. Card 101-C.
  • the processor 105 executes the migration instruction of the memory data of the BIOS 104, it may also be determined whether the source memory card 101-A and the backup memory card 101-C belong to the same processor control, if not, Indicates that data of the source memory card 101-A can be migrated to the backup memory card 101-C, thereby setting the source memory card 106 and the backup memory card 107 to a mirror mode for subsequent memory data. migrate. About the replacement of the memory card and the source memory card after the memory data migration is completed After the memory controller 102-A of the source memory card migrates the data of the source memory card 101-A to the backup memory card 101-C, the processor 105 executes the memory data of the BIOS 104.
  • the mapping relationship between the system address of the source memory card 101-A and the backup memory card 101-C may be established, and the target memory card pointed to by the system address of the source memory card is changed to the The memory card is backed up, so that the backup memory card 101-C can replace the source memory card 101-A, and take over all read and write operations of the source memory card 101-A by the OS 103.
  • the processor 105 can also perform a power-off operation on the source memory card 101-A, so that the computer can be powered off. Removing or replacing the source memory card 101-A solves the problem in the prior art that the entire computer needs to be powered down to replace or maintain the faulty memory card.
  • an embodiment of the present invention provides a memory data migration method for migrating memory data in a computer, where the basic input/output system of the computer stores a memory data migration instruction, as shown in the figure. As shown in 2, the method includes:
  • the processor of the computer receives the first trigger instruction when executing the instruction of the OS.
  • the first triggering command may be triggered by the memory controller of the source memory card according to the fault condition of the source memory card. For example, the memory controller of the source memory card monitors that a source memory card has multiple errors and has reached a preset threshold.
  • the first triggering instruction may be triggered to instruct the processor to initiate migration of the memory data to the source memory card that has multiple errors; the first triggering instruction may further trigger, by the OS, the processor to trigger the first according to the indication of the user.
  • the triggering instruction for example, when the user has a migration requirement, may actively send a startup instruction to the OS, and the OS instructs the processor to trigger the first triggering instruction according to the startup instruction, and for example, the user may preset a startup policy in the OS, when When the startup strategy is satisfied, the trigger processor triggers the first trigger instruction.
  • S202 The processor executes a migration instruction of the memory data of the BIOS according to the first trigger instruction. After acquiring the first triggering instruction, the processor exits the operating system and executes a migration instruction of the memory data of the BIOS, and the migration instruction of the memory data of the BIOS causes the processor to perform steps S203-S205.
  • the processor determines, according to the migration instruction of the memory data of the BIOS, a source memory card of the memory data to be migrated.
  • the processor determines, according to the migration instruction of the memory data of the BIOS, a backup memory card for the source memory card.
  • the processor may determine a target memory card of the source memory card.
  • the target memory card is a backup memory card.
  • the backup memory card can be pre-configured.
  • S205 The processor instructs the memory controller of the source memory card to perform memory data migration according to the migration instruction of the memory data of the BIOS, so that the memory controller of the source memory card is configured according to the processor. Instructing to migrate memory data of the source memory card to the backup memory card.
  • the processor may instruct the memory controller of the source memory card to read the memory of the source memory card according to the migration instruction of the memory data of the BIOS. Data, the read data is written to the backup memory card, so that the memory data of the source memory card is migrated to the backup memory card.
  • the processor may receive the first trigger instruction, exit the operating system according to the first trigger instruction, and execute a migration instruction of the BIOS data, and the memory data migration instruction of the BIOS And causing the processor to determine a source memory card determining the memory data to be migrated and a backup memory card of the source memory card, and a memory controller indicating the source memory card to write the memory data of the source memory card into the The memory card is backed up, so that the memory data of the source memory card can be migrated when the computer is not powered off, and the online maintenance of the faulty memory card is realized, which solves the problem that the entire computer needs to be powered off in the prior art. Problems with replacement or maintenance of the failed memory card.
  • the processor since the processor executes the BIOS instruction to complete the migration of the memory data, the data of the memory card where the OS kernel module is located can be migrated, thereby avoiding the inability to migrate the OS kernel module data. The problem of moving.
  • the embodiment of the present invention provides a method for migrating memory data, as shown in FIG. 3, for migrating memory data in a computer, where the BIOS of the computer stores a migration instruction of the memory data.
  • the memory data of the source memory card may be migrated to the backup memory card
  • the source memory card may be a memory card 101-A
  • the backup memory card may be a memory card 101-C
  • the memory card 101-C may be It is a memory card that has been inserted into the hardware slot before the computer is turned on. It can also be a temporarily added memory card.
  • the identifier of the memory card 101-C is configured in the ACPI list and before the migration is performed.
  • the method for migrating the memory data in the embodiment of the present invention may include:
  • S301 The processor acquires the identifier of the designated backup memory card according to the instruction of the BIOS and configures it into the ACPI list.
  • the processor executes the BIOS instruction, and may present a BIOS start menu for the user, and the user configures the identifier of the designated backup memory card through the BIOS start menu, and the processor may obtain the user.
  • the identifier of the configured backup memory card is recorded in the ACPI.
  • the processor may also record the identifier of the backup memory card in another storage unit or list, and the processor may subsequently obtain the recorded backup memory.
  • the identifier of the card is not limited, and the embodiment of the present invention is not limited herein.
  • the identifier of the backup memory card may be a slot number of a slot in which the backup memory card is inserted or a number related to the slot.
  • the backup memory card may be inserted into the slot before the computer is booted, or may be inserted into the slot after the computer is booted, if the backup memory card is inserted.
  • the identifier of the backup memory card is the slot number of the slot inserted in the current slot. If the backup memory card has not been inserted into the slot, The identifier of the backup memory card may be a slot number of a slot specified by the user, and the backup memory card may be directly inserted into the slot specified by the user.
  • Step 301 is an optional step.
  • the user does not have to provide the identifier of the backup memory card to the processor when the computer is powered on, and may also provide the identifier of the backup memory card to the processor after the computer is booted.
  • the processor executes an instruction of the OS, and the user can provide the identifier of the backup memory card to the processor through the OS.
  • the processor initializes the backup memory card according to an instruction of the BIOS, and the initialization process avoids allocating a system address to the backup memory card.
  • the computer may be restarted, and the BIOS instruction is executed to perform special initialization on the backup memory card, that is, the initialization process is avoided as the backup memory card.
  • the system address is assigned such that the backup memory card is ready, but not visible to the OS.
  • the processor when the computer is restarted, the processor will execute an initialization instruction of the BIOS, and the initialization instruction of the BIOS may cause the processor to determine whether the backup memory card has been inserted into the slot. If it is determined that the backup memory card has hardware, the backup memory card may be initialized.
  • this step is an optional step.
  • the processor may also initialize the backup memory card without restarting the computer, but when the backup memory card needs to be used subsequently, for example, before migration, When the backup memory card is not initialized, the backup memory card is initialized.
  • the memory controller of the source memory card monitors the error data of the source memory card, determines whether the error data exceeds a threshold, and if the error data exceeds a threshold, the memory controller of the source memory card triggers A trigger instruction.
  • the processor may execute the BIOS instruction to the source memory.
  • the memory controller of the card is configured to be within the source
  • the memory controller of the memory card can monitor the error data of the source memory card, and when the error data of the source memory card exceeds a threshold, triggering the first trigger instruction, where the first trigger instruction is used to indicate processing
  • the device exits the OS and executes a memory data migration instruction of the BIOS to initiate migration of the memory data, wherein the threshold may be configured by the processor to the memory controller of the source memory card when the computer is powered on, so that the source memory
  • the memory controller of the card can count the error data in the source memory card after booting, and perform real-time monitoring on the source memory card.
  • the error data of each source memory card may be monitored, and when the error data of any one of the source memory cards is monitored to exceed the threshold, the first trigger instruction is triggered. , instructs the BIOS to initiate a memory data migration of the memory card.
  • the triggering of the first triggering instruction by the memory controller of the source memory card may be triggered by a computer system management interrupt SMI, and the processor enters the SMI interrupt triggered by the memory controller of the source memory card, and then enters System Management (SM) mode, at which point the processor will exit the OS and execute the BIOS instructions.
  • SMI computer system management interrupt
  • SM System Management
  • the source memory card in the computer can be monitored, and the processor can trigger the first trigger instruction on the faulty source memory card to perform memory data migration, thereby ensuring timely resolution of the fault. And the memory data migration is performed only when the source memory card fails, saving system resources.
  • the memory controller of the source memory card may record, in its own register, that the number of error data of the source memory card exceeds a threshold, so as to subsequently instruct the processor to determine the faulty memory card, that is, the source memory card.
  • S304 The processor acquires the first trigger instruction, and according to the first trigger instruction, exits an operating system and executes a migration instruction of a memory data of the BIOS.
  • the processor After receiving the SMI interrupt, the processor enters a system management mode, at which time the processor exits the OS and executes a migration instruction of the BIOS data, and the memory data migration instruction may cause the processor to perform the step S 305 - Step S 312.
  • the processor queries the source according to a migration instruction of the BIOS memory data.
  • the memory controller of the memory card determines the source memory card.
  • the processor After the booting of the memory data, the processor needs to determine the memory card of the data to be migrated, that is, the source memory card, and the processor may execute the migration instruction of the memory data of the BIOS to determine to trigger the first trigger instruction.
  • the memory card corresponding to the source memory controller is a source memory card, for example, querying a register of a memory controller in the computer, and determining the source memory by using information recorded in a register of a memory controller of the source memory card card.
  • the processor may further record the identifier of the source memory card into the ACPI list, so that the source memory card may be acquired by reading the ACPI list. Information.
  • the processor queries the information according to a migration instruction of the BIOS data of the BIOS.
  • the ACPI list determines the identity of the backup memory card.
  • the identifier of the backup memory card may be one, and may also be multiple. If the identifiers of the backup memory cards are multiple, the processor may obtain identifiers of the multiple backup memory cards from the ACPI list.
  • an identifier of the backup memory card as an identifier of the backup memory card, for example, according to a memory capacity of the source memory card, from the multiple backups Selecting, by the memory card, a memory card having a memory capacity greater than a memory capacity of the source memory card, determining an identifier of the memory card as an identifier of the backup memory card, and, for example, processing the source memory card according to the source memory card And selecting, from the plurality of backup memory cards, a memory card that is not controlled by the same processor as the source memory card, and determining an identifier of the memory card as an identifier of the backup memory card.
  • the processor determines, according to the migration instruction of the memory data of the BIOS, whether the backup memory card meets a migration condition.
  • the processor Before performing the migration of the memory data of the source memory card, the processor needs to determine whether the backup memory card meets the migration condition, and if the migration condition is met, the memory data is migrated to the source memory card to ensure that the memory data is migrated. Memory data migration goes smoothly, avoiding due to the backup memory Data migration failed due to insufficient memory capacity of the card.
  • the determining whether the backup memory card meets the migration condition may be: determining whether the backup memory card is initialized, and if the backup memory card is initialized, indicating that the backup memory card is ready to meet the migration condition. If the step S302 is not performed before the step is performed, that is, if the backup memory card is not initialized, the processor may execute an initialization command of the BISO at this time, and perform special processing on the backup memory card. Initialization, so that the backup memory card is ready to meet the migration conditions.
  • determining whether the backup memory card meets the migration condition may be: determining whether a memory capacity of the backup memory card is greater than a memory capacity of the source memory card, and if it is greater than a memory capacity of the source memory card, indicating that Migrating the memory data of the source memory card to the backup memory card, where the backup memory board meets a migration condition; or
  • the processor instructs the memory controller of the source memory card to perform a memory patrol operation to determine the source memory according to the migration instruction of the memory data of the BIOS. Non-error data in the card.
  • the processor may instruct the memory controller of the source memory card to perform a memory patrol operation to determine non-error data in the source memory card, and mark the detection result according to the detection result, so that When the memory data of the source memory card is subsequently migrated to the backup memory card, only the non-error data in the source memory card can be migrated according to the error detection flag, thereby avoiding migrating the error data to the backup memory. Problems caused by the computer restart caused by the card.
  • the memory controller of the source memory card is configured to start a memory patrol operation according to the instruction of the processor, where the memory patrol operation may be, according to a set error detection mechanism, the source memory card
  • the memory data is detected to determine which data in the source memory card is erroneous data, and the system address of the erroneous data is marked, that is, the detection flag is marked according to the detection result, so that the subsequent When the row memory data is migrated, the processor is capable of migrating non-error data in the source memory card according to the system address of the erroneous data marked.
  • the memory controller of the source memory card may configure its own register after performing the patrol operation, and the processor may query the register to determine whether the patrol operation is completed, when the patrol operation is performed. After the completion, the processor may perform step 309, that is, setting the source memory card and the backup memory card to a mirror mode for performing migration of the memory data.
  • This step is an optional step, and the processor does not necessarily instruct the source memory controller to perform a memory patrol operation.
  • the processor sets the source memory card and the backup memory card to a mirror mode according to a migration instruction of the BIOS data.
  • the processor may set the source memory card and the backup memory card to a mirror mode, and after the mirror mode is set, the memory control of the source memory card can be according to the An indication of the processor writes the memory data of the source memory card to the backup memory card.
  • the identifier of the backup memory card may be configured in a memory controller of the source memory card, and the memory of the backup memory card is controlled. Configuring an identifier of the source memory card to set a mirror mode between the source memory card and the backup memory card, so that the source memory card can be the source according to an indication of the processor.
  • the memory data of the memory card is sent to the memory controller of the backup memory card, so that the memory controller of the backup memory card writes the memory data of the source memory card to the backup memory card.
  • setting the source memory card and the backup memory card to the mirroring mode may further include: the processor copying address configuration information of the memory controller of the source memory card to a memory control of the backup memory card And causing the backup memory card to allocate a system address to the backup memory card according to an address allocation manner of the source memory card.
  • the processor instructs the memory controller of the source memory card to perform memory data migration according to the migration instruction of the memory data of the BIOS.
  • the processor may instruct the memory controller of the source memory card to perform memory data migration on the source memory card.
  • the processor may send a data read command to the memory controller of the source memory card, where the data read command is used to instruct the memory controller of the source memory card to read the memory data of the source memory card.
  • the processor may send a data write command to a memory controller of the source memory card, where the data write command is used to indicate the The memory controller of the source memory card writes the read data back to the source memory card, so that the memory controller of the source memory card can read the memory of the source memory card according to the data read command.
  • the memory controller of the backup memory card is capable of writing the read data to the backup memory card, realizing migration of memory data, and capable of using the source memory All memory data of the card is migrated to the backup memory card, and not only the data in the source memory card is newly written after the boot memory data migration is migrated.
  • the processor executes the instruction of the BIOS to perform the migration of the memory data
  • the instruction of the OS cannot be executed for a long time, so the processor can divide Performing the migration of the memory data multiple times. For example, after completing the memory data migration, the processor may exit the BIOS, execute the instructions of the OS, and perform normal service processing until the next memory data migration. After exiting the OS, the memory data migration instruction of the BIOS is executed again to continue the migration of the memory data. This way of migrating memory data multiple times allows the processor to alternately execute OS and BIOS instructions, and finally completes the migration of memory data, avoiding long-term interruption of system services. Prove the normal operation of the system.
  • the migration instruction of the memory data of the BIOS may be further improved, for example, each of the migration instructions of the memory data of the BIOS is configured in advance.
  • the amount of data of the secondary migration or the duration of each migration, that is, the split migration policy is configured, so that when the processor executes the migration instruction of the memory data of the BIOS, the source memory may be indicated according to the split migration policy.
  • the memory controller of the card performs the migration of the memory data in multiple times.
  • the processor may instruct the memory controller of the source memory card to perform the migration of the memory data multiple times by the following steps:
  • the processor determines, according to the amount of data specified by the each migration, the amount of data to be migrated, and instructs the memory controller of the source memory card to migrate the data amount of the current migration to the backup memory card. Or determining, by the processor, the duration of the current migration to determine the duration of the current migration according to the duration of each migration, and indicating that the memory controller of the source memory card performs the memory data during the duration of the current migration.
  • the memory controller 102-A indicating the source memory card performs memory data migration during a period in which the operating state of the processor is idle, wherein the operating state of the processor The idle state may be that the occupancy rate of the processor is less than a set threshold;
  • the processor exits the BIOS and executes an instruction of the OS
  • the processor receives a second trigger instruction, the second trigger instruction is used to instruct the processor to return an instruction to execute the BIOS to continue the migration of the memory data
  • step d) the processor returns to step a) according to the instruction of the BIOS until all the memory data of the source memory card is migrated to the backup memory card.
  • step b) when the processor exits the BIOS and executes an instruction of the OS to perform a service process, the source memory board may be read and written, even if the OS uses the processor to perform the The data block A that has been migrated in the source memory card performs a data write operation. Since the mirror mode is set, the memory controller of the source memory card can also write the data of the write operation to the data block A of the backup memory card. , avoiding the loss of data, ensuring the backup memory card and the source Consistency of memory card data.
  • the user may also configure a trigger condition of the second triggering instruction in the split migration policy, where the triggering condition of the second triggering command may be an interval duration of each migration, and the processor may migrate from the foregoing The time interval of the each migration is obtained in the policy, and the memory migration timer is configured according to the interval duration of the migration, so that the memory migration timer triggers the second according to the interval duration of each migration.
  • Triggering instructions that is, indicating that the processor continues to perform migration of memory data according to the interval duration of each migration, for example, the processor may set the memory migration timer in a south bridge of the computer;
  • the triggering condition of the second triggering instruction may also be an operating state of the processor, and the processor may trigger the second triggering instruction according to an operating state of the processor.
  • the operating state of the processor may be a processor. In the idle state, or the occupancy rate of the processor is less than a specific threshold, the processor may monitor its own running information in real time when executing the instruction of the OS, and trigger the first time when the occupancy rate of the processor is less than a specific threshold set.
  • the second migration instruction causes the processor to exit the OS to execute the instruction of the BIOS according to the second migration instruction triggered by itself, and then continue to perform memory data migration.
  • the processor may further utilize a motherboard control unit.
  • the mainboard controller monitors the running state of the device and triggers the second triggering command, which is not limited herein.
  • the processor may indicate the source memory card according to the address of the error data recorded by the memory controller of the source memory card.
  • the memory controller migrates the non-error data in the source memory card to the backup memory card, avoiding the computer restart caused by migrating the wrong data in the source memory card to the backup memory card.
  • S311 The processor changes the target memory card pointed to by the system address of the source memory card to the backup memory card according to the migration instruction of the memory data of the BIOS.
  • the processor may map the system address of the source memory card to the backup memory card, so that the target memory card pointed to by the system address of the source memory card is changed to
  • the backup memory card may replace the source memory card and take over all read and write operations on the source memory card.
  • S312 The processor performs a power-off operation on the source memory card according to the migration instruction of the memory data of the BIOS.
  • the processor may perform a power-off operation on the source memory card, so that the source memory card may be removed or replaced if the computer is not powered off.
  • the problem that the prior art needs to power off the entire computer to replace or maintain the faulty memory card is solved.
  • the processor may acquire a first triggering instruction, exit the OS according to the first triggering instruction, and execute a migration instruction of the memory data of the BIOS, where the migration instruction of the memory data of the BIOS causes the
  • the processor can determine the source memory card and the backup memory card, and after determining that the backup memory card meets a migration condition, set the source memory card and the backup memory card to a mirror mode, indicating the source
  • the memory controller of the memory card writes the memory data of the source memory card to the backup memory card according to the mirroring mode, so that the memory data of the source memory card can be migrated when the computer is not powered off.
  • the online maintenance of the faulty memory card is realized, which solves the problem that the prior art needs to power off the entire computer to replace or maintain the faulty memory card.
  • the processor starts the migration of the memory data according to the triggered first triggering instruction, and performs the memory data migration only when the source memory card fails or needs to perform the memory data migration, thereby effectively saving system resources.
  • the processor executes the BIOS instruction to complete the migration of the memory data, the data of the memory card where the OS kernel module is located can be migrated, thereby avoiding the problem that the OS kernel module data cannot be migrated.
  • the processor may further migrate all the data of the source memory card to the backup memory card, instead of only migrating the memory newly written to the source memory card after starting the memory migration.
  • the data ensures a complete migration of the in-memory data.
  • the processor may further, according to the split migration policy, instruct the memory controller of the source memory card to migrate the memory data of the source memory card to the backup memory card multiple times, so that the memory data migration is performed.
  • the processor can exit the OS to execute the memory data migration instruction of the BIOS according to the requirement, or exit the BIOS to execute the OS instruction for business processing, thereby ensuring that the computer business can be processed in time, and avoiding the computer service caused by a large amount of memory data migration.
  • the long interruption of the computer ensures the normal operation of the computer.
  • the processor is further configured to instruct the memory controller of the source memory card to determine non-error data in the source memory card, and instruct the memory controller of the source memory card to migrate the non-error data to the Backing up the memory card to avoid restarting the computer caused by migrating the wrong data in the source memory card to the backup memory card.
  • the processor may further determine whether the backup memory card meets the migration condition, and perform memory data migration on the source memory card if the migration condition is met.
  • the memory data migration is ensured smoothly, and the data migration failure due to the problem that the backup memory card is not initialized or the memory capacity is insufficient is avoided.
  • the embodiment of the present invention provides a method for migrating memory data, as shown in FIG. 3, for migrating memory data in a computer, where the BIOS of the computer stores a migration instruction of the memory data.
  • the memory data of the source memory card can be migrated to the backup memory card
  • the source memory card can be a memory card 101-A
  • the backup memory card can be a memory card 101-C
  • the memory card 101-C can be It is a memory card that has been inserted into the hardware slot before the computer is turned on. It can also be a temporarily added memory card.
  • the identifier of the memory card 101-C is configured in the ACPI list and before the migration is performed.
  • the method for migrating the in-memory data in the embodiment of the present invention may include:
  • S401 The processor configures the identifier of the specified backup memory card into the ACPI list according to an instruction of the OS.
  • the processor executes an instruction of the OS, and the user may provide an identifier of the designated backup memory card to the OS, and the processor may acquire the backup memory specified by the user according to the instruction of the OS.
  • the identity of the card and is configured into the ACPI list
  • the ACPI list is a list that can be accessed by both the BIOS and the OS, so that the processor performs subsequent information.
  • the identifier of the backup memory card can also be recorded in other storage units or lists, and the processor is guaranteed to be executed.
  • the storage unit or the list may be accessed by the instruction of the OS and the instruction of the BIOS.
  • the embodiment of the present invention is not limited herein.
  • This step is an optional step.
  • the user can also specify the identifier of the backup memory card when the computer is powered on.
  • the processor runs the BIOS command, and the user can provide the BIOS with the identifier of the backup memory card.
  • the processor may acquire an identifier of the backup unit specified by a user according to an instruction of the BIOS.
  • the identifier of the backup unit may be a slot number of a slot in which the backup memory card is inserted or a number related to the slot.
  • the backup memory card may be inserted into the slot before the computer is booted, or may be inserted into the slot after the computer is booted, if the backup memory card is inserted.
  • the identifier of the backup memory card is the slot number of the slot that is inserted. If the backup memory card has not been inserted into the slot, the identifier of the backup memory card may be specified by the user. The slot number of the slot, the backup memory card can be directly inserted into the slot specified by the user.
  • the processor may further initialize the backup memory card according to the instruction of the BIOS, so that the backup memory card is ready for normal use, but is invisible to the OS, that is, the processor executes
  • the backup memory card cannot be read or written by the instruction of the OS.
  • the backup memory may be in the backup memory.
  • the triggering operation on the backup memory card triggers the processor to execute the BIOS initialization command to initialize the backup memory card.
  • the backup memory card may be used later.
  • the processor further performs initialization of the BIOS to initialize the backup memory card; when the designated backup memory card is inserted into the slot before the computer is powered on, when the computer is powered on.
  • the processor executes a BIOS instruction, and the user needs to configure through a BIOS start menu. Determining an identifier of the memory card, causing the processor to execute the BISO instruction,
  • S402 The processor configures the identifier of the specified source memory card into the ACPI list according to the instruction of the OS.
  • the memory card may be designated as a memory card of the data to be migrated, that is, a source memory card, and the identifier of the source memory card is provided to the OS, and the processor may acquire the identifier of the source memory card specified by the user according to the instruction of the OS, and The identifier of the source memory card is configured in the ACPI list, so that when the processor executes the migration instruction of the memory data of the BIOS, the information of the source memory card can be obtained by reading the ACPI list.
  • the identifier is provided to the OS, and the identifier of the source memory card and the backup memory card may be provided together to the OS, so that the processor may separately use the source memory card and the backup memory card
  • the identifier is configured in the ACPI list, for example, the identifiers of the source memory card and the backup memory card are configured in the ACPI list through steps 401 and 402, and the source memory card and the backup memory may also be configured.
  • the identifiers of the cards are configured together in the ACPI list, which is not limited herein.
  • S403 The processor triggers a first trigger instruction according to an instruction of the OS.
  • the processor executes the instruction of the OS to perform the service processing
  • the migration instruction of the memory data may be sent to the OS, that is, the startup instruction, and the OS according to the migration instruction of the user sending the memory data, the instruction
  • the processor generates the first triggering instruction, and the processor generates the first triggering instruction according to an instruction of the OS, where the first triggering instruction is used to instruct the processor to exit the OS and execute memory data of the BIOS. Migration instructions.
  • the first triggering instruction may specifically be an SMI.
  • the processor may change a pin level of the GPIO according to an instruction of the OS, so that the south bridge chip of the computer (South)
  • the SMI is triggered
  • the processor may receive the SMI; for example, the processor may configure a register in a south bridge in the computer according to an instruction of the OS, so that the south bridge of the computer
  • the processor may receive the SMI.
  • the processor may trigger the first triggering command in other manners, which is not limited herein.
  • S404 The processor exits the operating system according to the first trigger instruction and executes a migration instruction of the BIOS data.
  • the processor After receiving the SMI interrupt, the processor enters a system management mode, at which time the processor exits the OS and executes a migration instruction of the BIOS data, and the memory data migration instruction may cause the processor to perform the step S405 - Step S411.
  • S405 The processor queries the ACPI list to determine the source memory card and the backup memory card.
  • the processor may query the ACPI list to obtain the recorded source memory card, because the processor records the identifiers of the source memory card and the backup memory card in the ACPI list in advance. And identifying, by the identifier of the backup memory card, the source memory card and the backup memory card according to the identifiers of the source memory card and the backup memory card.
  • the processor may obtain identifiers of the plurality of backup memory cards from the ACPI list, and according to the information of the source memory card, from the plurality of the backups. Selecting an identifier of the memory card as the identifier of the backup memory card, for example, selecting a memory capacity from the plurality of backup memory cards that is greater than a memory capacity of the source memory card according to a memory capacity of the source memory card.
  • the identifier of the memory card is determined as an identifier of the backup memory card, and, for example, one of the plurality of backup memory cards may be selected from the source according to information of a processor to which the source memory card belongs The memory card does not belong to the memory card controlled by the same processor, and the identifier of the memory card is determined as the identifier of the backup memory card.
  • S406 The processor determines whether the backup memory card meets a migration condition.
  • S409 The processor instructs a memory controller of the source memory card to perform memory data migration.
  • S410 The processor establishes a mapping relationship between a system address of the source memory card and the backup memory card.
  • S411 The processor performs a power-off operation on the source memory card.
  • the processor may perform a power-off operation on the source memory card, so that the source memory card may be removed or replaced if the computer is not powered off.
  • the problem that the prior art needs to power off the entire computer to replace or maintain the faulty memory card is solved.
  • the processor may acquire a first triggering instruction, exit the OS according to the first triggering instruction, and execute a migration instruction of the memory data of the BIOS, where the migration instruction of the memory data of the BIOS causes the
  • the processor can determine the source memory card and the backup memory card, and after determining that the backup memory card meets a migration condition, set the source memory card and the backup memory card to a mirror mode, indicating the source
  • the memory controller of the memory card writes the memory data of the source memory card to the backup memory card according to the mirroring mode, so that the memory data of the source memory card can be migrated when the computer is not powered off.
  • the online maintenance of the faulty memory card is realized, which solves the problem that the prior art needs to power off the entire computer to replace or maintain the faulty memory card.
  • the processor starts the migration of the memory data according to the triggered first triggering instruction, and performs the memory data migration only when the source memory card fails or needs to perform the memory data migration, thereby effectively saving system resources.
  • the processor executes the BIOS instruction to complete the migration of the memory data, the data of the memory card where the OS kernel module is located can be implemented. Line migration avoids the problem of not being able to migrate OS kernel module data. .
  • the processor may further migrate all the data of the source memory card to the backup memory card, instead of only migrating the memory newly written to the source memory card after starting the memory migration.
  • the data ensures a complete migration of the in-memory data.
  • the processor may further, according to the split migration policy, instruct the memory controller of the source memory card to migrate the memory data of the source memory card to the backup memory card multiple times, so that the memory data migration is performed.
  • the processor can exit the OS to execute the memory data migration instruction of the BIOS according to the requirement, or exit the BIOS to execute the OS instruction for business processing, thereby ensuring that the computer business can be processed in time, and avoiding a large amount of memory data.
  • the processor is further configured to instruct the memory controller of the source memory card to determine non-error data in the source memory card, and instruct the memory controller of the source memory card to migrate the non-error data to the Backing up the memory card to avoid restarting the computer caused by migrating the wrong data in the source memory card to the backup memory card.
  • the processor may further determine whether the backup memory card meets the migration condition, and perform memory data migration on the source memory card if the migration condition is met.
  • the memory data migration is ensured smoothly, and the data migration failure due to the problem that the backup memory card is not initialized or the memory capacity is insufficient is avoided.
  • An embodiment of the present invention provides a basic input/output system.
  • the basic input/output system includes a computer execution instruction 501, and the basic input/output system may be a processing chip.
  • the computer executes: a method of:
  • the computer may further execute the following method according to the computer execution instruction 501: setting the source memory card and the backup memory card to a mirror mode;
  • the processor instructs the memory controller of the source memory card to perform migration of the memory data, so that the memory controller of the source memory card reads the memory data of the source memory card according to the instruction of the processor, and The read memory data of the source memory card is written to the backup memory card, including:
  • the processor sends a data read command to the memory controller of the source memory card, where the data read command is used to instruct the memory controller of the source memory card to read the memory data of the source memory card; Transmitting, by the memory controller, a data write instruction to the memory controller of the source memory card, where the data write command is used to instruct the memory controller of the source memory card to write the read data back to the source memory card, so that The memory controller of the source memory card reads the memory data of the source memory card according to the data read command of the processor, and after receiving the data write command, according to the source memory card and the backup memory card The mirroring mode between the memory data of the source memory card read is sent to the memory controller of the backup memory card.
  • the computer may further execute the following method according to the computer execution instruction 501: the computer acquires a split migration strategy;
  • the computer instructs the memory controller of the source memory card to perform the migration of the memory data multiple times according to the split migration policy. Further, the computer instructing the memory controller of the source memory card to perform the migration of the memory data multiple times according to the split migration policy may include:
  • the computer After determining that the memory controller of the source memory card completes the current migration, the computer exits the basic input output system and executes an instruction of the operating system. Further, the computer may further execute the following method according to the computer execution instruction 501: the computer determines whether the backup memory card meets a migration condition, and if the migration condition is met, executing the memory indicating the source memory card And the migrating condition includes: The memory of the card is in the valley.
  • the computer may further initialize the backup memory card according to the computer execution instruction 501 when the backup memory card is not initialized, wherein the initialization avoids assigning a system address to the backup memory card.
  • the computer may perform the following method before the computer indicates that the memory controller of the source memory card performs the migration of the memory data:
  • the computer instructs a memory controller of the source memory card to detect non-error data in the source memory card and mark the same;
  • the computer instructs the memory controller of the source memory card to migrate the non-error data according to the flag according to the migration instruction of the memory data of the basic input/output system.
  • the computer may further execute, according to the computer execution instruction 501, after the memory data of the source memory card is all migrated to the backup memory card, the target memory card pointed to by the system address of the source memory card is changed. For the backup memory card.
  • the basic input/output system includes a computer execution instruction 501, so that when the computer executes the computer execution instruction 501, the source memory card of the memory data to be migrated may be determined, and the backup memory is determined for the source memory card.
  • Card, the source memory card and the backup memory card are set to a mirror mode, and the memory controller of the source memory card is instructed to write the memory data of the source memory card to the backup memory according to the mirror mode.
  • the card can be used to migrate the memory data of the source memory card when the computer is not powered off, thereby realizing the online maintenance of the faulty memory card, and solving the problem that the prior art needs to power off the entire computer to perform faulty memory. Card replacement Or maintenance issues.
  • the processor of the computer is a computer execution instruction 501 executing the BIOS to complete the migration of the memory data, the data of the memory card where the OS kernel module is located can be migrated, thereby avoiding the problem that the OS kernel module data cannot be migrated. .
  • all data of the source memory card may also be migrated to the backup memory card, instead of only migrating the memory data newly written to the source memory card after starting the memory migration, thereby ensuring A complete migration of in-memory data.
  • the memory controller of the source memory card may be instructed to migrate the memory data of the source memory card to the device in multiple times according to the split migration policy.
  • the memory card is backed up, so that during the process of performing the memory data migration, the processor can exit the OS executing the BIOS execution instruction 501 according to the requirement, or exit the BIOS to execute the OS instruction for service processing, thereby ensuring the service of the computer.
  • the processor is further configured to instruct the memory controller of the source memory card to determine non-error data in the source memory card, and instruct the memory controller of the source memory card to migrate the non-error data to the Backing up the memory card to avoid restarting the computer caused by migrating the wrong data in the source memory card to the backup memory card.
  • the processor when the processor executes the instruction 501, the processor may further determine whether the backup memory card meets the migration condition, and if the migration condition is met, The migration of the memory data by the source memory card ensures that the memory data migration is smoothly performed, and the data migration failure caused by the problem that the backup memory card is not initialized or the memory capacity is insufficient is avoided.
  • aspects of the invention may take the form of a computer program product, which is a computer readable program code stored on a computer readable medium.
  • the computer readable medium can be a computer readable signal medium or a computer readable storage medium.
  • Computer readable storage media includes, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor System, device or device, or any suitable combination of the foregoing, such as random access memory
  • RAM Read Only Memory
  • ROM Read Only Memory
  • EPROM Erasable Programmable Read Only Memory
  • CD-ROM Portable Read Only Memory
  • the processor in the computer reads the computer readable program code stored in the computer readable medium, such that the processor can perform the functional actions specified in each step or combination of steps in the flowchart; A device that functions as specified in each block, or combination of blocks.
  • the computer readable program code can execute entirely on the user's computer, partly on the user's computer, as a separate software package, partly on the user's computer and partly on the remote computer, or entirely on the remote computer or server.
  • the functions noted in the various steps of the flowchart, or in the blocks in the block diagrams may not occur in the order noted. For example, two steps, or two blocks shown in succession may be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明实施例提供了一种内存数据的迁移方法、计算机和装置,处理器在接收到第一触发指令后,能够退出操作系统并执行基本输入输出系统的内存数据的迁移指令,所述基本输入输出系统的内存数据的迁移指令使得所述处理器能够确定待迁移内存数据的源内存卡,为所述源内存卡确定备份内存卡,指示所述源内存卡的内存控制器进行内存数据的迁移,以使得所述源内存卡的内存控制器能够根据所述处理器的指示读取将所述源内存卡的内存数据,并将读取的源内存卡的内存数据写入所述备份内存卡,从而能够在计算机不下电的情况下,对所述源内存卡的内存数据进行迁移,实现了对故障内存卡的在线维护,解决了现有技术中需要对整个计算机下电才能进行故障内存卡的更换或维护的问题。

Description

一种内存数据的迁移方法、 计算机和装置 技术领域
本发明涉及计算机技术, 特别是一种内存数据的迁移方法、 计算机和装 置。
背景技术
内存(Memory )也被称为主存储器, 是计算机中重要的部件之一。 计 算机中所有程序的运行都是在内存中进行, 因此内存的性能对计算机的影响 非常大。 内存能够用于暂时存放处理器中的运算数据, 以及与硬盘等外部存 储器交换的数据。 只要计算机在运行中, 处理器就会把需要运算的数据调到 内存中进行运算, 当运算完成后处理器再将结果传送出来, 内存的运行也决 定了计算机的稳定运行。
在 X86架构下, 服务器支持的内存数量越来越多, 最新的 Intel E7 V2处 理器, 单颗处理器最多可以支持 2块内存板, 每块内存板最多可以支持 12根 内存条, 在一个 8P系统中内存条数量可以达到 192根。 然而, 目前系统中内 存的故障率能够高达 0.1%, 内存故障不仅可能引起系统运行不稳定, 还可能 引起系统的死机。
现有技术无法实现计算机中内存数据的迁移, 当系统中出现内存故障 时, 无法在计算机正常运行的情况下实现故障内存板或者故障内存条中的数 据的迁移, 因此无法对故障内存进行在线维护, 只能先对该计算机下电后才 能更换故障内存板或故障内存条。
发明内容
本发明实施例提供了一种内存数据的迁移方法、 计算机和装置, 能够在 计算机不下电的情况下实现内存数据的迁移。
第一方面, 本发明实施例提出了一种计算机, 包括
处理器; 基本输入输出系统;
主存储器, 用于加载所述基本输入输出系统中存储的指令以及所述计算 机的操作系统的指令, 所述主存储器包括一个或多个内存卡;
内存控制器, 每个内存卡配置对应的内存控制器;
在该计算机中, 所述处理器用于执行所述操作系统的指令, 并在执行所 述操作系统的指令时接收第一触发指令, 根据所述第一触发指令, 执行所述 基本输入输出系统的内存数据的迁移指令, 所述处理器根据所述基本输入输 出系统的内存数据的迁移指令执行如下操作: 确定待迁移内存数据的源内存 卡; 为所述源内存卡确定备份内存卡; 指示所述源内存卡的内存控制器进行 内存数据的迁移;
所述源内存卡的内存控制器用于接收所述处理器的指示,根据所述处理 器的指示将所述源内存卡的内存数据迁移到所述备份内存卡。
结合第一方面, 在第一种可能的实现方式中, 所述处理器具体用于将所 述源内存卡和所述备份内存卡设置为镜像模式, 向所述源内存卡的内存控制 器发送数据读指令, 所述数据读指令用于指示所述源内存卡的内存控制器读 取所述源内存卡的内存数据, 以及向所述源内存卡的内存控制器发送数据写 指令, 所述数据写指令用于指示所述源内存卡的内存控制器将所述读取的数 据写回所述源内存卡; 所述源内存卡的内存控制器具体用于根据所述处理器 的数据读指令读取所述源内存卡的内存数据,接收所述处理器发送的所述数 据写指令, 根据所述源内存卡和所述备份内存卡之间的镜像模式, 将所读取 的所述源内存卡的内存数据发送给所述备份内存卡的内存控制器; 所述备份 内存卡的内存控制器用于将接收到的所述源内存卡的内存数据写入到所述 备份内存卡。
结合第一方面或者第一方面的第一种可能的实现方式,在第二种可能的 实现方式中, 所述处理器具体用于获取分次迁移策略, 根据所述分次迁移策 略, 指示所述源内存卡的内存控制器分多次进行内存数据的迁移。 结合第一方面的第二种可能的实现方式, 在第三种可能的实现方式中, 所述处理器具体用于根据所述分次迁移策略执行如下操作 a ) -d ) , 直至将 所述源内存卡的内存数据全部迁移到所述备份内存卡, 所述操作 a ) -d ) 包 括: a )确定当次迁移的数据量, 指示所述源内存卡的内存控制器将所述当 次迁移的数据量迁移到所述备份内存卡, 或者, 确定当次迁移的时长, 指示 所述源内存卡的内存控制器在所述当次迁移的时长内进行内存数据的迁移; b )在确定所述源内存卡的内存控制器完成所述当次迁移之后, 退出所述基 本输入输出系统并执行所述操作系统的指令; c )接收第二触发指令, 所述 第二触发指令用于指示所述处理器返回执行所述基本输入输出系统的内存 数据的迁移指令; d )根据所述基本输入输出系统的内存数据的迁移指令, 返回执行步骤 a ) 。
结合第一方面或者第一方面的第一种可能的实现方式或者第二种可能 的实现方式或者第三种可能的实现方式, 在第四种可能的实现方式中, 所述 源内存卡的内存控制器还用于对所述源内存卡的错误数据进行监控, 若所述 错误数据的数量超过阈值, 触发所述第一触发指令; 所述处理器具体用于接 收所述源内存卡的内存控制器触发的所述第一触发指令。
结合第一方面或者第一方面的第一种可能的实现方式或者第二种可能 的实现方式或者第三种可能的实现方式, 在第五种可能的实现方式中, 所述 操作系统还用于配置内存数据的迁移的启动策略,或者接收用户发送的内存 数据的迁移的启动指令, 所述操作系统根据所述启动策略或启动指令指示所 述处理器产生所述第一触发指令。
第二方面, 本发明实施例提供了一种内存数据的迁移方法, 用于迁移计 算机中的内存数据, 该方法包括:
所述计算机的处理器在执行操作系统的指令时, 接收第一触发指令; 所述处理器根据所述第一触发指令,执行基本输入输出系统的内存数据 的迁移指令; 所述处理器根据所述基本输入输出系统的内存数据的迁移指令执行如 下操作:
确定待迁移内存数据的源内存卡;
为所述源内存卡确定备份内存卡;
指示所述源内存卡的内存控制器进行内存数据的迁移, 以使得所述源内 存卡的内存控制器根据所述处理器的指示将所述源内存卡的内存数据迁移 到所述备份内存卡。
结合第二方面, 在第一种可能的实现方式中, 该方法还包括: 所述处理 器将所述源内存卡和所述备份内存卡设置为镜像模式; 所述处理器指示所述 源内存卡的内存控制器进行内存数据的迁移, 以使得所述源内存卡的内存控 制器根据所述处理器的指示读取所述源内存卡的内存数据,将所读取的所述 源内存卡的内存数据写入到所述备份内存卡, 包括:
所述处理器向所述源内存卡的内存控制器发送数据读指令, 所述数据读 指令用于指示所述源内存卡的内存控制器读取所述源内存卡的内存数据; 所述源内存卡的内存控制器根据所述处理器的数据读指令读取所述源 内存卡的内存数据;
所述处理器向所述源内存卡的内存控制器发送数据写指令, 所述数据写 指令用于指示所述源内存卡的内存控制器将所述读取的数据写回所述源内 存卡;
所述源内存卡的内存控制器接收所述处理器发送的所述数据写指令,根 据所述源内存卡和所述备份内存卡之间的镜像模式,将所读取的所述源内存 卡的内存数据发送给所述备份内存卡的内存控制器, 以使得所述备份内存卡 的内存控制器将接收到的所述源内存卡的内存数据写入到所述备份内存卡。
结合第二方面或者第二方面的第一种可能的实现方式吗,在第二种可能 的实现方式中,在所述处理器指示所述源内存卡的内存控制器进行内存数据 的迁移之前, 还包括: 所述处理器获取分次迁移策略; 则, 所述处理器根据 所述分次迁移策略,指示所述源内存卡的内存控制器分多次进行内存数据的 迁移。
结合第二方面的第二种可能的实现方式, 在第三种可能的实现方式中, 所述处理器根据所述分次迁移策略指示所述源内存卡的内存控制器分多次 进行内存数据的迁移, 包括: a )所述处理器确定当次迁移的数据量, 指示 所述源内存卡的内存控制器将所述当次迁移的数据量迁移到所述备份内存 卡, 或者, 所述处理器确定当次迁移的时长, 指示所述源内存卡的内存控制 器在所述当次迁移的时长内进行内存数据的迁移; b )在确定所述源内存卡 的内存控制器完成所述当次迁移之后, 所述处理器退出所述基本输入输出系 统并执行操作系统的指令; c )所述处理器接收第二触发指令, 所述第二触 发指令用于指示所述处理器返回执行所述基本输入输出系统的内存数据的 迁移指令; d )所述处理器根据所述基本输入输出系统的内存数据的迁移指 令, 返回执行步骤 a ) , 直至所述源内存卡的内存数据全部迁移到所述备份 内存卡。
结合第二方面或者第二方面的第一种可能的实现方式或者第二种可能 的实现方式或者第三种可能的实现方式, 在第四种可能的实现方式中, 所述 源内存卡的内存控制器对所述源内存卡的错误数据进行监控, 若所述错误数 据的数量超过阈值,所述源内存卡的内存控制器触发所述第一触发指令;贝 所述处理器接收所述源内存卡的内存控制器触发的所述第一触发指令。
结合第二方面或者第二方面的第一种可能的实现方式或者第二种可 的实现方式或者第三种可能的实现方式, 在第五种可能的实现方式中, 在所 述计算机的处理器在执行操作系统的指令时, 所述方法还包括: 所述操作系 指令指示所述处理器产生所述第一触发指令; 则, 所述处理器接收自身产生 的所述第一触发指令。
第三方面, 本发明实施例提出了一种基本输入输出系统, 该基本输入输 出系统包括计算机执行指令, 当计算机的处理器执行所述计算机执行指令 时, 所述处理器执行如下方法:
确定待迁移内存数据的源内存卡;
为所述源内存卡确定备份内存卡;
指示所述源内存卡的内存控制器进行内存数据的迁移, 以使得所述源内 存卡的内存控制器根据所述处理器的指示将所述源内存卡的内存数据迁移 到所述备份内存卡。
结合第三方面, 所述处理器还根据所述计算机执行指令执行如下方法: 将所述源内存卡和所述备份内存卡设置为镜像模式; 所述指示所述源内存卡 的内存控制器进行内存数据的迁移, 以使得所述源内存卡的内存控制器根据 所述指示读取所述源内存卡的内存数据,将所读取的所述源内存卡的内存数 据写入到所述备份内存卡, 包括:
向所述源内存卡的内存控制器发送数据读指令, 所述数据读指令用于指 示所述源内存卡的内存控制器读取所述源内存卡的内存数据;
向所述源内存卡的内存控制器发送数据写指令, 所述数据写指令用于指 示所述源内存卡的内存控制器将所述读取的数据写回所述源内存卡, 以使得 所述源内存卡的内存控制器根据所述处理器的数据读指令读取所述源内存 卡的内存数据, 接收到所述数据写指令后, 根据所述源内存卡和所述备份内 存卡之间的镜像模式,将所读取的所述源内存卡的内存数据发送给所述备份 内存卡的内存控制器。
结合第三方面或者第三方面的第一种可能的实现方式,在第二种可能的 实现方式中, 所述处理器还根据所述计算机执行指令执行如下方法: 获取分 次迁移策略; 根据所述分次迁移策略, 指示所述源内存卡的内存控制器分多 次进行内存数据的迁移。
结合第三方面的第二种可能的实现方式, 在第三种可能的实现方式中, 所述处理器根据所述分次迁移策略指示所述源内存卡的内存控制器分多次 进行内存数据的迁移, 包括: 确定当次迁移的数据量, 指示所述源内存卡的 内存控制器将所述当次迁移的数据量迁移到所述备份内存卡, 或者, 确定当 次迁移的时长,指示所述源内存卡的内存控制器在所述当次迁移的时长内进 行内存数据的迁移; 在确定所述源内存卡的内存控制器完成所述当次迁移之 后, 退出所述基本输入输出系统并执行操作系统的指令内存卡内存卡。
结合第三方面或者第一种可能的实现方式或者第二种可能的实现方式 或者第三种可能的实现方式, 在第四种可能的实现方式中, 该基本输入输出 系统还包括: 在确定所述源内存卡的内存数据全部迁移到所述备份内存卡之 后, 将所述源内存卡的系统地址指向的目标内存卡更改为所述备份内存卡。
在本发明实施例中, 处理器在接收到第一触发指令后, 退出操作系统并 执行基本输入输出系统的内存数据的迁移指令, 所述基本输入输出系统的内 存数据的迁移指令使得所述处理器能够确定待迁移内存数据的源内存卡,为 所述源内存卡确定备份内存卡,指示所述源内存卡的内存控制读取所述源内 存卡的内存数据并将所读取的所述源内存卡的内存数据写入所述备份内存 卡, 从而能够对所述源内存卡的内存数据进行迁移, 实现了在计算机不下电 的情况下对故障内存卡的在线维护, 解决了现有技术中需要对整个计算机下 电才能进行故障内存卡的更换或维护的问题。 附图说明
为了更清楚地说明本发明实施例的技术方案, 下面将对现有技术或实施 例中所需要使用的附图作筒单地介绍, 显而易见地, 下面描述中的附图仅仅 是本发明的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳 动的前提下, 还可以根据这些附图获得其它的附图。
图 1为本发明实施例提供的计算机的系统框图;
图 2为本发明实施例提供的内存数据的迁移方法流程图;
图 3为本发明实施例提供的又一种内存数据的迁移方法流程图; 图 4为本发明实施例提供的又一种内存数据的迁移方法流程图; 图 5为本发明实施例提供的装置组成图。 具体实施方式
本发明实施例提供了一种内存数据的迁移方法、 计算机和装置, 能够在 计算机正常运行的情况下进行内存数据的迁移。
一种实现内存数据迁移的计算机
如图 1所示, 为实施本发明实施例的计算机的一个示例, 该计算机可以 包括主存储器 101、 内存控制器 102、处理器 105、基本输入输出系统(Basic Input Output System, BIOS ) 104和硬盘(图 1未示出)。 所述主存储器 101 包括至少一个内存卡, 图 1 中以 3个内存卡为例, 内存卡 101-A、 101-B、 101-C。所述内存控制器 102用于控制所述主存储器 101 , 可以为所述主存储 器 101的每个内存卡配置对应的内存控制器 102, 例如内存卡 101-A的内存 控制器 102-A, 内存卡 101-B的内存控制器 102-B, 内存卡 101-C的内存控 作为内存的存储介质, 一个内存卡可以指一根内存条或一个内存板, 也可以 指多根内存条的集合或多个内存板的集合。每个内存卡都配置有对应的内存 控制器, 内存卡和内存控制器的对应关系可以是一对一, 也可以是一对多或 者多对一, 图 1只是本发明实施示例之一。
在所述计算机系统开机后,所述主存储器 101可以在计算机开机启动时, 加载所述 BIOS104 中的指令以及存储在硬盘中的计算机的操作系统 ( Operating System, OS )103的指令,所述处理器 105可以执行所述 BIOS 104 的指令或所述计算机的操作系统(Operating System, OS ) 103的指令, 例如 所述处理器 105可以执行 BIOS104的指令对所述计算机中的设备进行初始 化, 以及执行所述 OS103的指令对所述内存卡进行读写操作, 其中, 所述处 理器 105主要指 CPU内核部分, 可以是一个 CPU内核, 也可以是多个 CPU 内核的集合, 在本发明实施例中, 所述处理器 105是多个 CPU内核的集合。 所述 BIOS104可以是一个处理芯片, 在该处理芯片内注册了多个处理指令, 所述处理器 105可以执行这些处理指令。
本实施例中为了实现内存数据的迁移, 需要在计算机中配置备份内存 据迁移的内存卡在本实施例中被称为源内存卡。 在图 1所示的实施例中, 内 存卡 101-A和 101-B可以是源内存卡, 内存卡 101-C是本发明实施例配置的 备份内存卡。 本实施例中, 以为计算机指定一个备份内存卡 101-C为例, 实 际上, 也可以为计算机指定多个备份内存卡。 本发明实施例所说的内存数据 的迁移的目的是使得备份内存卡能够获得源内存卡中的内存数据, 为了实现 上述迁移的目的, 在具体实现中, 可以采用内存数据的复制、 拷贝或者搬迁 等方式, 只要实现了备份内存卡能够获得源内存卡中的内存数据的迁移目 的, 上述各种具体实现方式都在本发明实施例的 "迁移" 范畴之类。
本发明实施例中, 可以对 BIOS 104进行改进, 例如在 BIOS 104中注册 新的内存数据的迁移指令, 使得处理器执行 BIOS 104的内存数据的迁移指 令来实现内存数据的迁移。
本发明实施例的计算机的各组成可以执行如下操作:
所述处理器 105用于在执行 OS103的指令时,接收内存数据迁移的触发 指令, 根据所述内存数据迁移的触发指令, 退出 OS103并执行 BIOS 104的 内存数据的迁移指令, 所述 BIOS 104的内存数据的迁移指令使得所述处理 器执行如下操作: 确定待迁移内存数据的源内存卡, 例如所述源内存卡 101-A, 为所述源内存卡确定备份内存卡, 例如所述备份内存卡 101-C, 以 及指示所述源内存卡的内存控制器 102-A进行内存数据的迁移。
所述源内存卡的内存控制器 102-A用于接收所述处理器的指示,根据所 述处理器的指示读取所述源内存卡 101-A的内存数据,将所读取的所述源内 存卡 101-A的内存数据写入到所述备份内存卡, 实现将所述源内存卡 101-A 的数据迁移到所述备份内存卡 101-C。
在本发明实施例中, 处理器 105可以在运行 OS的指令时接收到所述内 存数据迁移的触发指令,根据所述内存数据迁移的触发指令退出 OS103并执 行 BIOS 104的内存数据的迁移指令, 实现将所述源内存卡 101-A的数据写 入所述备份内存卡 101-C, 能够在计算机不下电的情况下, 对所述源内存卡 101-A的内存数据进行迁移, 实现了对故障内存卡的在线维护, 解决了现有 技术中需要对整个计算机下电才能进行故障内存卡的更换或维护的问题。 此 夕卜, 由于所述处理器是执行 BIOS的指令完成内存数据的迁移, 能够实现对 OS内核模块所在的内存卡的数据进行迁移, 避免了通过 OS操作不能对 OS 内核模块数据进行迁移的问题。
下面对本发明实施例展开进行详细地介绍。
关于配置备份内存卡
本实施例中, 为了保证内存数据迁移的指令被正确地执行, 所述备份内 存卡作为待迁移的内存数据的目标设备, 与计算机中的其他内存卡具有一定 的不同之处, 例如在内存数据迁移完成之前对 OS 103不可见, 即 OS103无 法对其进行读写操作; 所述处理器 105可以执行 BIOS 104的指令对所述备 份内存卡 101-C进行特殊初始化,使得所述备份内存卡 101-C准备就绪并可 以正常使用,但是所述初始化过程避免为所述备份内存卡 101-C分配系统地 址,从而使得所述 OS 103无法对所述备份内存卡 101-C进行任何读写操作, 这样可以保证将源内存卡的内存数据完整迁移到备份卡,保证迁移过程中已 经迁移的数据不会被覆盖上其他的数据, 使得迁移的内存数据受到破坏。
配置所述备份内存卡可以包括:
1、 指定并记录备份内存卡的标识。 可以是由用户将备份内存卡插入硬 件插槽之后,将该备份内存卡的标识通过 OS103在所述计算机的某个存储模 块上进行记录, 例如记录在高级配置和电故障管理接口 ( Advanced Configuration and Power Management Interface , ACPI ) 歹l表中, 所述 ACPI 列表为 OS 103与 BIOS 104交互的信息表的集合, OS103和 BIOS 104都可 以对其进行查询操作, 此种情况下, 即指定在计算机中已经硬件存在内存卡 为备份内存卡; 也可以是用户并不将备份内存卡插入硬件插槽, 而是指定备 份内存卡后续将要插入的硬件插槽的槽位号,将指定的槽位号作为备份内存 卡的标识进行记录, 此种情况下, 即指定在计算机中还没有硬件存在内存卡 为备份内存卡。
指定并记录备份内存卡的标识, 处理器 105后续可以查询用来记录备份 内存卡的存储模块, 例如 ACPI列表, 以确定备份内存卡。
2、 对备份内存卡执行特殊的初始化。 在指定了备份内存卡之后, 可以 对该备份内存卡进行特殊的初始化, 以使得该备份内存卡准备就绪, 计算机 可以将源内存卡的内存数据写入所述备份内存卡。 对备份内存卡初始化, 需 要该内存卡已经插入硬件插槽, 而实际上, 何时将备份内存卡插入硬件插槽 可以非常灵活, 可以是指定备份内存卡之前即插入, 也可以是在指定备份内 存卡之后, 以及执行内存数据的迁移之前的任何时间。 具体来说初始化的场 景可以分为两种, 一种是内存数据的迁移启动之前, 由用户按下备份单元上 的按鈕,该按鈕产生初始化中断,使得 BIOS 104执行对该备份内存卡的特殊 初始化, 一种是内存数据的迁移启动之后, 如果 BIOS检测到备份内存卡还 没有完成初始化, 可以临时启动对备份内存卡的初始化。
其中,对所述备份内存卡进行特殊初始化是指对所述备份内存卡进行配 置, 使得所述备份内存卡准备就绪并可以正常使用, 但是对 OS103不可见; 所述初始化的过程包含正常初始化的各种行为, 除了在初始化过程中避免为 该备份内存卡分配系统地址, 例如, 对所述备份内存卡进行初始化可以包括 为所述备份内存卡供电, 配置相关性能等参数, 配置所述备份内存卡与计算 机中的处理器之间的通信连接,检测所述备份内存卡是否能够进行正常的读 写操作等。 在对所述备份内存卡进行初始化时, 避免为所述备份内存卡分配 系统地址,从而所述 OS103无法获取所述备份内存卡的系统地址,不能对所 述备份内存卡进行任何读写操作, 即所述备份内存卡虽然已经准备就绪, 但 对所述 OS不可见, 此时所述 OS不能使用所述备份内存卡。 关于内存数据迁移的触发
在本发明实施例中, 内存数据的迁移的启动是根据源内存卡的故障情况 或者用户的需求而触发并启动的, 也就是说, 计算机开机启动后, 正常执行 OS103 的指令, 根据接收到的内存数据迁移的触发指令切换到 BIOS104并 执行 BIOS104的指令, 以实现内存数据的迁移。 在本发明实施例中, 所述处 理器 105在接收到所述内存数据迁移的触发指令时,才进行内存数据的迁移, 移, 不需要预先指定固定的源内存卡, 也不需要预先配置源内存卡和备份内 存卡的镜像关系, 因此, 本发明实施例针对明确地源内存卡实现内存数据的 迁移的触发, 即保证了故障的及时处理, 又节约了计算机的资源, 保证了计 算机的高效率。
本发明实施例中内存数据迁移的触发指令用来指示处理器 105退出 OS 103并执行 BIOS 104的内存数据的迁移指令, 以实现内存数据的迁移。 由于 本发明实施例可以实现内存数据的一次迁移,也可以实现内存数据的多次迁 移, 因此, 在本发明实施例中内存数据迁移的触发指令可以包括第一触发指 令和第二触发指令,将启动内存数据的第一次迁移的内存数据迁移的触发指 令称为第一触发指令,将触发内存数据的后续迁移的内存数据迁移的触发指 令称为第二触发指令。
所述第一触发指令的触发可以比较灵活, 例如可以由处理器 105 根据 OS 103的指令触发所述第一触发指令,还可以由所述源内存卡的内存控制器 102-A触发所述第一触发指令, 具体地, 例如:
( 1 ) 源内存卡的内存控制器 102-A 和 102-B还可以分别对源内存卡 101-A和 101-B的错误数据进行监控, 若源内存卡 101-A或 101-B的错误数 据超过阈值, 对应的内存控制器可以触发所述第一触发指令, 例如, 源内存 卡 101-A的错误数据超过阈值, 内存控制器 102-A触发所述第一触发指令; 所述处理器 105可以接收所述源内存卡的内存控制器 102-A触发的所述第一 触发指令, 退出 OS 103并执行 BIOS 104的内存数据的迁移指令。 具体地, 所述第一触发指令可以是系统管理中断 (System Management Interrupt, SMI ) 。
( 2 )所述第一触发指令还可以由 OS根据用户发送的内存数据的迁移的 启动指令直接触发处理器来产生, 也可以由 OS根据用户在所述 OS中预置 的内存数据的迁移的启动策略来产生。 例如用户直接向 OS 发送指令, OS 根据用户的指令指示处理器产生所述第一触发指令, 或者例如用户预先在 OS 中配置的按照时间或者处理器的运行状态来启动内存数据的迁移的启动 策略, 在该启动策略被满足时, OS 指示处理器产生所述第一触发指令。 所 述处理器 105可以接收自身触发的所述第一触发指令, 退出 OS 103并执行 BIOS 104的内存数据的迁移指令。
关于分多次实现内存数据的迁移
本发明实施例的一个较优的实施例中, 将分多次进行内存数据的迁移。 由于在进行内存数据迁移的过程中,所述处理器 105如果一直执行 BIOS 104 的指令来进行内存数据的迁移, 将在较长的时间内无法执行 OS 103的指令 以进行业务处理, 这会影响计算机的正常运行导致其它业务处理长时间处于 中止状态, 并影响到用户的体验, 因此所述处理器 105可以分多次进行内存 数据的迁移, 例如, 在完成一次内存数据迁移之后, 所述处理器 105可以退 出所述 BIOS 104, 执行所述 OS 103的指令, 进行正常的业务处理, 直到进 行下一次内存数据迁移时, 再退出所述 OS 103 , 再次执行所述 BIOS 104的 内存数据的迁移指令, 以继续进行内存数据的迁移。 这种分多次进行内存数 据的迁移的方式, 使得处理器交替执行 OS103和 BIOS104的指令, 并最终 完成了内存数据的迁移, 避免了系统业务的长时间中断, 保证了系统的正常 运行。 针对上述分多次进行内存数据迁移的方式, 在本发明的又一实施例中, 可以对所述 BIOS 104的内存数据的迁移指令进行进一步改进, 使得所述处 理器 105执行所述 BIOS 104的内存数据的迁移指令时, 可以获取分次迁移 策略,根据所述分次迁移策略指示所述源内存卡的内存控制器 102-A分多次 进行内存数据的迁移, 所述分次迁移策略可以由用户配置, 例如用户可以根 据需求指定每次迁移的数据量或者每次迁移的时长, 所述处理器 105执行所 述 BIOS 104的内存数据的迁移指令时, 可以根据所述指定的每次迁移的数 据量或者每次迁移的时长,执行如下操作 a)-d ) ,直到将所述源内存卡 101-A 的内存数据全部迁移到所述备份内存卡 101-C, 所述操作 a ) -d ) 包括: a )根据所述每次迁移指定的数据量确定当次迁移的数据量, 指示所述 源内存卡的内存控制器 102-A将所述当次迁移的数据量迁移到所述备份内 迁移的时长,指示所述源内存卡的内存控制器 102-A在所述当次迁移的时长 内进行内存数据的迁移, 或者根据处理器的运行状态, 指示所述源内存卡的 内存控制器 102-A在处理器的运行状态为空闲的时间段内进行内存数据的 迁移, 其中所述处理器的运行状态为空闲状态可以是处理器的占用率小于设 定阈值;
b )在确定所述源内存卡的内存控制器 102-A完成所述当次迁移之后, 退出所述 BIOS 104并执行 OS 103的指令;
c )接收第二触发指令, 所述第二触发指令用于指示所述处理器返回执 行所述 BIOS 104的指令以继续进行内存数据的迁移;
d )返回执行步骤 a ) 。
所述处理器 105通过上述操作 a ) -d ) , 实现了分多次将所述源内存卡 101-A的数据迁移到了所述备份内存卡 101-C。
其中, 所述第二触发指令, 可以由处理器 105根据 OS 103的指令触发, 还可以是根据预先配置的第二触发指令的触发条件来触发, 例如可以在所述 迁移策略中配置所述第二触发指令的触发条件, 所述第二触发指令的触发条 件可以包括每次迁移的间隔时长或者处理器的运行状态,所述处理器 105可 以才艮据所述每次迁移的间隔时长, 配置内存迁移定时器, 以使得所述内存迁 移定时器根据所述每次迁移的间隔时长触发所述第二触发指令, 例如可以将 所述内存迁移定时器配置在计算机的南桥中; 或者, 根据自身的运行状态, 触发所述第二触发指令, 例如, 所述处理器 105在自身运行状态为空闲时触 发所述第二触发指令。
在本发明实施例中, 所述处理器 105可以根据所述分次迁移策略, 指示 所述源内存卡的内存控制器 102-A分多次将所述源内存卡的内存数据迁移 到所述备份内存卡, 使得在进行内存数据迁移的过程中, 所述处理器能够根 据需求退出 OS 103执行 BIOS 104的内存数据的迁移指令, 或者退出 BIOS 104执行 OS 103的指令进行业务处理, 使得所述计算机的业务能够及时处 理, 避免在进行大量内存数据迁移时导致的计算机业务的长时间中断, 保障 了该计算机的正常运行。
关于将所述源内存卡和所述 内存卡设置为镜 式
在进行内存数据的迁移之前,所述处理器 105还可以将所述源内存卡和 所述备份内存卡设置为镜像模式,使得所述源内存卡的内存控制 102-A可以 根据所述处理器 105的指示以及所述镜像模式,将所述源内存卡的内存数据 写入所述备份内存卡。
具体地, 在所述处理器 105执行 BIOS 104的内存数据的迁移指令, 确 定所述源内存卡 101-A和所述备份内存卡 101-C之后,可以在所述源内存卡 的内存控制器 102-A中配置所述备份内存卡的标识,在所述备份内存卡的内 存控制器 109中配置所述源内存卡的标识,以使得所述源内存卡 101-A与所 述备份内存卡 101-C之间设置为镜像模式。 当然设置镜像模式还包括建立所 述源内存卡 101-A与所述备份内存卡 101-C之间的数据传输通道等操作,具 体实现在此不做赘述。 所述处理器 105执行 BIOS 104的内存数据的迁移指令时, 还可以根据 BIOS 104的指令向所述源内存卡的内存控制器发送数据读指令,所述数据读 指令用于指示所述源内存卡的内存控制器 102-A读取所述源内存卡 101-A的 数据,接收所述源内存卡的内存控制器 102-A发送的所述数据读指令的响应 消息后, 还可以向所述源内存卡的内存控制器 102-A发送数据写指令, 所述 数据写指令用于指示所述源内存卡的内存控制器 102-A将所述读取的数据 写回所述源内存卡 101-A。 从而所述源内存卡的内存控制器 102-A可以根据 所述处理器 105发送的数据读指令, 读取所述源内存卡 101-A的数据, 根据 所述处理器 105 发送的数据写指令将所述读取的数据写回所述源内存卡 101-A, 以及 居所述源内存卡的内存控制器 102-A中配置的所述备份内存 卡的标识, 将所述读取的数据写入所述备份内存卡的内存控制器 102-C, 所 述备份内存卡的内存控制器 102-C 将接收到的数据写入所述备份内存卡 101-C , 从而实现了所述源内存卡 101-A 的数据迁移到所述备份内存卡 101-C。
通过上述方式,所述处理器 105可以将所述源内存卡 101-A的所有数据 迁移到所述备份内存卡 101-C, 保证了内存数据的完整迁移。 并且, 由于源 内存卡和备份内存卡设置成了镜像模式, 在退出 BIOS执行 OS的指令的时 候, 所述 OS对源内存卡的任何写操作都会同时写到备份内存卡上, 保证了 在备份内存卡上的已经迁移的内存数据的准确性。
关于对非错误数据进行迁移
当内存卡中的错误数据过多时, 可能导致内存卡故障甚至引起计算机的 重启, 因此,在进行内存数据迁移的过程中,可以只对非错误数据进行迁移。
所述处理器在执行所述 BIOS 104的内存数据的迁移指令进行内存数据 的迁移时,还可以指示所述源内存卡的内存控制器 102-A确定所述源内存卡 101-A中的非错误数据, 并根据检测结果打上检测标记, 例如获取所述源内 存卡的内存控制器 102-A确定的所述非错误数据的信息,从而可以根据所述 检错标记指示所述源内存卡的内存控制器 102-A对所述非错误数据进行迁 移, 避免将所述源内存卡 101-A中的错误数据迁移到所述备份内存卡 101-C 而可能导致的计算机重启或可能导致的所述备份内存卡 101-C产生故障。 关于迁移条件
为了保证内存数据迁移的顺利进行, 在进行内存数据迁移之前, 所述处 理器 105可以检查所述备份内存卡 101-C是否满足迁移条件,即是否可以作 为所述源内存卡 101-A数据迁移数据的目标设备,避免由于所述备份内存卡 101-C由于未完成初始化或者内存容量不够等情况而导致的数据迁移失败。
具体地, 所述处理器执行所述 BIOS 104的内存数据的迁移指令时, 还 可以执行如下操作: 在指示所述源内存卡的内存控制器 1012-A将所述源内 存卡 101-A的数据迁移到所述备份内存卡 101-C之前,确定所述备份内存卡 101-C是否完成初始化, 若所述备份内存卡 101-C完成初始化, 则将所述源 内存卡 101-A和所述备份内存卡 101-C设置为镜像模式,以便后续进行内存 数据的迁移;
所述处理器 105执行所述 BIOS 104的内存数据的迁移指令时, 还可以 确定所述备份内存卡 101-C的内存容量是否大于所述源内存卡 101-A的内存 容量,若所述备份内存卡 101-C的内存容量是大于所述源内存卡 101-A的内 存容量, 则确定满足所述迁移条件, 可以后续将所述源内存卡 101-A的内存 数据迁移到所述备份内存卡 101 -C。
所述处理器 105执行所述 BIOS 104的内存数据的迁移指令时, 还可以 确定所述源内存卡 101-A与所述备份内存卡 101-C是否属于同一个处理器控 制, 如果不属于, 表示可以将所述源内存卡 101-A的数据迁移到所述备份内 存卡 101-C, 从而将所述源内存卡 106和所述备份内存卡 107设置为镜像模 式, 以便后续进行内存数据的迁移。 关于内存数据迁移完成之后的 ^内存卡与源内存卡的替换 当所述源内存卡的内存控制器 102-A将所述源内存卡 101-A的数据全部 迁移到所述备份内存卡 101-C之后, 所述处理器 105执行所述 BIOS 104的 内存数据的迁移指令时,还可以建立所述源内存卡 101-A的系统地址与所述 备份内存卡 101-C的映射关系, 将所述源内存卡的系统地址指向的目标内存 卡更改为所述备份内存卡,使得所述备份内存卡 101-C可以替代所述源内存 卡 101-A, 接管所述 OS 103对所述源内存卡 101-A的所有读写操作。
在所述备份内存卡已经替换了所述源内存卡之后, 所述处理器 105还可 以对所述源内存卡 101-A执行下电操作,使得在所述计算机在不下电的情况 下, 可以移除或者更换所述源内存卡 101-A, 解决了现有技术中需要对整个 计算机下电才能进行故障内存卡的更换或维护的问题。 一种内存数据的迁移方法
结合图 1所示的计算机,本发明实施例提供了一种内存数据的迁移方法, 用于迁移计算机中的内存数据, 所述计算机的基本输入输出系统中存储有内 存数据的迁移指令, 如图 2所示, 所述方法包括:
S201 : 所述计算机的处理器在执行 OS的指令时, 接收第一触发指令。 所述第一触发指令可以由源内存卡的内存控制器根据源内存卡的故障 状况触发, 例如, 源内存卡的内存控制器监控到某一个源内存卡出现多次错 误, 已经达到预设阈值, 可以触发该第一触发指令指示处理器对所述出现多 次错误的源内存卡启动内存数据的迁移; 所述第一触发指令还可以由 OS根 据用户的指示触发处理器触发所述第一触发指令,例如,用户有迁移需求时, 可以主动向 OS发送启动指令, OS根据所述启动指令指示处理器触发所述 第一触发指令, 又例如, 用户可以在 OS内预置启动策略, 当启动策略被满 足时, 触发处理器触发所述第一触发指令。
S202: 所述处理器根据所述第一触发指令, 执行 BIOS的内存数据的迁 移指令。 所述处理器在获取所述第一触发指令后, 退出操作系统并执行 BIOS的 内存数据的迁移指令, 所述 BIOS的内存数据的迁移指令使得所述处理器执 行步骤 S203-S205。
S203: 所述处理器根据所述 BIOS的内存数据的迁移指令, 确定待迁移 内存数据的源内存卡。
S204: 所述处理器根据所述 BIOS的内存数据的迁移指令, 为所述源内 存卡确定备份内存卡。
所述处理器可以确定所述源内存卡的目标内存卡, 一般来说, 目标内存 卡即备份内存卡。 所述备份内存卡可以是预先配置的。
S205: 所述处理器根据所述 BIOS的内存数据的迁移指令, 指示所述源 内存卡的内存控制器进行内存数据的迁移, 以使得所述源内存卡的内存控制 器根据所述处理器的指示将所述源内存卡的内存数据迁移到所述备份内存 卡。
在确定所述源内存卡和所述备份内存卡之后, 所述处理器可以根据所述 BIOS 的内存数据的迁移指令, 指示所述源内存卡的内存控制器读取所述源 内存卡的内存数据, 将所读取的数据写入所述备份内存卡, 实现从而实现了 所述源内存卡的内存数据迁移到所述备份内存卡。 在本发明实施例中, 所述 处理器可以接收第一触发指令, 根据所述第一触发指令, 退出操作系统并执 行所述 BIOS的内存数据的迁移指令, 所述 BIOS的内存数据的迁移指令使 得所述处理器确定确定待迁移内存数据的源内存卡和所述源内存卡的备份 内存卡, 以及指示所述源内存卡的内存控制器将所述源内存卡的内存数据写 入所述备份内存卡, 从而在计算机不下电的情况下, 能够对所述源内存卡的 内存数据进行迁移, 实现了对故障内存卡的在线维护, 解决了现有技术中需 要对整个计算机下电才能进行故障内存卡的更换或维护的问题。 此外, 由于 所述处理器是执行 BIOS的指令完成内存数据的迁移, 能够实现对 OS内核 模块所在的内存卡的数据进行迁移, 避免了不能对 OS内核模块数据进行迁 移的问题。
方法具体实施例一
结合图 1所示的计算机,本发明实施例提供了一种内存数据的迁移方法, 如图 3所示, 用于迁移计算机中内存数据, 所述计算机的 BIOS中存储有内 存数据的迁移指令, 例如, 可以将源内存卡的内存数据迁移到备份内存卡, 所述源内存卡可以是内存卡 101-A, 所述备份内存卡可以是内存卡 101-C , 所述内存卡 101-C可以是计算机开机之前已经插入硬件插槽的内存卡,也可 以是临时新增的内存卡, 在进行内存数据迁移之前, 所述内存卡 101-C的标 识被配置在 ACPI列表中并在执行迁移之前执行完毕特殊初始化过程即可, 本发明实施例的内存数据的迁移方法可以包括:
S301 : 处理器根据 BIOS的指令获取指定的备份内存卡的标识并配置到 ACPI列表中。
在所述计算机开机启动时, 处理器执行所述 BIOS的指令, 可以为用户 呈现 BIOS的起始菜单, 用户通过 BIOS的起始菜单配置指定的备份内存卡 的标识,所述处理器可以获得用户配置的备份内存卡的标识,并记录在 ACPI 当然, 所述处理器还可以将所述备份内存卡的标识记录在其它存储单元或列 表中, 所述处理器后续可以获取记录的所述备份内存卡的标识即可, 本发明 实施例在此不作限定。
所述备份内存卡的标识可以是所述备份内存卡所插入的槽位的槽位编 号或者所述槽位相关的号码。 在本发明实施例中, 所述备份内存卡可以是在 计算机开机启动前就已经插入槽位中, 也可以是在计算机开机启动后再插入 到槽位中的, 如果所述备份内存卡已经插入槽位中, 则所述备份内存卡的标 识为当次插入的槽位的槽位编号, 如果所述备份内存卡还未插入到槽位中, 则所述备份内存卡的标识可以是用户指定的槽位的槽位编号, 所述备份内存 卡可以在后续直接插入所述用户指定的槽位。
步骤 301为可选步骤, 用户并不一定要在计算机开机启动时将所述备份 内存卡的标识提供给处理器,还可以在计算机开机启动后将所述备份内存卡 的标识提供给处理器, 此时所述处理器执行 OS的指令, 用户可以通过 OS 将所述备份内存卡的标识提供给所述处理器。
S302:所述处理器根据所述 BIOS的指令对所述备份内存卡进行初始化, 所述初始化过程避免为所述备份内存卡分配系统地址。
所述处理器获取用户指定的所述备份内存卡的标识之后, 可以重新启动 计算机, 执行所述 BIOS的指令以对所述备份内存卡进行特殊的初始化, 即 初始化过程避免为所述备份内存卡分配系统地址,使得所述备份内存卡准备 就绪, 但是对 OS不可见。
具体地, 在计算机重启时, 所述处理器将执行 BIOS的初始化指令, 所 述 BIOS的初始化指令可以使得所述处理器确定所述备份内存卡是否已经插 入槽位, 如果已经插入槽位, 即确定所述备份内存卡已经硬件存在, 则可以 对所述备份内存卡进行初始化。
当然, 本步骤为可选步骤, 实际上, 所述处理器也可以不重启计算机对 所述备份内存卡进行初始化, 而是在后续需要使用该备份内存卡的时候, 例 如迁移前, 确定所述备份内存卡未完成初始化时, 再对所述备份内存卡进行 初始化。
S303: 源内存卡的内存控制器对所述源内存卡的错误数据进行监控, 判 断所述错误数据是否超过阈值, 若所述错误数据超过阈值, 则所述源内存卡 的内存控制器触发第一触发指令。
由于当内存卡中的错误数据超过一定值时, 可能导致该内存卡发生故 障, 甚至引起计算机重启, 因此, 在计算机开机启动时, 所述处理器可以执 行所述 BIOS的指令对所述源内存卡的内存控制器进行配置, 使得所述源内 存卡的内存控制器可以对所述源内存卡的错误数据进行监控, 当所述源内存 卡的错误数据超过阈值时, 触发所述第一触发指令, 所述第一触发指令用于 指示处理器退出 OS并执行 BIOS的内存数据迁移指令, 以启动内存数据的迁 移, 其中, 所述阈值可以由所述处理器在计算机开机启动时配置到源内存卡 的内存控制器,使得所述源内存卡的内存控制器在开机启动后就可以统计所 述源内存卡中的错误数据, 对所述源内存卡进行实时监测。
如果计算机中的源内存卡有多个时, 可以对每个源内存卡的错误数据进 行监控, 当监控到其中任何一个源内存卡的错误数据超过所述阈值时, 触发 所述第一触发指令, 指示 BIOS启动对该内存卡的内存数据迁移。
所述源内存卡的内存控制器触发所述第一触发指令具体可以是触发计 算机系统管理中断 SMI,所述处理器接收到所述源内存卡的内存控制器触发 的所述 SMI中断之后, 进入系统管理( System Management, SM )模式, 此 时所述处理器将退出 OS并执行 BIOS的指令。
在本发明实施例中, 能够对计算机中的源内存卡进行监控, 所述处理器 能够针对有问题的源内存卡触发所述第一触发指令, 进行内存数据的迁移, 能够保证故障及时解决, 并且只在源内存卡出现故障时才进行内存数据迁 移, 节省了系统资源。
进一步, 所述源内存卡的内存控制器可以在自身的寄存器中记录所述源 内存卡的错误数据的数量超过阈值, 以便后续指示处理器确定出问题的内存 卡即源内存卡。
S 304 : 所述处理器获取所述第一触发指令, 根据所述第一触发指令, 退 出操作系统并执行 BIOS的内存数据的迁移指令。
所述处理器接收到所述 SMI中断之后,进入系统管理模式,此时所述处 理器退出 OS并执行 BIOS的内存数据的迁移指令, 所述内存数据的迁移指令 可以使得所述处理器执行步骤 S 305 -步骤 S 312。
S305: 所述处理器根据所述 BIOS的内存数据的迁移指令, 查询所述源 内存卡的内存控制器, 确定所述源内存卡。
在启动内存数据的迁移之后, 所述处理器需要确定待迁移数据的内存 卡, 即源内存卡, 所述处理器可以执行所述 BIOS的内存数据的迁移指令, 确定触发所述第一触发指令的源内存控制器对应的内存卡为源内存卡, 例 如, 查询所述计算机中的内存控制器的寄存器, 通过所述源内存卡的内存控 制器的寄存器中记录的信息, 确定所述源内存卡。
进一步, 所述处理器在确定所述源内存卡之后, 还可以将所述源内存卡 的标识记录到所述 ACPI列表中, 以使得后续可以通过读取所述 ACPI列表 获取所述源内存卡的信息。
S306: 所述处理器根据所述 BIOS 的内存数据的迁移指令, 查询所述
ACPI列表, 确定所述备份内存卡的标识。 述备份内存卡的标识可能为一个, 还可能为多个, 如果为多个所述备份内存 卡的标识, 则所述处理器可以从所述 ACPI列表中获取多个所述备份内存卡 的标识, 并根据所述源内存卡的信息, 从多个所述备份内存卡的标识中挑选 一个作为所述备份内存卡的标识, 例如根据所述源内存卡的内存容量, 从所 述多个备份内存卡中挑选一个内存容量大于所述源内存卡的内存容量的内 存卡, 确定该内存卡的标识作为所述备份内存卡的标识, 又例如, 可以才艮据 所述源内存卡归属的处理器的信息,从所述多个备份内存卡中挑选一个与所 述源内存卡不属于同一个处理器控制的内存卡,确定该内存卡的标识作为所 述备份内存卡的标识。
S307: 所述处理器根据所述 BIOS的内存数据的迁移指令, 确定所述备 份内存卡是否满足迁移条件。
在进行所述源内存卡的内存数据的迁移之前, 所述处理器需要确定所述 备份内存卡是否满足迁移条件, 如果满足迁移条件, 才对所述源内存卡进行 内存数据的迁移, 保证了内存数据迁移的顺利进行, 避免由于所述备份内存 卡内存容量不够等问题而导致的数据迁移失败。
所述处理器确定所述备份内存卡是否满足迁移条件具体可以是: 确定所 述备份内存卡是否完成初始化, 若所述备份内存卡完成初始化, 则表明所述 备份内存卡准备就绪, 满足迁移条件; 如果在执行本步骤之前, 所述步骤 S302 并未执行, 即如果所述备份内存卡没有完成初始化, 所述处理器可以 在此时执行 BISO的初始化指令, 对所述备份内存卡进行特殊的初始化, 使 得所述备份内存卡准备就绪, 满足迁移条件。
进一步, 确定所述备份内存卡是否满足迁移条件还可以是: 确定所述备 份内存卡的内存容量是否大于所述源内存卡的内存容量,如果大于所述源内 存卡的内存容量, 则表明可以将所述源内存卡的内存数据迁移到所述备份内 存卡, 所述备份内存板满足迁移条件; 或者,
确定所述源内存卡与所述备份内存卡是否属于同一个处理器控制,如果 确定不属于同一个处理器控制, 则表明可以将所述源内存卡的内存数据迁移 到所述备份内存卡, 所述备份内存板满足迁移条件。
S308: 若所述备份内存卡满足迁移条件, 则所述处理器根据所述 BIOS 的内存数据的迁移指令, 指示所述源内存卡的内存控制器执行内存巡检操 作, 以确定所述源内存卡中的非错误数据。
在进行内存数据迁移之前, 所述处理器可以指示所述源内存卡的内存控 制器执行内存巡检操作, 以确定所述源内存卡中的非错误数据, 并根据检测 结果打上检测标记,使得后续将所述源内存卡的内存数据迁移到所述备份内 存卡时, 能够根据所述检错标记只迁移所述源内存卡中的非错误数据, 避免 了将错误数据迁移到所述备份内存卡而导致的计算机重启等问题。
所述源内存卡的内存控制器, 能够根据所述处理器的指示, 启动内存巡 检操作, 所述内存巡检操作具体可以是, 根据设定的检错机制, 对所述源内 存卡的内存数据进行检测, 以判断所述源内存卡中哪些数据是错误数据, 并 标记所述错误数据的系统地址, 即根据检测结果打上检测标记, 使得后续进 行内存数据迁移时, 所述处理器能够根据标记的所述错误数据的系统地址, 迁移所述源内存卡中的非错误数据。
所述源内存卡的内存控制器在执行完巡检操作之后,可以对自身的寄存 器进行配置, 所述处理器可以通过查询该寄存器, 确定所述巡检操作是否完 成, 当所述巡检操作完成之后, 所述处理器可以执行步骤 309, 即将所述源 内存卡和所述备份内存卡设置为镜像模式, 以进行内存数据的迁移。
此步骤为可选步骤, 所述处理器并不一定要指示所述源内存控制器进行 内存巡检操作。
S309: 若所述备份内存卡满足迁移条件, 则所述处理器根据所述 BIOS 的内存数据的迁移指令, 将所述源内存卡和所述备份内存卡设置为镜像模 式。
为了实现内存数据的迁移, 所述处理器可以将所述源内存卡和所述备份 内存卡设置为镜像模式, 在设置了所述镜像模式之后, 所述源内存卡的内存 控制能够根据所述处理器的指示,将所述源内存卡的内存数据写入所述备份 内存卡。
具体地, 所述处理器在执行所述 BIOS的内存数据的迁移指令时, 可以 在所述源内存卡的内存控制器中配置所述备份内存卡的标识,在所述备份内 存卡的内存控制器中配置所述源内存卡的标识, 以使得所述源内存卡与所述 备份内存卡之间设置为镜像模式,从而所述源内存卡能够根据所述处理器的 指示, 将所述源内存卡的内存数据发送到所述备份内存卡的内存控制器, 使 得所述备份内存卡的内存控制器将所述源内存卡的内存数据写入所述备份 内存卡。
此外, 将所述源内存卡和所述备份内存卡设置为镜像模式还可以包括, 所述处理器将所述源内存卡的内存控制器的地址配置信息复制到所述备份 内存卡的内存控制器,使得所述备份内存卡按照所述源内存卡的地址分配方 式, 为所述备份内存卡分配系统地址。 S310: 所述处理器根据所述 BIOS的内存数据的迁移指令, 指示所述源 内存卡的内存控制器进行内存数据的迁移。
所述处理器在配置所述源内存卡与所述备份内存卡之间的镜像模式之 后, 可以指示所述源内存卡的内存控制器对所述源内存卡进行内存数据的迁 移。
具体地, 所述处理器可以向所述源内存卡的内存控制器发送数据读指 令, 所述数据读指令用于指示所述源内存卡的内存控制器读取所述源内存卡 的内存数据, 在确定所述源内存卡的内存控制器完成所述数据读指令之后, 所述处理器可以向所述源内存卡的内存控制器发送数据写指令, 所述数据写 指令用于指示所述源内存卡的内存控制器将所述读取的数据写回所述源内 存卡, 从而使得所述源内存卡的内存控制器可以根据所述数据读指令, 读取 所述源内存卡的内存数据, 然后再根据所述数据写指令, 将所述读取的数据 写入所述源内存卡, 以及根据所述镜像模式, 将所述读取的数据发送给所述 备份内存卡的内存控制器,使得所述备份内存卡的内存控制器能够将所述读 取的数据写入所述备份内存卡, 实现了内存数据的迁移, 能够将所述源内存 卡的所有内存数据迁移到所述备份内存卡, 而不仅仅只迁移启动内存数据迁 移后, 新写入所述源内存卡中的数据。
由于在进行内存数据迁移的过程中, 所述处理器如果一直执行 BIOS的 指令来进行内存数据的迁移, 将在较长的时间内无法执行 OS的指令以进行 态, 因此所述处理器可以分多次进行内存数据的迁移, 例如, 在完成一次内 存数据迁移之后, 所述处理器可以退出所述 BIOS, 执行所述 OS 的指令, 进行正常的业务处理, 直到进行下一次内存数据迁移时, 再退出所述 OS, 再次执行所述 BIOS的内存数据的迁移指令, 以继续进行内存数据的迁移。 这种分多次进行内存数据的迁移的方式, 使得处理器交替执行 OS和 BIOS 的指令, 并最终完成了内存数据的迁移, 避免了系统业务的长时间中断, 保 证了系统的正常运行。 在本发明实施例中, 为了实现上述分多次进行内存数 据的迁移方法, 可以对所述 BIOS的内存数据的迁移指令进行进一步改进, 例如预先在所述 BIOS的内存数据的迁移指令中配置每次迁移的数据量或每 次迁移的时长, 即配置分次迁移策略, 使得所述处理器执行所述 BIOS的内 存数据的迁移指令时, 可以按照所述分次迁移策略, 指示所述源内存卡的内 存控制器分多次进行内存数据的迁移, 具体地, 所述处理器可以通过以下步 骤指示所述源内存卡的内存控制器分多次进行内存数据的迁移:
a )所述处理器根据所述每次迁移指定的数据量确定当次迁移的数据量, 指示所述源内存卡的内存控制器将所述当次迁移的数据量迁移到所述备份 内存卡, 或者, 所述处理器根据每次迁移的时长确定所述当次迁移的时长确 定当次迁移的时长,指示所述源内存卡的内存控制器在所述当次迁移的时长 内进行内存数据的迁移, 或者根据处理器的运行状态, 指示所述源内存卡的 内存控制器 102-A在处理器的运行状态为空闲的时间段内进行内存数据的 迁移, 其中所述处理器的运行状态为空闲状态可以是处理器的占用率小于设 定阈值;
b )在确定所述源内存卡的内存控制器完成所述当次迁移之后, 所述处 理器退出所述 BIOS并执行所述 OS的指令;
c )所述处理器接收第二触发指令, 所述第二触发指令用于指示所述处 理器返回执行所述 BIOS的指令以继续进行内存数据的迁移
d )所述处理器根据所述 BIOS的指令, 返回执行步骤 a ) , 直至所述源 内存卡的内存数据全部迁移到所述备份内存卡。
在步骤 b ) 中, 所述处理器退出所述 BIOS并执行所述 OS的指令进行 业务处理时, 可能对所述源内存板进行读写操作, 即使所述 OS利用所述处 理器对所述源内存卡中已经迁移的数据块 A进行数据写操作,由于设置了镜 像模式, 所述源内存卡的内存控制器也能够将所述写操作的数据写入所述备 份内存卡的数据块 A, 避免了数据的丟失, 保证了所述备份内存卡与所述源 内存卡数据的一致性。
此外, 用户还可以在所述分次迁移策略中配置所述第二触发指令的触发 条件, 所述第二触发指令的触发条件可以是每次迁移的间隔时长, 则处理器 可以从所述迁移策略中获取所述每次迁移的间隔时长, 并根据所述每次迁移 的间隔时长配置内存迁移定时器, 以使得所述内存迁移定时器根据所述每次 迁移的间隔时长触发所述第二触发指令, 即根据所述每次迁移的间隔时长指 示所述处理器继续进行内存数据的迁移, 例如, 所述处理器可以在计算机的 南桥中设置所述内存迁移定时器;
所述第二触发指令的触发条件还可以是处理器的运行状态, 所述处理器 可以根据自身的运行状态, 触发所述第二触发指令, 例如, 所述处理器的运 行状态可以是处理器处于空闲状态, 或者处理器的占用率小于特定阈值, 所 述处理器在执行所述 OS的指令时可以实时监控自身运行信息, 当处理器的 占用率小于设置的特定阈值时, 触发所述第二迁移指令, 使得所述处理器根 据自身触发的所述第二迁移指令, 退出所述 OS执行所述 BIOS的指令, 继 续进行内存数据的迁移, 当然, 所述处理器还可以利用主板控制单元(Base
Mainboard Controller , BMC )对自身是运行状态进行监控并触发所述第二 触发指令, 本发明实施例在此不作限定。
进一步, 所述处理器在指示所述源内存卡的内存控制器进行内存数据的 迁移时, 可以根据所述源内存卡的内存控制器记录的所述错误数据的地址, 指示所述源内存卡的内存控制器将所述源内存卡中的非错误数据迁移到所 述备份内存卡,避免将所述源内存卡中的错误数据迁移到所述备份内存卡而 可能导致的计算机重启。
S311 : 所述处理器根据所述 BIOS的内存数据的迁移指令, 将所述源内 存卡的系统地址指向的目标内存卡更改为所述备份内存卡。
在内存数据迁移完成之后, 所述处理器可以将源内存卡的系统地址映射 到所述备份内存卡,使得所述源内存卡的系统地址指向的目标内存卡更改为 所述备份内存卡, 所述备份内存卡可以替代所述源内存卡, 接管对所述源内 存卡的所有读写操作。
S312: 所述处理器根据所述 BIOS的内存数据的迁移指令, 对所述源内 存卡执行下电操作。
在所述源内存卡的内存数据迁移完成之后, 所述处理器可以对所述源内 存卡执行下电操作, 使得在所述计算机不下电的情况下, 可以移除或者更换 所述源内存卡,解决了现有技术中需要对整个计算机下电才能进行故障内存 卡的更换或维护的问题。
在本发明实施例中, 所述处理器可以获取第一触发指令, 根据所述第一 触发指令, 退出 OS并执行 BIOS的内存数据的迁移指令, 所述 BIOS的内 存数据的迁移指令使得所述处理器能够确定所述源内存卡和所述备份内存 卡, 并在确定所述备份内存卡满足迁移条件后, 将所述源内存卡和所述备份 内存卡设置为镜像模式, 指示所述源内存卡的内存控制器根据所述镜像模 式, 将所述源内存卡的内存数据写入所述备份内存卡, 从而在计算机不下电 的情况下, 能够对所述源内存卡的内存数据进行迁移, 实现了对故障内存卡 的在线维护,解决了现有技术中需要对整个计算机下电才能进行故障内存卡 的更换或维护的问题。 并且, 所述处理器根据触发的第一触发指令, 启动内 存数据的迁移,只在源内存卡出现故障或需要进行内存数据迁移时才进行内 存数据迁移, 有效节约了系统资源。 此外, 由于所述处理器是执行 BIOS的 指令完成内存数据的迁移, 能够实现对 OS内核模块所在的内存卡的数据进 行迁移, 避免了不能对 OS内核模块数据进行迁移的问题。 。
在本发明实施例中,所述处理器还可以将所述源内存卡的所有数据迁移 到所述备份内存卡, 而不是只迁移在启动内存迁移之后, 新写入所述源内存 卡的内存数据, 保证了内存数据的完整迁移。 进一步, 所述处理器还可以根 据分次迁移策略,指示所述源内存卡的内存控制器分多次将所述源内存卡的 内存数据迁移到所述备份内存卡, 使得在进行内存数据迁移的过程中, 所述 处理器能够根据需求退出 OS执行 BIOS的内存数据的迁移指令, 或者退出 BIOS执行 OS的指令进行业务处理, 从而保证所述计算机的业务能够及时 处理, 避免在进行大量内存数据迁移时导致的计算机业务的长时间中断, 保 障了该计算机的正常运行。 进一步, 所述处理器还能够指示所述源内存卡的 内存控制器确定所述源内存卡中的非错误数据, 并指示所述源内存卡的内存 控制器将所述非错误数据迁移到所述备份内存卡,避免将所述源内存卡中的 错误数据迁移到所述备份内存卡而可能导致的计算机重启。
进一步, 在本发明实施例中, 在进行内存数据迁移之前, 所述处理器还 可以确定所述备份内存卡是否满足迁移条件, 如果满足迁移条件, 才对所述 源内存卡进行内存数据的迁移, 保证了内存数据迁移的顺利进行, 避免由于 所述备份内存卡未完成初始化或者内存容量不够等问题而导致的数据迁移 失败。
具体实施例二
结合图 1所示的计算机,本发明实施例提供了一种内存数据的迁移方法, 如图 3所示, 用于迁移计算机中内存数据, 所述计算机的 BIOS中存储有内 存数据的迁移指令, 例如, 能够将源内存卡的内存数据迁移到备份内存卡, 所述源内存卡可以是内存卡 101-A, 所述备份内存卡可以是内存卡 101-C, 所述内存卡 101-C可以是计算机开机之前已经插入硬件插槽的内存卡,也可 以是临时新增的内存卡, 在进行内存数据迁移之前, 所述内存卡 101-C的标 识被配置在 ACPI列表中并在执行迁移之前执行完毕初始化过程即可, 本发 明实施例的内存数据的迁移方法可以包括:
S401 : 处理器根据 OS的指令将指定的备份内存卡的标识配置到 ACPI 列表中。
在所述计算机开机启动后, 所述处理器执行所述 OS的指令, 用户可以 向所述 OS提供指定备份内存卡的标识, 所述处理器可以根据所述 OS的指 令获取用户指定的备份内存卡的标识, 并配置到所述 ACPI列表中, 由于所 述 ACPI列表为 BIOS和 OS都可以访问的列表, 使得所述处理器后续执行 信息, 当然所述备份内存卡的标识也可以记录在其它的存储单元或者列表 中, 保证所述处理器在执行所述 OS的指令和所述 BIOS的指令时都可以访 问该存储单元或者列表即可, 本发明实施例在此不作限定。
本步骤为可选步骤, 用户还可以在计算机开机启动时指定备份内存卡的 标识, 此时所述处理器运行所述 BIOS的指令, 用户可以向所述 BIOS提供 所述备份内存卡的标识, 所述处理器可以根据所述 BIOS的指令获取用户指 定的所述备份单元的标识。
其中, 所述备份单元的标识可以是所述备份内存卡所插入的槽位的槽位 编号或者所述槽位相关的号码。 在本发明实施例中, 所述备份内存卡可以是 在计算机开机启动前就已经插入槽位中,也可以是在计算机开机启动后再插 入到槽位中的, 如果所述备份内存卡已经插入槽位中, 则所述备份内存卡的 标识为当次插入的槽位的槽位编号, 如果所述备份内存卡还未插入到槽位 中, 则所述备份内存卡的标识可以是用户指定的槽位的槽位编号, 所述备份 内存卡可以在后续直接插入所述用户指定的槽位。
进一步, 所述处理器还可以根据所述 BIOS的指令对所述备份内存卡进 行初始化, 使得所述备份内存卡准备就绪, 可以正常使用, 但是对所述 OS 不可见, 即所述处理器执行所述 OS的指令时不能对所述备份内存卡进行读 写操作, 具体地, 当所述指定的备份内存卡是在计算机开机启动后再插入到 槽位中的, 则可以在所述备份内存卡插入槽位时, 通过所述备份内存卡上的 触发按 ¾, 触发处理器执行所述 BIOS的初始化指令对所述备份内存卡进行 初始化, 当然, 也可以在后续需要使用该备份内存卡的时候, 所述处理器再 执行所述 BIOS的初始化指令对所述备份内存卡进行初始化; 当所述指定的 备份内存卡是在计算机开机启动前就已经插入槽位中, 则在计算机开机启动 时, 所述处理器执行 BIOS的指令, 用户需要通过 BIOS的起始菜单, 配置 所述备份内存卡的标识, 使得所述处理器执行所述 BISO的指令, 在确定所
S402: 所述处理器根据所述 OS的指令将指定的源内存卡的标识配置到 ACPI列表中。
在所述计算机开机启动后, 所述处理器执行所述 OS的指令时, 当用户 发现某个内存卡性能不稳定或是工作时间太长时或者其他需要更换的情况, 可以指定该内存卡为待迁移数据的内存卡, 即源内存卡, 并将所述源内存卡 的标识提供给所述 OS, 所述处理器可以根据所述 OS的指令获取用户指定 的源内存卡的标识, 并将所述源内存卡的标识配置到 ACPI列表中, 以使得 后续所述处理器执行所述 BIOS的内存数据的迁移指令时, 可以通过读取所 述 ACPI列表, 获取所述源内存卡的信息。 标识提供给所述 OS, 还可以一起将所述源内存卡与所述备份内存卡的标识 提供给所述 OS, 使得所述处理器可以分别将所述源内存卡与所述备份内存 卡的标识配置到所述 ACPI列表中, 例如通过步骤 401和 402将所述源内存 卡与所述备份内存卡的标识配置到所述 ACPI列表中, 也可以将所述源内存 卡与所述备份内存卡的标识一起配置到所述 ACPI列表中, 本发明实施例在 此不作限定。
S403: 所述处理器根据所述 OS的指令触发第一触发指令。
在所述处理器执行 OS的指令进行业务处理时, 如果用户有内存数据的 迁移需求, 可以向 OS发送内存数据的迁移指示, 即启动指令, 所述 OS根 据用户发送内存数据的迁移指示, 指令处理器产生所述第一触发指令, 所述 处理器根据所述 OS的指令产生所述第一触发指令, 所述第一触发指令用于 指示所述处理器退出 OS并执行 BIOS的内存数据的迁移指令。
其中, 所述第一触发指令具体可以是 SMI, 例如, 所述处理器可以根据 所述 OS的指令, 改变 GPIO的管脚电平, 使得该计算机的南桥芯片 (South Bridge )触发所述 SMI, 所述处理器可以接收所述 SMI; 又例如, 所述处理 器可以根据所述 OS的指令, 对计算机中的南桥中的寄存器进行配置, 使得 该计算机的南桥触发所述 SMI, 所述处理器可以接收所述 SMI; 在本发明实 施例中, 所述处理器还可以通过其它的方式触发所述第一触发指令, 本发明 实施例在此不作限定。
S404: 所述处理器根据所述第一触发指令, 退出操作系统并执行 BIOS 的内存数据的迁移指令。
所述处理器接收到所述 SMI中断之后,进入系统管理模式,此时所述处 理器退出 OS并执行 BIOS的内存数据的迁移指令, 所述内存数据的迁移指令 可以使得所述处理器执行步骤 S405-步骤 S411。
S405: 所述处理器查询所述 ACPI列表, 确定所述源内存卡和所述备份 内存卡。
由于所述处理器预先在所述 ACPI列表中记录了所述源内存卡和所述备 份内存卡的标识, 因此所述处理器可以查询所述述 ACPI列表中, 获取记录 的所述源内存卡和所述备份内存卡的标识,根据所述源内存卡和所述备份内 存卡的标识, 确定所述源内存卡和所述备份内存卡。
当所述备份内存卡有多个时, 则所述处理器可以从所述 ACPI列表中获 取多个所述备份内存卡的标识, 并根据所述源内存卡的信息, 从多个所述备 份内存卡的标识中挑选一个作为所述备份内存卡的标识, 例如根据所述源内 存卡的内存容量,从所述多个备份内存卡中挑选一个内存容量大于所述源内 存卡的内存容量的内存卡, 确定该内存卡的标识作为所述备份内存卡的标 识, 又例如, 可以根据所述源内存卡归属的处理器的信息, 从所述多个备份 内存卡中挑选一个与所述源内存卡不属于同一个处理器控制的内存卡,确定 该内存卡的标识作为所述备份内存卡的标识。
S406: 所述处理器确定所述备份内存卡是否满足迁移条件。
S407: 若所述备份内存卡满足迁移条件, 则所述处理器指示所述源内存 卡的内存控制器执行内存巡检操作, 以确定所述源内存卡中的非错误数据。
S408: 若所述备份内存卡满足迁移条件, 则所述处理器将所述源内存卡 和所述备份内存卡设置为镜像模式。
S409: 所述处理器指示所述源内存卡的内存控制器进行内存数据的迁 移。
S410:所述处理器建立所述源内存卡的系统地址与所述备份内存卡的映 射关系。
S411 : 所述处理器对所述源内存卡执行下电操作。
在本发明实施例中, 步骤 S406-S411的具体实施方式与步骤 S307-S312 类似, 在此不再赘述。
在所述源内存卡的内存数据迁移完成之后, 所述处理器可以对所述源内 存卡执行下电操作, 使得在所述计算机不下电的情况下, 可以移除或者更换 所述源内存卡,解决了现有技术中需要对整个计算机下电才能进行故障内存 卡的更换或维护的问题。
在本发明实施例中, 所述处理器可以获取第一触发指令, 根据所述第一 触发指令, 退出 OS并执行 BIOS的内存数据的迁移指令, 所述 BIOS的内 存数据的迁移指令使得所述处理器能够确定所述源内存卡和所述备份内存 卡, 并在确定所述备份内存卡满足迁移条件后, 将所述源内存卡和所述备份 内存卡设置为镜像模式, 指示所述源内存卡的内存控制器根据所述镜像模 式, 将所述源内存卡的内存数据写入所述备份内存卡, 从而在计算机不下电 的情况下, 能够对所述源内存卡的内存数据进行迁移, 实现了对故障内存卡 的在线维护,解决了现有技术中需要对整个计算机下电才能进行故障内存卡 的更换或维护的问题。 并且, 所述处理器根据触发的第一触发指令, 启动内 存数据的迁移,只在源内存卡出现故障或需要进行内存数据迁移时才进行内 存数据迁移, 有效节约了系统资源。 此外, 由于所述处理器是执行 BIOS的 指令完成内存数据的迁移, 能够实现对 OS内核模块所在的内存卡的数据进 行迁移, 避免了不能对 OS内核模块数据进行迁移的问题。 。
在本发明实施例中,所述处理器还可以将所述源内存卡的所有数据迁移 到所述备份内存卡, 而不是只迁移在启动内存迁移之后, 新写入所述源内存 卡的内存数据, 保证了内存数据的完整迁移。 进一步, 所述处理器还可以根 据分次迁移策略,指示所述源内存卡的内存控制器分多次将所述源内存卡的 内存数据迁移到所述备份内存卡, 使得在进行内存数据迁移的过程中, 所述 处理器能够根据需求退出 OS执行 BIOS的内存数据的迁移指令, 或者退出 BIOS执行 OS的指令进行业务处理, 从而保证所述计算机的业务能够及时 处理, 避免在进行大量内存数据迁移时导致的计算机业务的长时间中断, 保 障了该计算机的正常运行。 进一步, 所述处理器还能够指示所述源内存卡的 内存控制器确定所述源内存卡中的非错误数据, 并指示所述源内存卡的内存 控制器将所述非错误数据迁移到所述备份内存卡,避免将所述源内存卡中的 错误数据迁移到所述备份内存卡而可能导致的计算机重启。
进一步, 在本发明实施例中, 在进行内存数据迁移之前, 所述处理器还 可以确定所述备份内存卡是否满足迁移条件, 如果满足迁移条件, 才对所述 源内存卡进行内存数据的迁移, 保证了内存数据迁移的顺利进行, 避免由于 所述备份内存卡未完成初始化或者内存容量不够等问题而导致的数据迁移 失败。
本发明实施例提供了一种基本输入输出系统, 如图 5所示, 所述基本输 入输出系统包括计算机执行指令 501 , 所述基本输入输出系统可以是一个处 理芯片, 当计算机的处理器执行所述计算机执行指令 501时, 所述计算机执 行: ¾口下方法:
确定待迁移内存数据的源内存卡;
为所述源内存卡确定备份内存卡;
指示所述源内存卡的内存控制器进行内存数据的迁移, 以使得所述源内 存卡的内存控制器根据所述处理器的指示将所述源内存卡的内存数据迁移 到所述备份内存卡。
进一步,所述计算机还可以根据所述计算机执行指令 501执行如下方法: 将所述源内存卡和所述备份内存卡设置为镜像模式;
所述处理器指示所述源内存卡的内存控制器进行内存数据的迁移, 以使 得所述源内存卡的内存控制器根据所述处理器的指示读取所述源内存卡的 内存数据, 将所读取的所述源内存卡的内存数据写入到所述备份内存卡, 包 括:
所述处理器向所述源内存卡的内存控制器发送数据读指令, 所述数据读 指令用于指示所述源内存卡的内存控制器读取所述源内存卡的内存数据; 所述处理器向所述源内存卡的内存控制器发送数据写指令, 所述数据写 指令用于指示所述源内存卡的内存控制器将所述读取的数据写回所述源内 存卡, 以使得所述源内存卡的内存控制器根据所述处理器的数据读指令读取 所述源内存卡的内存数据, 接收到所述数据写指令后, 根据所述源内存卡和 所述备份内存卡之间的镜像模式,将所读取的所述源内存卡的内存数据发送 给所述备份内存卡的内存控制器。
进一步,所述计算机还可以根据所述计算机执行指令 501执行如下方法: 所述计算机获取分次迁移策略;
所述计算机根据所述分次迁移策略,指示所述源内存卡的内存控制器分 多次进行内存数据的迁移。 进一步, 所述计算机根据所述分次迁移策略指示 所述源内存卡的内存控制器分多次进行内存数据的迁移可以包括:
所述计算机确定当次迁移的数据量,指示所述源内存卡的内存控制器将 所述当次迁移的数据量迁移到所述备份内存卡, 或者, 所述计算机确定当次 迁移的时长,指示所述源内存卡的内存控制器在所述当次迁移的时长内进行 内存数据的迁移;
在确定所述源内存卡的内存控制器完成所述当次迁移之后, 所述计算机 退出所述基本输入输出系统并执行操作系统的指令。 进一步,所述计算机还可以根据所述计算机执行指令 501执行如下方法: 所述计算机确定所述备份内存卡是否满足迁移条件,如果满足所述迁移 条件, 执行所述指示所述源内存卡的内存控制器进行内存数据的迁移的步 骤; 其中, 所述迁移条件包括但不限于以下条件之一或任意组合: 所述备份 内存卡完成初始化、所述备份板的内存容量大于或等于所述源内存卡的内存 谷里。
此外, 所述计算机还可以根据所述计算机执行指令 501 , 在所述备份内 存卡未完成初始化时, 对所述备份内存卡进行初始化, 其中, 所述初始化避 免为所述备份内存卡分配系统地址。
进一步, 当计算机的处理器执行所述计算机执行指令 501时, 在所述计 算机指示所述源内存卡的内存控制器进行内存数据的迁移之前, 所述计算机 还可以执行如下方法:
所述计算机指示所述源内存卡的内存控制器检测所述源内存卡中的非 错误数据并进行标记;
则, 所述计算机根据所述基本输入输出系统的内存数据的迁移指令, 指 示所述源内存卡的内存控制器根据所述标记对所述非错误数据进行迁移。
进一步, 所述计算机还可以根据所述计算机执行指令 501 , 在确定所述 源内存卡的内存数据全部迁移到所述备份内存卡之后,将所述源内存卡的系 统地址指向的目标内存卡更改为所述备份内存卡。
在本发明实施例中, 所述基本输入输出系统包括计算机执行指令 501 , 使得计算机执行所述计算机执行指令 501时, 可以确定待迁移内存数据的源 内存卡、 为所述源内存卡确定备份内存卡, 将所述源内存卡和所述备份内存 卡设置为镜像模式, 指示所述源内存卡的内存控制器根据所述镜像模式, 将 所述源内存卡的内存数据写入所述备份内存卡,从而在计算机不下电的情况 下, 能够对所述源内存卡的内存数据进行迁移, 实现了对故障内存卡的在线 维护,解决了现有技术中需要对整个计算机下电才能进行故障内存卡的更换 或维护的问题。 此外, 由于所述计算机的处理器是执行 BIOS的计算机执行 指令 501完成内存数据的迁移, 能够实现对 OS内核模块所在的内存卡的数 据进行迁移, 避免了不能对 OS内核模块数据进行迁移的问题。
在本发明实施例中,还可以将所述源内存卡的所有数据迁移到所述备份 内存卡, 而不是只迁移在启动内存迁移之后, 新写入所述源内存卡的内存数 据, 保证了内存数据的完整迁移。 进一步, 所述计算机的处理器执行所述计 算机执行指令 501时, 还可以根据分次迁移策略, 指示所述源内存卡的内存 控制器分多次将所述源内存卡的内存数据迁移到所述备份内存卡,使得在进 行内存数据迁移的过程中, 所述处理器能够根据需求退出 OS执行 BIOS的 计算机执行指令 501 , 或者退出 BIOS执行 OS的指令进行业务处理, 从而 保证所述计算机的业务能够及时处理, 避免在进行大量内存数据迁移时导致 的计算机业务的长时间中断, 保障了该计算机的正常运行。 进一步, 所述处 理器还能够指示所述源内存卡的内存控制器确定所述源内存卡中的非错误 数据, 并指示所述源内存卡的内存控制器将所述非错误数据迁移到所述备份 内存卡,避免将所述源内存卡中的错误数据迁移到所述备份内存卡而可能导 致的计算机重启。
进一步, 在本发明实施例中, 在进行内存数据迁移之前, 所述处理器执 行所述计算机执行指令 501时,还可以确定所述备份内存卡是否满足迁移条 件, 如果满足迁移条件, 才对所述源内存卡进行内存数据的迁移, 保证了内 存数据迁移的顺利进行,避免由于所述备份内存卡未完成初始化或者内存容 量不够等问题而导致的数据迁移失败。
本发明的各方面、或各个方面的可能实现方式可以采用计算机程序产品 的形式,计算机程序产品是指存储在计算机可读介质中的计算机可读程序代 码。
计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。 计算机可读存储介质包含但不限于电子、 磁性、 光学、 电磁、 红外或半导体 系统、 设备或者装置, 或者前述的任意适当组合, 如随机存取存储器
(RAM), 只读存储器 (ROM)、 可擦除可编程只读存储器 (EPROM 或者快闪 存储器)、 光纤、 便携式只读存储器 (CD-ROM)。
计算机中的处理器读取存储在计算机可读介质中的计算机可读程序代 码, 使得处理器能够执行在流程图中每个步骤、 或各步骤的组合中规定的功 能动作;生成实施在框图的每一块、或各块的组合中规定的功能动作的装置。
计算机可读程序代码可以完全在用户的计算机上执行、部分在用户的计 算机上执行、 作为单独的软件包、 部分在用户的计算机上并且部分在远程计 算机上, 或者完全在远程计算机或者服务器上执行。 也应该注意, 在某些替 代实施方案中, 在流程图中各步骤、 或框图中各块所注明的功能可能不按图 中注明的顺序发生。 例如, 依赖于所涉及的功能, 接连示出的两个步骤、 或 两个块实际上可能被大致同时执行,或者这些块有时候可能被以相反顺序执 行。
本领域普通技术人员可以意识到, 结合本文中所公开的实施例描述的各 示例的单元及算法步骤, 能够以电子硬件、 或者计算机软件和电子硬件的结 合来实现。 这些功能究竟以硬件还是软件方式来执行, 取决于技术方案的特 定应用和设计约束条件。 专业技术人员可以对每个特定的应用来使用不同方 法来实现所描述的功能, 但是这种实现不应认为超出本发明的范围。
以上所述, 仅为本发明的具体实施方式, 但本发明的保护范围并不局限 于此, 任何熟悉本技术领域的技术人员在本发明揭露的技术范围内, 可轻易 想到变化或替换, 都应涵盖在本发明的保护范围之内。 因此, 本发明的保护 范围应所述以权利要求的保护范围为准。

Claims

权利要求
1、 一种计算机, 包括:
处理器;
基本输入输出系统;
主存储器, 用于加载所述基本输入输出系统的指令以及所述计算机的操 作系统的指令, 所述主存储器包括一个或多个内存卡;
内存控制器, 每个内存卡配置有对应的内存控制器;
其特征在于,
所述处理器用于执行所述操作系统的指令, 并在执行所述操作系统的指 令时接收第一触发指令, 根据所述第一触发指令, 执行所述基本输入输出系 统的内存数据的迁移指令, 所述处理器根据所述基本输入输出系统的内存数 据的迁移指令执行如下操作: 确定待迁移内存数据的源内存卡; 为所述源内 存卡确定备份内存卡; 指示所述源内存卡的内存控制器进行内存数据的迁 移;
所述源内存卡的内存控制器用于接收所述处理器的指示,根据所述处理 器的指示将所述源内存卡的内存数据迁移到所述备份内存卡。
2、 如权利要求 1所述的计算机, 其特征在于, 所述处理器具体用于将 所述源内存卡和所述备份内存卡设置为镜像模式, 向所述源内存卡的内存控 制器发送数据读指令, 所述数据读指令用于指示所述源内存卡的内存控制器 读取所述源内存卡的内存数据, 以及向所述源内存卡的内存控制器发送数据 写指令, 所述数据写指令用于指示所述源内存卡的内存控制器将所述读取的 数据写回所述源内存卡;
所述源内存卡的内存控制器具体用于根据所述处理器的数据读指令读 取所述源内存卡的内存数据, 接收所述处理器发送的所述数据写指令, 根据 所述源内存卡和所述备份内存卡之间的镜像模式,将所读取的所述源内存卡 的内存数据发送给所述备份内存卡的内存控制器; 所述备份内存卡的内存控制器用于将接收到的所述源内存卡的内存数 据写入到所述备份内存卡。
3、 如权利要求 1或 2所述的计算机, 其特征在于, 所述处理器具体用 于获取分次迁移策略, 根据所述分次迁移策略, 指示所述源内存卡的内存控 制器分多次进行内存数据的迁移。
4、 如权利要求 3所述的计算机, 其特征在于, 所述处理器具体用于根 据所述分次迁移策略执行如下操作 a ) -d ) , 直至将所述源内存卡的内存数 据全部迁移到所述备份内存卡, 所述操作 a ) -d ) 包括:
a )确定当次迁移的数据量, 指示所述源内存卡的内存控制器将所述当 次迁移的数据量迁移到所述备份内存卡, 或者, 确定当次迁移的时长, 指示 所述源内存卡的内存控制器在所述当次迁移的时长内进行内存数据的迁移; b )在确定所述源内存卡的内存控制器完成所述当次迁移之后, 退出所 述基本输入输出系统并执行所述操作系统的指令;
c )接收第二触发指令, 所述第二触发指令用于指示所述处理器返回执 行所述基本输入输出系统的内存数据的迁移指令;
d )根据所述基本输入输出系统的内存数据的迁移指令, 返回执行步骤 a ) 。
5、 如权利要求 4所述的计算机, 其特征在于, 所述分次迁移策略包括 每次迁移指定的数据量或每次迁移的时长;
则所述处理器根据所述每次迁移指定的数据量确定所述当次迁移的数 据量, 或根据每次迁移的时长确定所述当次迁移的时长。
6、 根据权利要求 5所述的计算机, 其特征在于, 所述分次迁移策略还 包括每次迁移的间隔时长或中央处理器的运行状态, 所述第二触发指令根据 所述每次迁移的间隔时长或中央处理器的运行状态被触发。
7、 根据权利要求 1-6任一项所述的计算机, 其特征在于, 所述源内存 卡的内存控制器还用于对所述源内存卡的错误数据进行监控, 若所述错误数 据的数量超过阈值, 触发所述第一触发指令;
所述处理器具体用于接收所述源内存卡的内存控制器触发的所述第一 触发指令。
8、 根据权利要求 7所述的计算机, 其特征在于,
所述源内存卡的内存控制器还用于在自身的寄存器中记录所述源内存 卡的错误数据的数量超过阈值;
所述处理器具体用于查询所述源内存卡的内存控制器的寄存器,确定所 述源内存卡。
9、 根据权利要求 1-6任一项所述的计算机, 其特征在于, 所述操作系 统还用于配置内存数据的迁移的启动策略,或者接收用户发送的内存数据的 迁移的启动指令, 所述操作系统根据所述启动策略或启动指令指示所述处理 器产生所述第一触发指令。
10、 根据权利要求 9所述的计算机, 其特征在于, 所述启动策略或者启 动指令还包括所述源内存卡的标识;
所述操作系统还用于指示所述处理器将所述源内存卡的标识记录到存 储模块;
所述处理器具体用于根据所述基本输入输出系统的内存数据的迁移指 令, 查询所述存储模块, 确定所述源内存卡的标识。
11、 根据权利要求 7-10任一项所述的计算机, 其特征在于, 所述处理 器还用于根据所述操作系统或者所述基本输入输出系统的指令,在存储模块 中预先配置所述备份内存卡的标识;
在所述处理器执行所述基本输入输出系统的内存数据的迁移指令之后, 所述处理器具体用于查询所述存储模块,确定预先配置的所述源内存卡的标 识。
12、 根据权利要求 1-11任一项所述的计算机, 其特征在于, 所述处理 器具体用于确定所述备份内存卡是否满足迁移条件, 如果满足所述迁移条 件, 执行所述指示所述源内存卡的内存控制器进行内存数据的迁移的操作; 所述迁移条件包括但不限于以下条件之一或任意组合: 所述备份内存卡 完成初始化、 所述备份板的内存容量大于或等于所述源内存卡的内存容量。
13、 根据权利要求 12所述的计算机, 其特征在于, 所述处理器还用于 述初始化避免为所述备份内存卡分配系统地址。
14、 根据权利要求 1-13 任一项所述的计算机, 其特征在于, 所述处理 器还用于指示所述源内存卡的内存控制器检测所述源内存卡中的非错误数 据;
所述源内存卡的内存控制器还用于根据所述处理器的检测指示,确定所 述源内存卡中的非错误数据, 并根据检测结果打上检测标记;
所述处理器具体用于根据所述基本输入输出系统的内存数据的迁移指 令,指示所述源内存卡的内存控制器根据所述检测标记对所述非错误数据进 行迁移。
15、 根据权利要求 1-14任一项所述的计算机, 其特征在于, 所述处理 器还用于在确定所述源内存卡的内存数据全部迁移到所述备份内存卡之后, 将所述源内存卡的系统地址指向的目标内存卡更改为所述备份内存卡。
16、 一种内存数据的迁移方法, 其特征在于, 用于迁移计算机中的内存 数据, 所述方法包括:
所述计算机的处理器在执行操作系统的指令时, 接收第一触发指令; 所述处理器根据所述第一触发指令,执行基本输入输出系统的内存数据 的迁移指令;
所述处理器根据所述基本输入输出系统的内存数据的迁移指令执行如 下操作:
确定待迁移内存数据的源内存卡;
为所述源内存卡确定备份内存卡; 指示所述源内存卡的内存控制器进行内存数据的迁移, 以使得所述源内 存卡的内存控制器根据所述处理器的指示将所述源内存卡的内存数据迁移 到所述备份内存卡。
17、 根据权利要求 16所述的方法, 其特征在于, 所述方法还包括: 所述处理器将所述源内存卡和所述备份内存卡设置为镜像模式; 所述处理器指示所述源内存卡的内存控制器进行内存数据的迁移, 以使 得所述源内存卡的内存控制器根据所述处理器的指示读取所述源内存卡的 内存数据, 将所读取的所述源内存卡的内存数据写入到所述备份内存卡, 包 括:
所述处理器向所述源内存卡的内存控制器发送数据读指令, 所述数据读 指令用于指示所述源内存卡的内存控制器读取所述源内存卡的内存数据; 所述源内存卡的内存控制器根据所述处理器的数据读指令读取所述源 内存卡的内存数据;
所述处理器向所述源内存卡的内存控制器发送数据写指令, 所述数据写 指令用于指示所述源内存卡的内存控制器将所述读取的数据写回所述源内 存卡;
所述源内存卡的内存控制器接收所述处理器发送的所述数据写指令,根 据所述源内存卡和所述备份内存卡之间的镜像模式,将所读取的所述源内存 卡的内存数据发送给所述备份内存卡的内存控制器, 以使得所述备份内存卡 的内存控制器将接收到的所述源内存卡的内存数据写入到所述备份内存卡。
18、 根据权利要求 16或 17所述的方法, 其特征在于, 在所述处理器指 示所述源内存卡的内存控制器进行内存数据的迁移之前, 还包括:
所述处理器获取分次迁移策略;
贝 所述处理器根据所述分次迁移策略, 指示所述源内存卡的内存控制 器分多次进行内存数据的迁移。
19、 根据权利要求 18所述的方法, 其特征在于, 所述处理器根据所述分次迁移策略指示所述源内存卡的内存控制器分 多次进行内存数据的迁移, 包括:
a )所述处理器确定当次迁移的数据量, 指示所述源内存卡的内存控制 器将所述当次迁移的数据量迁移到所述备份内存卡, 或者, 所述处理器确定 当次迁移的时长,指示所述源内存卡的内存控制器在所述当次迁移的时长内 进行内存数据的迁移;
b )在确定所述源内存卡的内存控制器完成所述当次迁移之后, 所述处 理器退出所述基本输入输出系统并执行操作系统的指令;
c )所述处理器接收第二触发指令, 所述第二触发指令用于指示所述处 理器返回执行所述基本输入输出系统的内存数据的迁移指令;
d )所述处理器根据所述基本输入输出系统的内存数据的迁移指令, 返 回执行步骤 a ) , 直至所述源内存卡的内存数据全部迁移到所述备份内存卡。
20、 根据权利要求 19所述的方法, 所述分次迁移策略包括每次迁移指 定的数据量或每次迁移的时长;
则所述处理器根据所述每次迁移指定的数据量确定所述当次迁移的数 据量, 或根据每次迁移的时长确定所述当次迁移的时长。
21、 根据权利要求 20所述的方法, 其特征在于, 所述分次迁移策略还 包括每次迁移的间隔时长或中央处理器的运行状态, 所述第二触发指令根据 所述每次迁移的间隔时长或中央处理器的运行状态被触发。
22、 根据权利要求 16-21任一项所述的方法, 其特征在于, 还包括: 所述源内存卡的内存控制器对所述源内存卡的错误数据进行监控, 若所 述错误数据的数量超过阈值, 所述源内存卡的内存控制器触发所述第一触发 指令;
则, 所述处理器接收所述源内存卡的内存控制器触发的所述第一触发指 令。
23、 根据权利要求 22所述的方法, 其特征在于, 还包括: 所述源内存卡的内存控制器在自身的寄存器中记录所述源内存卡的错 误数据的数量超过阈值;
所述处理器确定所述源内存卡包括:
所述处理器查询所述源内存卡的内存控制器的寄存器,确定所述源内存 卡。
24、 根据权利要求 16-21任一项所述的方法, 其特征在于, 在所述计算 机的处理器在执行操作系统的指令时, 所述方法还包括: 数据迁移的启动指令指示所述处理器产生所述第一触发指令;
则, 所述处理器接收自身产生的所述第一触发指令。
25、 根据权利要求 24所述的方法, 其特征在于, 所述启动策略或者启 动指令还包括所述源内存卡的标识;
所述方法还包括: 所述处理器将所述源内存卡的标识写入存储模块; 所述处理器确定所述源内存卡包括:
所述处理器根据所述基本输入输出系统的内存数据的迁移指令, 查询所 述存储模块, 确定所述源内存卡。
26、 根据权利要求 22-25任一项所述的方法, 其特征在于, 还包括: 所述处理器在存储模块中预先配置所述备份内存卡的标识;
所述处理器确定所述备份内存卡包括:
所述处理器根据所述基本输入输出系统的内存数据的迁移指令, 查询所 述存储模块, 确定预先配置的所述源内存卡的标识。
27、 根据权利要求 16-26任一项所述的方法, 其特征在于, 所述处理器 指示所述源内存卡的内存控制器进行内存数据的迁移之前, 还包括:
所述处理器确定所述备份内存卡是否满足迁移条件,如果满足所述迁移 条件, 执行所述指示所述源内存卡的内存控制器进行内存数据的迁移的步 骤; 所述迁移条件包括但不限于以下条件之一或任意组合: 所述备份内存卡 完成初始化、 所述备份板的内存容量大于或等于所述源内存卡的内存容量。
28、 根据权利要求 27所述的方法, 其特征在于, 所述方法还包括: 初始化, 其中, 所述初始化避免为所述备份内存卡分配系统地址。
29、 根据权利要求 16-28任一项所述的方法, 其特征在于, 在所述处理 器指示所述源内存卡的内存控制器进行内存数据的迁移之前, 还包括: 所述处理器指示所述源内存卡的内存控制器检测所述源内存卡中的非 错误数据并进行标记;
则, 所述处理器指示所述源内存卡的内存控制器才艮据所述标记对所述非 错误数据进行迁移。
30、 根据权利要求 16-29任一项所述的方法, 其特征在于, 所述方法还 包括:
所述处理器在确定所述源内存卡的内存数据全部迁移到所述备份内存 卡之后,将所述源内存卡的系统地址指向的目标内存卡更改为所述备份内存 卡。
31、 一种基本输入输出系统, 其特征在于, 包括计算机执行指令, 当计 算机的处理器执行所述计算机执行指令时, 所述处理器执行如下方法: 确定待迁移内存数据的源内存卡;
为所述源内存卡确定备份内存卡;
指示所述源内存卡的内存控制器进行内存数据的迁移, 以使得所述源内 存卡的内存控制器根据所述处理器的指示将所述源内存卡的内存数据迁移 到所述备份内存卡。
32、 根据权利要求 31所述的基本输入输出系统, 其特征在于, 所述处 理器还根据所述计算机执行指令执行如下方法:
将所述源内存卡和所述备份内存卡设置为镜像模式; 所述指示所述源内存卡的内存控制器进行内存数据的迁移, 以使得所述 源内存卡的内存控制器根据所述指示读取所述源内存卡的内存数据,将所读 取的所述源内存卡的内存数据写入到所述备份内存卡, 包括:
向所述源内存卡的内存控制器发送数据读指令, 所述数据读指令用于指 示所述源内存卡的内存控制器读取所述源内存卡的内存数据;
向所述源内存卡的内存控制器发送数据写指令, 所述数据写指令用于指 示所述源内存卡的内存控制器将所述读取的数据写回所述源内存卡, 以使得 所述源内存卡的内存控制器根据所述处理器的数据读指令读取所述源内存 卡的内存数据, 接收到所述数据写指令后, 根据所述源内存卡和所述备份内 存卡之间的镜像模式,将所读取的所述源内存卡的内存数据发送给所述备份 内存卡的内存控制器。
33、 根据权利要求 31或 32所述的基本输入输出系统, 其特征在于, 所 述处理器还根据所述计算机执行指令执行如下方法:
获取分次迁移策略;
根据所述分次迁移策略,指示所述源内存卡的内存控制器分多次进行内 存数据的迁移。
34、 根据权利要求 33所述的基本输入输出系统, 其特征在于, 所述处 理器根据所述分次迁移策略指示所述源内存卡的内存控制器分多次进行内 存数据的迁移, 包括:
确定当次迁移的数据量,指示所述源内存卡的内存控制器将所述当次迁 移的数据量迁移到所述备份内存卡, 或者, 确定当次迁移的时长, 指示所述 源内存卡的内存控制器在所述当次迁移的时长内进行内存数据的迁移;
在确定所述源内存卡的内存控制器完成所述当次迁移之后, 退出所述基 本输入输出系统并执行操作系统的指令内存卡内存卡。
35、根据权利要求 31-34任一项所述的基本输入输出系统,其特征在于, 所述处理器还根据所述计算机执行指令执行如下方法: 确定所述备份内存卡是否满足迁移条件, 如果满足所述迁移条件, 执行 所述指示所述源内存卡的内存控制器进行内存数据的迁移的步骤;
所述迁移条件包括但不限于以下条件之一或任意组合: 所述备份内存卡 完成初始化、 所述备份板的内存容量大于或等于所述源内存卡的内存容量。
36、 根据权利要求 35所述的基本输入输出系统, 其特征在于, 所述处 理器还根据所述计算机执行指令执行如下方法:
在所述备份内存卡未完成初始化时, 对所述备份内存卡进行初始化, 其 中, 所述初始化避免为所述备份内存卡分配系统地址。
37、根据权利要求 31-36任一项所述的基本输入输出系统,其特征在于, 在所述处理器指示所述源内存卡的内存控制器进行内存数据的迁移之前,还 包括:
指示所述源内存卡的内存控制器检测所述源内存卡中的非错误数据并 进行标己;
1 J , 根据所述基本输入输出系统的内存数据的迁移指令, 指示所述源内 存卡的内存控制器根据所述标记对所述非错误数据进行迁移。
38、根据权利要求 31-37任一项所述的基本输入输出系统,其特征在于, 还包括:
在确定所述源内存卡的内存数据全部迁移到所述备份内存卡之后,将所 述源内存卡的系统地址指向的目标内存卡更改为所述备份内存卡。
PCT/CN2013/087650 2013-11-22 2013-11-22 一种内存数据的迁移方法、计算机和装置 WO2015074235A1 (zh)

Priority Applications (9)

Application Number Priority Date Filing Date Title
ES13896846.6T ES2612829T3 (es) 2013-11-22 2013-11-22 Ordenador y método de migración de datos de memoria
ES16197467T ES2727818T3 (es) 2013-11-22 2013-11-22 Método, ordenador y aparato para migrar datos de memoria
JP2016504454A JP6064237B2 (ja) 2013-11-22 2013-11-22 メモリデータを移行するための方法、コンピュータ、および装置
PCT/CN2013/087650 WO2015074235A1 (zh) 2013-11-22 2013-11-22 一种内存数据的迁移方法、计算机和装置
EP16197467.0A EP3206127B1 (en) 2013-11-22 2013-11-22 Method, computer, and apparatus for migrating memory data
EP13896846.6A EP2913754B1 (en) 2013-11-22 2013-11-22 Memory data migration computer and method
CN201380002306.4A CN103827834B (zh) 2013-11-22 2013-11-22 一种内存数据的迁移方法、计算机和装置
US14/709,444 US9424146B2 (en) 2013-11-22 2015-05-11 Method, computer, and apparatus for migrating memory data
US15/217,608 US10049010B2 (en) 2013-11-22 2016-07-22 Method, computer, and apparatus for migrating memory data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/087650 WO2015074235A1 (zh) 2013-11-22 2013-11-22 一种内存数据的迁移方法、计算机和装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/709,444 Continuation US9424146B2 (en) 2013-11-22 2015-05-11 Method, computer, and apparatus for migrating memory data

Publications (1)

Publication Number Publication Date
WO2015074235A1 true WO2015074235A1 (zh) 2015-05-28

Family

ID=50761184

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2013/087650 WO2015074235A1 (zh) 2013-11-22 2013-11-22 一种内存数据的迁移方法、计算机和装置

Country Status (6)

Country Link
US (2) US9424146B2 (zh)
EP (2) EP3206127B1 (zh)
JP (1) JP6064237B2 (zh)
CN (1) CN103827834B (zh)
ES (2) ES2612829T3 (zh)
WO (1) WO2015074235A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020051921A1 (en) * 2018-09-15 2020-03-19 Intel Corporation Runtime cell row replacement in a memory

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6064237B2 (ja) * 2013-11-22 2017-01-25 ▲ホア▼▲ウェイ▼技術有限公司Huawei Technologies Co.,Ltd. メモリデータを移行するための方法、コンピュータ、および装置
WO2015074232A1 (zh) * 2013-11-22 2015-05-28 华为技术有限公司 一种内存数据的迁移方法、计算机和装置
CN105701020B (zh) * 2014-11-28 2018-11-30 华为技术有限公司 一种内存访问的方法、相关装置和系统
CN104778098A (zh) * 2015-04-09 2015-07-15 浪潮电子信息产业股份有限公司 一种内存镜像的方法及系统、一种内存监控器
CN106610786A (zh) * 2015-10-26 2017-05-03 联车(上海)信息科技有限公司 数据存储方法
US10289337B1 (en) * 2015-11-18 2019-05-14 Western Digital Technologies, Inc. Orientation-based data transfer
CN105867847B (zh) * 2016-03-28 2018-11-30 龙芯中科技术有限公司 访存控制方法、装置及系统
CN108664362B (zh) * 2017-03-31 2021-06-15 龙芯中科技术股份有限公司 内存镜像的处理方法、内存控制器及用户设备
JP6679122B1 (ja) * 2019-03-19 2020-04-15 Necプラットフォームズ株式会社 メモリ障害対処システム、情報処理装置及びメモリ障害対処方法
US11900150B2 (en) 2021-12-29 2024-02-13 Quanta Computer Inc. Methods and systems for collection of system management interrupt data
KR20230161864A (ko) * 2022-05-18 2023-11-28 창신 메모리 테크놀로지즈 아이엔씨 메모리 핫 플러그 방법 및 장치, 메모리
CN116909495B (zh) * 2023-09-14 2023-12-15 合肥康芯威存储技术有限公司 一种存储装置及其控制方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040019751A1 (en) * 2002-07-23 2004-01-29 Sharma Debendra Das System and method for memory migration in distributed-memory multi-processor systems
US20040133756A1 (en) * 2003-01-03 2004-07-08 Shaw Mark E. System and method for migrating data between memories
CN102326149A (zh) * 2011-07-28 2012-01-18 华为技术有限公司 内存迁移的实现方法和装置
CN102369511A (zh) * 2011-09-01 2012-03-07 华为技术有限公司 资源迁移方法、装置及系统
CN103198028A (zh) * 2013-03-18 2013-07-10 华为技术有限公司 一种内存数据迁移方法、装置及系统

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5990810A (en) 1995-02-17 1999-11-23 Williams; Ross Neil Method for partitioning a block of data into subblocks and for storing and communcating such subblocks
US6295591B1 (en) * 1999-03-30 2001-09-25 International Business Machines Corporation Method of upgrading and/or servicing memory without interrupting the operation of the system
US6854070B2 (en) * 2000-01-25 2005-02-08 Hewlett-Packard Development Company, L.P. Hot-upgrade/hot-add memory
US6671786B2 (en) * 2001-06-07 2003-12-30 Microsoft Corporation System and method for mirroring memory with restricted access to main physical mirrored memory
JP2003208358A (ja) * 2002-01-11 2003-07-25 Hitachi Ltd 情報処理装置
US7035953B2 (en) * 2002-05-03 2006-04-25 Hewlett-Packard Development Company, L.P. Computer system architecture with hot pluggable main memory boards
US7028215B2 (en) * 2002-05-03 2006-04-11 Hewlett-Packard Development Company, L.P. Hot mirroring in a computer system with redundant memory subsystems
US6910106B2 (en) * 2002-10-04 2005-06-21 Microsoft Corporation Methods and mechanisms for proactive memory management
US7299331B2 (en) * 2003-01-21 2007-11-20 Hewlett-Packard Development Company, L.P. Method and apparatus for adding main memory in computer systems operating with mirrored main memory
US7685341B2 (en) 2005-05-06 2010-03-23 Fotonation Vision Limited Remote control apparatus for consumer electronic appliances
US7328380B2 (en) * 2003-09-11 2008-02-05 Hewlett-Packard Development Company, L.P. Memory scrubbing logic
CN100370759C (zh) 2005-09-06 2008-02-20 上海华为技术有限公司 一种热备份系统和方法
CN100399288C (zh) 2005-09-30 2008-07-02 联想(北京)有限公司 一种内存备份装置和方法
JP2007264976A (ja) * 2006-03-28 2007-10-11 Nec Corp コンピュータシステム、データ退避方法、及び、プログラム
US7694093B2 (en) * 2007-04-27 2010-04-06 Hewlett-Packard Development Company, L.P. Memory module and method for mirroring data by rank
US20090006793A1 (en) * 2007-06-30 2009-01-01 Koichi Yamada Method And Apparatus To Enable Runtime Memory Migration With Operating System Assistance
US20090150721A1 (en) * 2007-12-10 2009-06-11 International Business Machines Corporation Utilizing A Potentially Unreliable Memory Module For Memory Mirroring In A Computing System
US8799586B2 (en) 2009-09-30 2014-08-05 Intel Corporation Memory mirroring and migration at home agent
US8407516B2 (en) * 2009-12-23 2013-03-26 Intel Corporation Controlling memory redundancy in a system
EP2526477B1 (en) * 2010-01-21 2015-03-11 Hewlett Packard Development Company, L.P. Memory controller
US8762793B2 (en) * 2010-08-26 2014-06-24 Cleversafe, Inc. Migrating encoded data slices from a re-provisioned memory device of a dispersed storage network memory
TW201222254A (en) * 2010-11-26 2012-06-01 Inventec Corp Method for protecting data in damaged memory cells by dynamically switching memory mode
CN102725746B (zh) * 2011-07-20 2015-01-21 华为技术有限公司 对分布式计算机系统中内存的管理方法和装置
US8661214B2 (en) * 2011-09-21 2014-02-25 Hitachi, Ltd. Storage system and data migration processing control method
CN103959253B (zh) * 2011-12-01 2018-07-17 英特尔公司 基于硬件的存储器迁移和重新同步方法及系统
CN103324582A (zh) 2013-06-17 2013-09-25 华为技术有限公司 一种内存迁移方法、装置及设备
CN107219999B (zh) * 2013-08-31 2020-06-26 华为技术有限公司 一种服务器中内存模块的数据迁移方法及服务器
JP6064237B2 (ja) * 2013-11-22 2017-01-25 ▲ホア▼▲ウェイ▼技術有限公司Huawei Technologies Co.,Ltd. メモリデータを移行するための方法、コンピュータ、および装置
WO2015074232A1 (zh) * 2013-11-22 2015-05-28 华为技术有限公司 一种内存数据的迁移方法、计算机和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040019751A1 (en) * 2002-07-23 2004-01-29 Sharma Debendra Das System and method for memory migration in distributed-memory multi-processor systems
US20040133756A1 (en) * 2003-01-03 2004-07-08 Shaw Mark E. System and method for migrating data between memories
CN102326149A (zh) * 2011-07-28 2012-01-18 华为技术有限公司 内存迁移的实现方法和装置
CN102369511A (zh) * 2011-09-01 2012-03-07 华为技术有限公司 资源迁移方法、装置及系统
CN103198028A (zh) * 2013-03-18 2013-07-10 华为技术有限公司 一种内存数据迁移方法、装置及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2913754A4 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020051921A1 (en) * 2018-09-15 2020-03-19 Intel Corporation Runtime cell row replacement in a memory
US11481294B2 (en) 2018-09-15 2022-10-25 Intel Corporation Runtime cell row replacement in a memory

Also Published As

Publication number Publication date
EP2913754A4 (en) 2015-09-30
EP2913754B1 (en) 2016-11-09
EP3206127A1 (en) 2017-08-16
US20160328178A1 (en) 2016-11-10
JP2016512912A (ja) 2016-05-09
EP2913754A1 (en) 2015-09-02
ES2612829T3 (es) 2017-05-18
US9424146B2 (en) 2016-08-23
CN103827834B (zh) 2015-09-30
US20150242154A1 (en) 2015-08-27
CN103827834A (zh) 2014-05-28
EP3206127B1 (en) 2019-03-06
JP6064237B2 (ja) 2017-01-25
ES2727818T3 (es) 2019-10-18
US10049010B2 (en) 2018-08-14

Similar Documents

Publication Publication Date Title
WO2015074235A1 (zh) 一种内存数据的迁移方法、计算机和装置
WO2015074232A1 (zh) 一种内存数据的迁移方法、计算机和装置
TWI584196B (zh) 基本輸入輸出系統回復管理系統、電腦程式產品 以及基本輸入輸出系統回復方法
US10241868B2 (en) Server control method and server control device
TWI724415B (zh) 多節點儲存系統及其韌體的更新方法
TW201730763A (zh) 硬體修復方法、硬體修復系統以及計算機可讀取儲存裝置
US20150149750A1 (en) Bios update with service processor without serial peripheral interface (spi) access
WO2018120200A1 (zh) 一种服务器管理方法和服务器
JP2015088014A (ja) 計算機の制御方法及び計算機
US10296218B2 (en) Update control method, update control apparatus, and storage medium
CN115599617B (zh) 总线检测方法、装置、服务器及电子设备
CN105353980B (zh) 一种内存数据的迁移方法、计算机和装置
TW201327139A (zh) 節點置換處理方法與使用其之伺服器系統
WO2024000535A1 (zh) 分区表更新方法、装置、电子设备及存储介质
JP6089543B2 (ja) 試験方法および処理装置
TW201926073A (zh) 具有儲存裝置的伺服器及其運作方法
TW202038093A (zh) 用於監控基板管理控制器之常駐程序的方法
WO2015186226A1 (ja) 計算機、計算機システム、osブート制御方法

Legal Events

Date Code Title Description
REEP Request for entry into the european phase

Ref document number: 2013896846

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2013896846

Country of ref document: EP

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13896846

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2016504454

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE