KR20160113483A - Apparatus and Method for updating a snapshot image - Google Patents

Apparatus and Method for updating a snapshot image Download PDF

Info

Publication number
KR20160113483A
KR20160113483A KR1020150039174A KR20150039174A KR20160113483A KR 20160113483 A KR20160113483 A KR 20160113483A KR 1020150039174 A KR1020150039174 A KR 1020150039174A KR 20150039174 A KR20150039174 A KR 20150039174A KR 20160113483 A KR20160113483 A KR 20160113483A
Authority
KR
South Korea
Prior art keywords
snapshot image
mapping table
page
dirty page
updating
Prior art date
Application number
KR1020150039174A
Other languages
Korean (ko)
Other versions
KR102011059B1 (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 KR1020150039174A priority Critical patent/KR102011059B1/en
Publication of KR20160113483A publication Critical patent/KR20160113483A/en
Application granted granted Critical
Publication of KR102011059B1 publication Critical patent/KR102011059B1/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
    • 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/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
    • 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

Abstract

The present invention relates to a technique of updating a snapshot image. A method for updating a snapshot image according to the present invention comprises: a dirty page recording unit for storing an updated memory area in a dirty page list as a dirty page; a new mapping table writing unit for copying the dirty page stored in the dirty page list in a storage device when an operation of updating a snapshot begins, and generating a new version mapping table derived by copying a mapping table included in an existing snapshot image to record a location in the storage device in which the dirty page is recorded; and a mapping table address update unit for updating a mapping table address of the existing snapshot image to an address of the new version mapping table when there is no more dirty page to copy in the storage device in the dirty page list.

Description

[0001] APPARATUS AND METHOD FOR UPDATING A SNAPSHOT IMAGE [0002]

The present invention relates to an update technique of a snapshot image.

The snapshot image is a data of the computer system state information at a specific point in time, and is used to restore the system to a recently stopped state at the time of booting the computer system. Booting through a snapshot image can minimize standby power and shorten boot time. Especially, in the field of embedded systems, snapshot boot technology has been applied to reduce the boot time which has been increasing as the platform such as Android is used.

However, if an update occurs on a system's storage device, the snapshot image that reflects the current state must be rewritten because the snapshot image created previously and the current system state are not consistent. In this regard, there is an overhead of creating and storing a snapshot image, and it is also a problem to stop the system during the creation of the snapshot image. Also, due to the nature of the embedded system, there are many cases where the power is suddenly turned off, so it is not appropriate to store the snapshot image at the end time.

Accordingly, embodiments of the present invention seek to provide a snapshot update technique that can dynamically update only a portion of a snapshot image, thereby reducing the overhead due to re-creation of the snapshot.

According to an aspect of the present invention, there is provided a device for updating a snapshot image, the device comprising: a dirty page recording unit for storing the updated memory area as a dirty page in a dirty page list; A dirty page copy unit for copying the dirty page stored in the dirty page list to the storage device when the snapshot update operation is started; A new mapping table creation unit for creating a new version mapping table in which a mapping table included in an existing snapshot image is copied and recording a location in the storage device in which the dirty page is to be written; And a mapping table address update unit that updates a mapping table address referenced by the page table of the existing snapshot image to the new version mapping table address when the dirty page list no longer includes a dirty page to be copied to the storage device .

According to another aspect of the present invention, there is provided a method for updating a snapshot image, comprising: recognizing an updated memory area; Storing the updated memory area as a dirty page in a dirty page list; Copying a dirty page stored in the dirty page list to a storage device when the snapshot update operation is started; Generating a new version mapping table in which a mapping table included in an existing snapshot image is copied to record a position in the storage device in which the dirty page is to be written; And updating the mapping table address referenced by the page table of the existing snapshot image to the new version mapping table address when the dirty page list no longer contains a dirty page to be copied to the storage device .

According to another aspect of the present invention, there is provided a method for updating a snapshot image, the method comprising: generating a new version of a mapping table included in an existing snapshot image; Recording; And changing the address of the mapping table referenced by the page table in the existing snapshot image to the address of the version mapping table.

According to an embodiment of the present invention, by overcoming the overhead of updating the snapshot image, it becomes possible to apply the snapshot booting technology to a system of various fields.

1A to 1C illustrate various structures of an electronic device in which a snapshot image update according to the present invention can be implemented.
2 is a block diagram illustrating a configuration of a snapshot image updating apparatus according to an embodiment of the present invention.
FIG. 3 illustrates an example of a process of updating a snapshot image according to an embodiment of the present invention.
4 is a flowchart illustrating a method of updating a snapshot image according to an embodiment of the present invention.

While the present invention has been described in connection with certain exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, is intended to cover various modifications and similarities. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS In the following description of the present invention, detailed description of known related arts will be omitted when it is determined that the gist of the present invention may be unnecessarily obscured.

In addition, the singular phrases used in the present specification and claims should be interpreted generally to mean "one or more " unless otherwise stated.

Hereinafter, various embodiments of the present invention will be described with reference to FIGS. 1 to 4 attached hereto.

1A to 1C illustrate various structures of an electronic device in which a snapshot image update according to the present invention can be implemented. In the illustrated example, the snapshot image update according to the present invention can be performed by the memory virtualization manager. The memory virtualization manager is software that manages the mapping relationship between the physical memory and the virtual memory and may be implemented as a part of the operating system as shown (see FIG. 1A) or as a lower layer of the operating system (see FIG. 1B) And guest OS (see FIG. 1C). In addition, the present invention is not limited to such a structure, and the memory virtualization manager can be implemented regardless of a specific structure as long as the memory virtualization manager can control the memory access of the operating system.

2 is a block diagram illustrating a configuration of a snapshot image updating apparatus according to an embodiment of the present invention. The snapshot image update apparatus can be implemented as part of the memory virtualization manager shown in Figs. 1A to 1C.

2, the snapshot image updating apparatus 200 includes a dirty page writing unit 210, a dirty page copying unit 220, a new mapping table creating unit 230, and a mapping table address updating unit 240, .

In one embodiment, the snapshot image update operation of the snapshot image update device 200 may be initiated immediately after the storage of the existing snapshot image or immediately after the system is backed up from the snapshot image.

The dirty page writing unit 210 stores the updated memory area as a dirty page in the dirty page list.

The dirty page writing unit 210 may set the authority of an entry whose authority is writeable (RW) among the entries of the memory page table in the snapshot image to a read only (RO) right A page fault occurs when a write occurs in the memory area. The dirty page recording unit 210 recognizes that the page associated with the entry is updated when a page fault occurs due to the recording and stores the page in the dirty page list. At this time, the dirty page writing unit 210 changes the entry authority of the page table associated with the memory area back to recordable (RW) so that the page fault does not recur on the same page.

The dirty page copying unit 220 copies the dirty page stored in the dirty page list to the storage device when the snapshot image update operation is started. At this time, the entry authority of the page table associated with the page is changed to the read only (RO) so that the additional update can be recognized.

The new mapping table creation unit 230 creates a new version mapping table in which the mapping table included in the existing snapshot image is copied so as not to damage the existing snapshot image, The location in the storage device.

The mapping table address update unit 240 updates the mapping table address referenced by the page table in the existing snapshot image to the new version mapping table address in the case where there is no more dirty page to be copied to the storage device in the dirty page list Thereby completing the creation of a new version of the snapshot image, that is, the updating of the snapshot image.

FIG. 3 illustrates an example of a process of updating a snapshot image according to an embodiment of the present invention.

As shown, the existing snapshot image 310 includes CPU status information 311, peripheral device status information 312, a memory page table (hereinafter, "page table"), and MMU (Memory management unit) status information 313, a memory-storage device mapping table (hereinafter referred to as a 'mapping table' 314), and a memory page copy 315 are stored. The snapshot image shown in FIG. 3 is merely an example, and less or more status information may be included, and the present invention is not limited to the specific structure of the snapshot image.

According to the present invention, updating the existing snapshot image 310 to the new snapshot image 320 does not update the existing snapshot image 310 as a whole. Instead, a new version of the mapping table 314 'is separately created and maintained to record the storage location of the updated memory page copy 315, and then the location of the mapping table 314 referenced by the page table 313 in the snapshot image By changing the address to the address of the new mapping table 314 ', the overhead associated with updating the snapshot image can be reduced. Also, booting time can be reduced by loading only a changed part of the snapshot image at boot time.

4 is a flowchart illustrating a method of updating a snapshot image according to an embodiment of the present invention.

The snapshot image update operation can be started immediately after the storage of the existing snapshot image or immediately after restoring the system from the snapshot image.

First, in order to recognize the area of the memory to be updated, the authority of an entry whose rights are writable (RW) among the entries of the memory page table in the snapshot image is recognized as read only RO) authority to cause a page fault due to the write operation in the corresponding memory area (S410).

