KR101744401B1 - Method for storaging and restoring system status of computing apparatus and computing apparatus - Google Patents

Method for storaging and restoring system status of computing apparatus and computing apparatus Download PDF

Info

Publication number
KR101744401B1
KR101744401B1 KR1020150111157A KR20150111157A KR101744401B1 KR 101744401 B1 KR101744401 B1 KR 101744401B1 KR 1020150111157 A KR1020150111157 A KR 1020150111157A KR 20150111157 A KR20150111157 A KR 20150111157A KR 101744401 B1 KR101744401 B1 KR 101744401B1
Authority
KR
South Korea
Prior art keywords
memory
computing device
space
processing unit
central processing
Prior art date
Application number
KR1020150111157A
Other languages
Korean (ko)
Other versions
KR20170017355A (en
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 KR1020150111157A priority Critical patent/KR101744401B1/en
Publication of KR20170017355A publication Critical patent/KR20170017355A/en
Application granted granted Critical
Publication of KR101744401B1 publication Critical patent/KR101744401B1/en

Links

Images

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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • 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/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • G06F17/30088
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Retry When Errors Occur (AREA)

Abstract

BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a system state storing and restoring method of a computing apparatus, and a computing apparatus therefor.
A method for storing a system state of a computing device according to an embodiment of the present invention includes a central processing unit, a first memory, a second memory, and a storage, the method comprising: receiving a system stop command of a computing device; Stopping the system if possible, stopping the system, storing the register value of the central processing unit if the available space of the second memory is larger than the space in use of the first memory, performing a snapshot in the second memory .

Description

BACKGROUND OF THE INVENTION 1. Field of the Invention [0001] The present invention relates to a computer system,

A method of storing and restoring a system state of a computing device, and a computing device therefor.

Disks, which are storage devices for existing computing devices, have grown every year, but the growth rate is significantly lower than that of CPUs and DRAMs. This is due to the mechanical operation of the disk, which not only impacts I / O performance but also impacts and energy consumption.

This phenomenon has led to the advent of flash memory, an electronic device, and flash-based SSDs are now one of the main drivers for improving storage performance.

However, flash memory alone has limitations in maximizing storage performance. Since the flash memory operates at the block level as it is, it has the same computing system structure as the disk, and since it can not be overwritten internally, additional software that can cause degradation of system performance such as a garbage collection is required . As in the case of flash memories, in a computing system, simply replacing a storage device has a limited performance improvement unless the overall system structure is changed.

Korean Patent Laid-Open Publication No. 10-2014-0042458 (published Apr. 07, 2014) discloses a file management apparatus of a storage system. The file management apparatus of the storage system includes a line readout management section for storing readout management information A virtual file system for generating a first read request; And one or more first data read out in response to the read-ahead management information and the first read request, and a second read-out request corresponding to the second read-out request input in the file system before the first read- The second data is received, the first data and the second data are compared with each other, and the change information for the read-ahead management information is generated according to the comparison result.

However, the disk is mainly used as the nonvolatile storage device for the conventional maximum power saving mode. However, since the data input / output speed of the disk is very slow, it takes a long time to save / restore the state of the system.

SUMMARY OF THE INVENTION The present invention has been made in view of the above problems, and it is an object of the present invention to provide a method and apparatus for storing and restoring a system state of a computing device that can be efficiently used in a maximum power saving mode and the like.

A method of storing a system state of a computing device according to an embodiment of the present invention includes: receiving a system stop command of the computing device; Storing the register value of the central processing unit if the usable space of the second memory is larger than the space being used in the first memory, And performing a snapshot on the data.

The step of performing the snapshot in the second memory may include storing the data stored in the first memory in the second memory, and the metadata in the second memory includes at least one or more nodes.

The node includes a first node storing first data of the first memory, and the metadata region includes an address of the first node.

A method for storing a system state of a computing device according to another embodiment of the present invention includes: receiving a system stop command of a computing device, the computing device including a central processing unit, a first memory, a second memory, Storing the register value of the central processing unit if the usable space of the second memory is larger than the space being used in the first memory, If the usable space of the first memory is not greater than the space occupied by the first memory, stopping the stopping of the system, and performing a snapshot in the second memory, 2 memory includes a metadata region, at least one or more nodes, and the node includes data, restoration address, next node point The.

Wherein the metadata region includes an address of a first node and an address of the first node is a fixed value.

A method for restoring a system state of a computing device according to an embodiment of the present invention includes a central processing unit, a first memory, a second memory, and a storage, the method comprising: receiving a power supply of the computing device; Determining if snapshot data is present in the memory, and restoring the first memory if the snapshot data stored in the second memory coincides with the version of the current system.

According to another aspect of the present invention, there is provided a method for restoring a system state of a computing device, the method comprising the steps of: if the snapshot data exists, checking whether the snapshot data stored in the second memory coincides with a version of the current system; If the snapshot data stored in the snapshot data does not match the version of the current system, performing a normal boot.

And the central processing unit accesses the address of the first node by checking the metadata in the metadata area of the second memory.

And the second memory is a byte-accessible medium.

A computing device according to an embodiment of the present invention includes a central processing unit, a first memory, a second memory, and storage, wherein the storage receives a system stop command of the computing device, And a program configured to store a register value of the central processing unit and perform a snapshot in the second memory if the usable space of the second memory is larger than the space in use of the first memory do.

A computing device according to another embodiment of the present invention includes a central processing unit, a first memory, a second memory, storage, wherein the storage receives a system stop command of the computing device, Wherein if the usable space of the second memory is larger than the space occupied by the first memory, the usable space of the second memory is stored in the first memory, Wherein the second memory in which the snapshot is performed includes a metadata area, at least one of which is a metadata area, and a second memory in which the snapshot is performed, And the node includes data, a restoration address, and a next node point.

A computing device according to another embodiment of the present invention includes a central processing unit, a first memory, a second memory, and storage, wherein the storage is powered by a computing device, and snapshot data is present in the second memory And to restore the first memory if the snapshot data stored in the second memory coincides with the version of the current system.

The method of storing and restoring system state of a computing device according to an embodiment of the present invention and a computing device device therefor have the following effects.

First, the present invention improves the system state save / restore speed in the hibernation mode.

Second, the present invention can significantly utilize the maximum power saving mode of the computing device by greatly reducing the time required for state data storage / restoration.

Third, the present invention can reduce power consumption in a computing device such as a server. In particular, energy costs can be reduced by reducing power consumption when servers are idle.

1 is a block diagram illustrating a computing device in accordance with an embodiment of the present invention.
2 is a block diagram illustrating a computing device in accordance with another embodiment of the present invention.
3 is a diagram for explaining data movement in a snapshot operation according to an embodiment of the present invention.
4 is a flowchart illustrating a process of storing a system state by a computing device according to an embodiment of the present invention.
FIG. 5 illustrates a process of restoring state data according to an embodiment of the present invention. Referring to FIG.
6 is a flowchart illustrating a process of restoring a system state by a computing device according to an embodiment of the present invention.

BRIEF DESCRIPTION OF THE DRAWINGS The advantages and features of the present invention and the manner of achieving them will become apparent with reference to the embodiments described in detail below with reference to the accompanying drawings. However, it is to be understood that the present invention is not limited to the disclosed embodiments, but may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. It is intended that the disclosure of the present invention be limited only by the terms of the appended claims.

Also, terms used herein are for the purpose of illustrating embodiments and are not intended to limit the invention. In the present specification, the singular form includes plural forms unless otherwise specified in the specification. &Quot; comprises "and / or" comprising "used in the specification do not exclude the presence or addition of components other than the components mentioned. Unless defined otherwise, all terms (including technical and scientific terms) used herein may be used in a sense commonly understood by one of ordinary skill in the art to which this invention belongs.

Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

1 is a block diagram illustrating a computing device in accordance with an embodiment of the present invention.

As used herein, a computing device includes but is not limited to a computer, a laptop, a handheld computer, a tablet computer, a mobile phone, a media player, a PDA, a server, Lt; RTI ID = 0.0 > and / or < / RTI > It should be appreciated that a computing device is only an example of a portable electronic device or server and that a computing device may have many or fewer components or configurations of different components than shown. The various components shown in FIG. 1 may be implemented in hardware, software, or a combination of both hardware and software, including one or more signal processing and / or program specific integrated circuits.

Referring to FIG. 1, a computing device includes a central processing unit 100, a first memory 110, a storage 120, and a second memory 130.

The central processing unit 100 executes various functions for a computing device and processes data by executing a variety of software, programs, and / or a set of instructions stored in the storage 120.

For example, the central processing unit 100 executes an operating system (or a kernel) or a program stored in the storage 120, and performs a system stop or system restoration of the computing device.

The first memory 110 serves as a main memory, which stores data and result data during a computing operation for at least one or more processes processed by the central processing unit 100.

In addition, the first memory 110 reads the required file from the storage 120 for the computing operation of the central processing unit 100 and temporarily stores the same, The data and the result data during the computing operation can be stored until the data is transferred to the storage 120. [

The first memory 110 may be either a non-volatile memory or a volatile memory. For example, a DRAM can be used as a volatile memory. In the present invention, a DRAM is used as a first memory. However, the present invention is also applicable to other memories.

The storage 120 is a portion that stores any data, software, program, operating system, etc., and may include a high-speed random access memory and may also include one or more magnetic disk storage devices, nonvolatile memory such as flash memory devices, Non-volatile semiconductor memory devices.

Also, in the present invention, an operating system or a kernel may be viewed as a single program. That is, in the present invention, a program can be used as a concept including both an operating system and a kernel.

The second memory 130 is a byte-accessible storage device. The second memory 130 is a special memory suitable for frequent read / write operations because it has a high input / output speed, and is a nonvolatile memory.

The second memory 130 may be referred to as a new memory, for example, a non-volatile and byte-by-byte accessible memory such as FeRAM, PRAM, Memristor, STT-MRAM, or the like.

For example, the operating system (or kernel) may instruct the second memory manager to reserve a certain amount of space (e.g., 4014B) to write data to the second memory 130 or to store the system state . At this time, the second memory manager receives a request from the operating system and searches for a space of the requested size from the operating system in a space (area) not currently in use in the second memory 130. The second memory manager notifies the operating system of the address of the space if there is a space to allocate, and the allocated space becomes the space of the second memory 130 in use. In the next space reservation request, And is displayed as the space of the second memory 130 in use.

The central processing unit 100 and the second memory 130 are connected to the memory interface 135. The memory interface 135 enables the central processing unit 100 to directly read / write data to the second memory 130. [

Alternatively, when the storage 120 performs block input / output (I / O), the central processing unit 100 can not directly read / write data to the storage 120.

In the present invention, the storage 120 receives a system stop command of the computing device, stops the system if the system is able to stop, and if the available space of the second memory 130 is in use of the first memory 110 Space, a program stored in the central processing unit 100 and configured to perform a snapshot in the second memory 130.

In addition, the storage 120 receives the system stop command of the computing device, stops the system if the system can be stopped, and the usable space of the second memory 130 is a space in which the first memory 110 is in use If the usable space of the second memory 130 is not larger than the space occupied by the first memory 110, the system halts the stopping operation of the system, 2 < / RTI > memory 130 to perform a snapshot.

In addition, the storage 120 receives power from the computing device and checks if the snapshot data is present in the second memory 130, and if the snapshot data stored in the second memory 130 matches the current system version , And a program configured to restore the first memory 110.

2 is a block diagram illustrating a computing device in accordance with another embodiment of the present invention.

Referring to FIG. 2, the computing device includes a central processing unit 200, a storage device 230, and the like. The storage device is a byte-accessible configuration. A storage device is a special memory suitable for frequent read / write operations because it has a high input / output speed, and is a nonvolatile memory.

The central processing unit 200 and the storage device 230 are connected to a memory interface. Due to the memory interface, the central processing unit 200 is capable of directly reading / writing data to the storage device 230.

That is, in the embodiment of FIG. 2, the storage device 230 performs all the functions of the main memory and the storage, and includes all the programs stored by the storage in the embodiment of FIG.

3 is a diagram for explaining data movement in a snapshot operation according to an embodiment of the present invention.

Referring to FIG. 3, a process of moving data of the first memory 300, which is a main memory, to the second memory 350 will be described.

A snapshot is the operation of creating data that duplicates the state of the current main memory. The computing device stores the address of the current active pages when creating the snapshot and creates a duplicate page.

For example, if data exists in the first area 301, the second area 303, and the third area 305 of the first memory 300 and a snapshot of the first memory 300 is performed, In the second memory 350, metadata, a first node 370, a second node 380, and a third node 390 are generated.

The second memory 350 stores metadata including the address of the first node 370 in the metadata area 360. At this time, the metadata area 360 can not be accessed for writing except for storing the state of the system.

The first node 370 connects the first data 300 and the first restoration address 320 to the first node 300 and the second node 380, Lt; RTI ID = 0.0 > 380 < / RTI >

The second node 380 is connected to the second data which is the data of the first memory 300 and the second restoration address which is the restoration address of the second area 303 of the first memory 300 and the third node 390 Lt; RTI ID = 0.0 > 390 < / RTI >

The third node 390 is connected to the third data, which is the data of the first memory 300, the third restoration address, which is the restoration address of the third area 305 of the first memory 300, Node points.

In this way, the nodes of the second memory 350 can be at least one or more depending on the number of the regions in which the data of the first memory 300 is stored.

4 is a flowchart illustrating a process of storing a system state by a computing device according to an embodiment of the present invention. That is, the computing device of FIG. 1 stores a system state.

Referring to FIG. 4, the computing device receives a system stop command (S401).

The computing device checks whether the system can be stopped (S403).

If the computing device can stop the system, the system stops (S405). Stopping the system means stopping the operation of the running processes and devices.

If the system can not be stopped, the computing device stops the system stop operation (S404).

The computing device determines whether the available space (or area) of the second memory is larger than the space (or area) in which the first memory is being used (S407).

If the usable space (or area) of the second memory is larger than the space (or area) in which the first memory is being used, the computing device stores the register value of the central processing unit (S409).

If the available space (or area) of the second memory is not greater than the space (or area) in which the first memory is being used, the computing device stops the system halt operation (S404).

The computing device performs a snapshot in the second memory (S411). A detailed description of the snapshot for the second memory is given in FIG.

The computing device stores the system state and terminates the system (S413).

FIG. 5 illustrates a process of restoring state data according to an embodiment of the present invention. Referring to FIG.

Referring to FIG. 5, the first DRAM 510 indicates the state of the DRAM in which the data is stored, and the second DRAM 520 indicates the state at the time of booting the system (S520).

The central processing unit of the computing device accesses the address of the first node 570 by checking the metadata in the metadata area 560 of the second memory 550 when restoring the state data. Then, the central processing unit performs an atomic operation to restore the state data of the linked list stored in the second memory to the first DRAM (510).

Here, an atomic operation is an operation between bytes accessible media, which is performed using a central processing unit register without using a separate space for the current operation. The second memory 550 is a byte-accessible medium, and the central processing unit desires status data from the second memory to the first DRAM 510, which is the first memory.

That is, the central processing unit of the computing device accesses the first node 570, the second node 580 and the third node 590 of the second memory 550 to the first area 511 of the first DRAM 510, The second region 513, and the third region 515 and return to the state of the stored system.

In the present invention, status data can be restored by shifting the data once per page to be restored.

6 is a flowchart illustrating a process of restoring a system state by a computing device according to an embodiment of the present invention.

Referring to FIG. 6, the computing device receives power supply (S601).

The computing device determines whether snapshot data exists in the second memory (S603).

If the snapshot data exists, the computing device determines whether the snapshot data stored in the second memory coincides with the version of the current system (S605).

If the snapshot data does not exist, the computing device performs a normal boot (S604).

If the snapshot data stored in the second memory coincides with the version of the current system, the computing device restores the first memory (S607).

If the snapshot data stored in the second memory does not match the version of the current system, the computing device performs a normal boot (S604).

The computing device restores the register of the central processing unit (S609).

The computing device completes the restoration of the system (S611)

In the present invention, since the system restoration using the file system is not performed, a series of boot processes for mounting the file system are not required.

The method according to embodiments of the present invention may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer-readable recording medium. The computer-readable recording medium may include program instructions, data files, data structures, and the like, alone or in combination. Programs (program instructions) to be recorded on a recording medium may be those specially designed and constructed for the present invention or may be those known to those skilled in the art of computer software technology. Examples of the computer-readable recording medium include magnetic media such as a hard disk, a floppy disk and a magnetic tape, optical media such as a CDROM and a DVD, magneto-optical media such as a floppy disk, Hardware devices that are specifically configured to store and execute program instructions such as magneto-optical media, ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, It will be appreciated that one embodiment is possible. Accordingly, the true scope of the present invention should be determined by the technical idea of the claims.

100, 200: central processing unit
110: first memory
120: Storage
130: second memory
135: Memory interface
230: Storage device

Claims (15)

delete delete delete A computing device comprising a central processing unit, a first memory, a second memory, storage,
Receiving a system shutdown command of the computing device,
Stopping the system if it is possible to stop the system,
Storing a register value of the central processing unit if the usable space of the second memory is larger than the space in use of the first memory,
Stopping the stopping operation of the system if the available space of the second memory is not larger than the space in use of the first memory,
Performing a snapshot in the second memory,
Wherein the second memory in which the snapshot is performed includes a metadata area, at least one or more nodes,
Wherein the node comprises data, a restore address, and a next node point.
5. The method of claim 4,
Wherein the metadata region includes an address of a first node, and the address of the first node is a fixed value.
delete delete delete delete delete delete Central processing unit,
A first memory,
A second memory,
Including storage,
Wherein the storage is configured to receive a system shutdown command of the computing device and to suspend the system if it is possible to halt the system and if the available space in the second memory is greater than the space in use in the first memory, A program stored in the second memory for storing a register value of the device and stopping the stopping operation of the system if the usable space of the second memory is not larger than the space occupying the first memory, ≪ / RTI >
Wherein the second memory in which the snapshot is performed includes a metadata area, at least one or more nodes,
Wherein the node comprises data, a restoration address, and a next node point.
delete A computer-readable recording medium recording a program for performing the system state storing method of the computing device of claim 4. delete
KR1020150111157A 2015-08-06 2015-08-06 Method for storaging and restoring system status of computing apparatus and computing apparatus KR101744401B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150111157A KR101744401B1 (en) 2015-08-06 2015-08-06 Method for storaging and restoring system status of computing apparatus and computing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150111157A KR101744401B1 (en) 2015-08-06 2015-08-06 Method for storaging and restoring system status of computing apparatus and computing apparatus

Publications (2)

Publication Number Publication Date
KR20170017355A KR20170017355A (en) 2017-02-15
KR101744401B1 true KR101744401B1 (en) 2017-06-08

Family

ID=58112337

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150111157A KR101744401B1 (en) 2015-08-06 2015-08-06 Method for storaging and restoring system status of computing apparatus and computing apparatus

Country Status (1)

Country Link
KR (1) KR101744401B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101430360B1 (en) * 2013-05-10 2014-08-13 홍익대학교 산학협력단 Method and terminal for version generating, version restoring process

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101430360B1 (en) * 2013-05-10 2014-08-13 홍익대학교 산학협력단 Method and terminal for version generating, version restoring process

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"부팅 시 생성한 스냅샷 이미지를 이용한 임베디드 리눅스의 부팅 속도 향상 방안", 이상철, 한양대학교 석사학위 논문(2010.)*
"임베디드 리눅스 시스템에서 하이버네이션 기반 부팅 방식 구현", 도인환, 한국컴퓨터정보학회논문지 제16권제5호 통권 제86호(2011.05.)*

Also Published As

Publication number Publication date
KR20170017355A (en) 2017-02-15

Similar Documents

Publication Publication Date Title
US10768679B2 (en) Memory system and controller
US11055230B2 (en) Logical to physical mapping
US10915475B2 (en) Methods and apparatus for variable size logical page management based on hot and cold data
US8463826B2 (en) Incremental garbage collection for non-volatile memories
KR101790913B1 (en) Speculative prefetching of data stored in flash memory
KR102443600B1 (en) hybrid memory system
US20170228191A1 (en) Systems and methods for suppressing latency in non-volatile solid state devices
KR20130096881A (en) Flash memory device
US11907129B2 (en) Information processing device, access controller, information processing method, and computer program for issuing access requests from a processor to a sub-processor
US20150074336A1 (en) Memory system, controller and method of controlling memory system
KR20200121372A (en) Hybrid memory system
US8583890B2 (en) Disposition instructions for extended access commands
US20110191529A1 (en) Semiconductor storage device and method of controlling semiconductor storage device
CN110597742A (en) Improved storage model for computer system with persistent system memory
KR101392062B1 (en) Fast speed computer system power-on & power-off method
KR20200117032A (en) Hybrid memory system
CN111459400B (en) Method and apparatus for pipeline-based access management in storage servers
KR101744401B1 (en) Method for storaging and restoring system status of computing apparatus and computing apparatus
US11182329B2 (en) Data processing system and operating method thereof
US20240143500A1 (en) Memory system based on flash memory and method for managing meta data thereof
JP7118827B2 (en) Information processing device, memory control method and program
KR20170114991A (en) Method for logging using non-volatile memory
KR101614650B1 (en) Method for executing executable file and computing apparatus
KR101619020B1 (en) Method for genetating executable file and computing apparatus
KR101661418B1 (en) Method for outputing data of computing apparatus and computing apparatus

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right