If a page fault occurs due to writing, the memory area is stored as a dirty page in the dirty page list (S420). At this time, the entry authority of the page table associated with the memory area is changed back to recordable (RW) so that page faults do not recur on the same page.

Next, when the snapshot update operation is started according to the scheduling policy, the dirty page stored in the dirty page list (i.e., the updated memory page copy) is copied to the storage device (S430). At this time, the entry authority of the page table associated with the page is changed to the read only (RO) so that the additional update can be recognized.

Meanwhile, in order not to damage the existing snapshot image, a new version mapping table in which the mapping table included in the existing snapshot image is copied is created, and the position in the storage device where the dirty page is recorded in the new version mapping table is recorded .

In step S440, the controller determines whether there is a dirty page to be copied in the dirty page list in step S440. If the dirty page exists in the dirty page list, S430).

If there is no more dirty page in the dirty page list, the new snapshot image creation is completed by updating the mapping table address of the existing snapshot image to the new version mapping table address (S460)

The same process (S410 to S460) may be repeated for a page fault occurring thereafter to perform a snapshot image update.

The apparatus and method according to the above-described embodiments of the present invention may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer readable medium may include program instructions, data files, data structures, and the like, alone or in combination.

Program instructions to be recorded on a computer-readable medium may be those specially designed and constructed for the present invention or may be available to those skilled in the computer software arts. Examples of computer-readable media include magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Includes hardware devices specifically configured to store and execute program instructions such as magneto-optical media and ROM, RAM, flash memory, and the like. The above-mentioned medium may also be a transmission medium such as a light or metal wire, wave guide, etc., including a carrier wave for transmitting a signal designating a program command, a data structure 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.

The embodiments of the present invention have been described above. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. Therefore, the disclosed embodiments should be considered in an illustrative rather than a restrictive sense. The scope of the present invention is defined by the appended claims rather than by the foregoing description, and all differences within the scope of equivalents thereof should be construed as being included in the present invention.

Claims (10)

A dirty page recording section for storing the updated memory area as a dirty page in a dirty page list;
A dirty page copy unit for copying the dirty page stored in the dirty page list to the storage device when the snapshot update operation is started;
A new mapping table creation unit for creating a new version mapping table in which a mapping table included in an existing snapshot image is copied and recording a location in the storage device in which the dirty page is to be written; And
A mapping table address update unit for updating the mapping table address referenced by the page table of the existing snapshot image to the new version mapping table address when the dirty page list no longer contains a dirty page to be copied to the storage device,
The snapshot image updating device comprising:
The method according to claim 1, wherein the dirty page writing unit changes the authority of an entry whose authority is writable among the entries of the memory page table in the snapshot image to a read only A snapshot image update device. 3. The snapshot image updating apparatus according to claim 2, wherein the dirty page recording section recognizes that the page associated with the entry is updated when a page fault due to the write operation occurs in the entry changed to the read-only authority. The apparatus of claim 1, wherein the snapshot image update operation is started immediately after the storage of the existing snapshot image or immediately after the system is restored from the snapshot image. Recognizing an area of memory to be updated;
Storing the updated memory area as a dirty page in a dirty page list;
Copying a dirty page stored in the dirty page list to a storage device when the snapshot update operation is started;
Generating a new version mapping table in which a mapping table included in an existing snapshot image is copied to record a position in the storage device in which the dirty page is to be written; And
Updating the mapping table address referenced by the page table of the existing snapshot image to the new version mapping table address when there is no more dirty page to be copied to the storage device in the dirty page list
/ RTI >
6. The method of claim 5, wherein the step of recognizing the updated memory area further comprises: determining whether to authorize an entry whose rights are writable among the entries of the memory page table in the snapshot image to recognize the updated memory area; read only privilege. < / RTI > 7. The method of claim 6, wherein recognizing the updated memory area further comprises: recognizing that a page associated with the entry has been updated if a page fault due to a write operation occurs in the entry changed to the read-only privilege To update the snapshot image. 6. The method of claim 5, wherein the updating of the snapshot image starts immediately after the storage of the existing snapshot image or immediately after the system is restored from the snapshot image. Generating a new version of the mapping table included in the existing snapshot image and recording the position in the storage device where the updated memory page is copied in the generated new version mapping table; And
Changing the address of the mapping table referenced by the page table in the existing snapshot image to the address of the version mapping table
/ RTI >
10. The method of claim 9, wherein the method is initiated immediately after storage of an existing snapshot image or immediately after restoring the system from the snapshot image.
KR1020150039174A 2015-03-20 2015-03-20 Apparatus and Method for updating a snapshot image KR102011059B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150039174A KR102011059B1 (en) 2015-03-20 2015-03-20 Apparatus and Method for updating a snapshot image

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150039174A KR102011059B1 (en) 2015-03-20 2015-03-20 Apparatus and Method for updating a snapshot image

Publications (2)

Publication Number Publication Date
KR20160113483A true KR20160113483A (en) 2016-09-29
KR102011059B1 KR102011059B1 (en) 2019-08-16

Family

ID=57073667

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150039174A KR102011059B1 (en) 2015-03-20 2015-03-20 Apparatus and Method for updating a snapshot image

Country Status (1)

Country Link
KR (1) KR102011059B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10671528B2 (en) 2018-03-28 2020-06-02 SK Hynix Inc. Memory system and operating method thereof
CN112835528A (en) * 2021-02-22 2021-05-25 北京金山云网络技术有限公司 Dirty page refreshing method and device, electronic equipment and storage medium
US11169721B2 (en) 2018-12-06 2021-11-09 SK Hynix Inc. Memory system for flexible map block management and operating method thereof

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008003815A (en) * 2006-06-21 2008-01-10 Nec Corp Computer system, network boot system, method of switching os image, and program for switching os image
KR20110136639A (en) * 2010-06-15 2011-12-21 삼성전자주식회사 Apparatus and method for synchronization of snapshot image
KR101392062B1 (en) * 2009-09-22 2014-05-07 내셔널 충 쳉 유니버시티 Fast speed computer system power-on & power-off method
KR20140118093A (en) * 2013-03-28 2014-10-08 한국전자통신연구원 Apparatus and Method for fast booting based on virtualization and snapshot image
KR101460451B1 (en) * 2013-09-06 2014-11-12 포항공과대학교 산학협력단 Apparatus and method for controlling process address space

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008003815A (en) * 2006-06-21 2008-01-10 Nec Corp Computer system, network boot system, method of switching os image, and program for switching os image
KR101392062B1 (en) * 2009-09-22 2014-05-07 내셔널 충 쳉 유니버시티 Fast speed computer system power-on & power-off method
KR20110136639A (en) * 2010-06-15 2011-12-21 삼성전자주식회사 Apparatus and method for synchronization of snapshot image
KR20140118093A (en) * 2013-03-28 2014-10-08 한국전자통신연구원 Apparatus and Method for fast booting based on virtualization and snapshot image
KR101460451B1 (en) * 2013-09-06 2014-11-12 포항공과대학교 산학협력단 Apparatus and method for controlling process address space

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10671528B2 (en) 2018-03-28 2020-06-02 SK Hynix Inc. Memory system and operating method thereof
US11169721B2 (en) 2018-12-06 2021-11-09 SK Hynix Inc. Memory system for flexible map block management and operating method thereof
CN112835528A (en) * 2021-02-22 2021-05-25 北京金山云网络技术有限公司 Dirty page refreshing method and device, electronic equipment and storage medium

Also Published As

Publication number Publication date
KR102011059B1 (en) 2019-08-16

Similar Documents

Publication Publication Date Title
US10482267B2 (en) Linux based android container platform, device equipped with the same and method for apply security system in Linux based android container environment
US9384007B2 (en) Memory virtualization-based snapshot boot apparatus and method
US7441085B2 (en) Memory control method for restoring data in a cache memory
KR101781447B1 (en) System reset
JP2013520744A (en) Method and apparatus for generating minimum boot image
US20080114923A1 (en) Apparatus and method for controlling operation processing in nonvolatile memory
CN107957852B (en) Method for improving performance consistency of solid state disk
WO2011095074A1 (en) Method for upgrading terminal device system and terminal device
US20190079700A1 (en) Method and apparatus for erasing or writing flash data
KR20160113483A (en) Apparatus and Method for updating a snapshot image
KR101996641B1 (en) Apparatus and method for memory overlay
CN108604207B (en) System and method for hardware independent memory storage
US20190303287A1 (en) Information processing apparatus, information processing method, and non-transitory computer-readable storage medium for storing program
US9009430B2 (en) Restoration of data from a backup storage volume
CN107544834B (en) Mirror image file contraction method and device and machine-readable storage medium
US20140059291A1 (en) Method for protecting storage device data integrity in an external operating environment
US20130031320A1 (en) Control device, control method and storage apparatus
JPH11194938A (en) Memory managing method for computer having hard disk drive
KR102145358B1 (en) Method and computer-readable medium emboding program for protecting data integrity of disk in alternate operating system environment
US20070174739A1 (en) Disk device, method of writing data in disk device, and computer product
JP4535049B2 (en) Virtual library device, control method for virtual library device, control program for virtual library device
CN115640269B (en) Android application installation acceleration method based on-demand copying
CN110018785B (en) Method for executing data reading and writing in data migration between volumes and electronic device
KR101460452B1 (en) Apparatus of generating snapshot image based on hibernation and method of the same
WO2016048272A1 (en) Non-volatile storage device

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
GRNT Written decision to grant