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

Apparatus and Method for updating a snapshot image Download PDF

Info

Publication number
KR102011059B1
KR102011059B1 KR1020150039174A KR20150039174A KR102011059B1 KR 102011059 B1 KR102011059 B1 KR 102011059B1 KR 1020150039174 A KR1020150039174 A KR 1020150039174A KR 20150039174 A KR20150039174 A KR 20150039174A KR 102011059 B1 KR102011059 B1 KR 102011059B1
Authority
KR
South Korea
Prior art keywords
page
snapshot image
dirty page
mapping table
dirty
Prior art date
Application number
KR1020150039174A
Other languages
Korean (ko)
Other versions
KR20160113483A (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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

The present invention relates to an update technique of a snapshot image. The snapshot image updating apparatus according to the present invention includes a dirty page recording unit which stores a memory area to be updated as a dirty page in a dirty page list; When the snapshot update operation is started, the dirty page stored in the dirty page list is copied to a storage device, and a new version mapping table is created by copying a mapping table included in an existing snapshot image. A new mapping table creating unit for recording a location in a device; And a mapping table address updater configured to update the mapping table address of the existing snapshot image to the new version mapping table address when the dirty page to be copied to the storage device no longer exists in the dirty page list.

Description

Apparatus and Method for updating a snapshot image}

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

A snapshot image is data that records computer system state information at a specific point in time and is used to restore the system to the most recently suspended state at the time the computer system boots. Booting with the SnapShot image minimizes standby power and reduces boot time. In particular, in the embedded system field, a snapshot boot technology is being applied to shorten the booting time as a large platform such as Android is used.

However, if an update occurs in the system's storage device, the snapshot system reflects the current state must be re-created because the current system state is not consistent with the previously created snapshot image. In this regard, the overhead of creating and saving a snapshot image is incurred, and the problem is that the system should be stopped while creating the snapshot image. Also, due to the nature of embedded systems, there are many use cases of sudden power down, so it is not appropriate to save the snapshot image at the end.

Accordingly, embodiments of the present invention are to provide a snapshot update technique that can reduce the overhead due to snapshot rewriting by dynamically updating only a portion of the snapshot image.

According to another aspect of the present invention, there is provided a snapshot image updating apparatus comprising: a dirty page recorder for storing an updated memory area as a dirty page in a dirty page list; A dirty page copy unit for copying a dirty page stored in the dirty page list to a storage device when a snapshot update operation is started; A new mapping table creating unit which creates a new version mapping table copying a mapping table included in an existing snapshot image and records a location in the storage device where the dirty page is recorded; And updating a mapping table address to which the page table of the existing snapshot image refers to the new version mapping table address when the dirty page to be copied to the storage device no longer exists in the dirty page list. Contains wealth.

According to another aspect of the present invention, a method for updating a snapshot image includes: recognizing a memory area to be updated; Storing the updated memory area as a dirty page in a dirty page list; If a snapshot update operation is initiated, copying a dirty page stored in the dirty page list to a storage device; Generating a new version mapping table that copies a mapping table included in an existing snapshot image and recording a location in the storage device where the dirty page is recorded; 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 to be copied to the storage device no longer exists in the dirty page list. .

According to another aspect of the present invention, a method for updating a snapshot image may include generating a new version of a mapping table included in an existing snapshot image, and selecting a location in a storage device to which an updated memory page is copied to the generated new version mapping table. 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 solving the overhead caused by updating the snapshot image, it is possible to apply the snapshot boot technique to a system of various fields.

1A-1C illustrate various structures of an electronic device in which snapshot image updates may be implemented according to the present invention.
2 is a block diagram illustrating a configuration of a snapshot image updating apparatus according to an embodiment of the present invention.
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 snapshot image updating method according to an embodiment of the present invention.

The present invention may be variously modified and have various embodiments, and specific embodiments will be illustrated in the drawings and described in detail with reference to the accompanying drawings. However, this is not intended to limit the present invention to specific embodiments, it should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention.

In describing the present invention, when it is determined that the detailed description of the related known technology may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted.

Also, the singular forms used in the specification and claims are to be interpreted as generally meaning "one or more", unless stated otherwise.

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

1A-1C illustrate various structures of an electronic device in which snapshot image updates may be implemented according to the present invention. In the example shown, the snapshot image update according to the present invention may be performed by a memory virtualization manager. The memory virtualization manager is software that manages the mapping relationship between physical memory and virtual memory, which is implemented as part of the operating system as shown (see FIG. 1A), as a lower layer of the operating system (see FIG. 1B), or as a host OS. Can be implemented as a layer between the host and the guest OS (see FIG. In addition, the present invention is not limited to such a structure, and any structure may be implemented 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 updating apparatus may be implemented as part of the memory virtualization manager shown in FIGS. 1A-1C.

As shown in FIG. 2, the snapshot image updating apparatus 200 includes a dirty page recording unit 210, a dirty page copying unit 220, a new mapping table creating unit 230, and a mapping table address updating unit 240. It includes.

In one embodiment, the snapshot image update operation of the snapshot image update apparatus 200 may be initiated immediately after storing the existing snapshot image or immediately after recovering the system from the snapshot image.

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

The dirty page recorder 210 reads the permission of an entry of which the permission is writable (RW) from among the entries of the memory page table in the snapshot image as read only (RO) permission to recognize the updated memory area. By changing this, a page fault occurs when a write occurs in the corresponding memory area. The dirty page recorder 210 recognizes that a page associated with the entry has been updated when a page fault occurs due to recording, and stores the page in the dirty page list. At this time, the dirty page recorder 210 changes the entry authority of the page table associated with the corresponding memory area back to writeable RW so that the page fault does not recur on the same page.

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

The new mapping table creating unit 230 generates a new version mapping table that copies the mapping table included in the existing snapshot image so as not to damage the existing snapshot image, and records a dirty page in the new version mapping table. Record the location in the storage device.

The mapping table address updating unit 240 updates the mapping table address referenced by the page table in the existing snapshot image to the new version mapping table address when there are no more dirty pages to copy to the storage device in the dirty page list. This completes the creation of a new version of the snapshot image, that is, the update of the snapshot image.

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 status information 312, memory page table (hereinafter, 'page table'), and MMU, which are status information related to the execution of the system. (Memory Management Unit) The state information 313, a memory-storage mapping table (hereinafter, referred to as a mapping table 314) and a memory page copy 315 are stored images. The snapshot image shown in FIG. 3 is merely an example, and may include fewer or more state information, and the present invention is not limited to the specific structure of the snapshot image.

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

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

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

First, to recognize the memory area being updated, it reads the permission of the entry whose permission is writable (RW) among the entries of the memory page table in the snapshot image to recognize the memory area being updated. The page fault due to the write operation is generated in the corresponding memory area by changing to the RO) authority (S410).

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

Next, when the snapshot update operation is started according to the scheduling policy, the dirty page (that is, the updated memory page copy) stored in the dirty page list is copied to the storage device (S430). At this time, the entry authority of the page table associated with the page is changed to 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 is copied from the mapping table included in the existing snapshot image, and the location in the storage device where the dirty page is recorded is recorded in the new version mapping table. .

It is determined whether the dirty page to be copied to the storage device no longer exists in the dirty page list (S440), and maintains a snapshot image of the existing maintenance until the dirty page to copy (S450), step (S420, S430) is repeated.

On the other hand, when there are no more dirty pages in the dirty page list, the new snapshot image creation is completed by updating the mapping table address of the existing snapshot image with the new version mapping table address (S460).

The same process (S410 to S460) can be repeated for the page fault occurring later, and the snapshot image update can be performed.

The apparatus and method according to the above-described embodiment of the present invention may be embodied in the form of program instructions that can be executed by various computer means and recorded on a computer-readable medium. Computer-readable media may include, alone or in combination with the program instructions, data files, data structures, and the like.

The program instructions recorded on the computer readable medium may be those specially designed and constructed for the present invention, or may be known and available to those skilled in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Hardware devices specially configured to store and execute program instructions such as magneto-optical media and ROM, RAM, flash memory and the like. In addition, the above-described medium may be a transmission medium such as an optical or metal wire, a waveguide, or the like including a carrier wave for transmitting a signal specifying a program command, a data structure, and the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.

The hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

So far, the present invention has been described with reference to the embodiments. Those skilled in the art will appreciate that the present invention can be implemented in a modified form without departing from the essential features of the present invention. Therefore, the disclosed embodiments should be considered in descriptive sense only and not for purposes of limitation. The scope of the present invention is shown in the claims rather than the foregoing description, and all differences within the scope will be construed as being included in the present invention.

Claims (10)

A dirty page recorder for storing a corresponding page as a dirty page in a dirty page list when an update occurs in a memory area corresponding to an entry of a memory page table having a read only (RO) right;
A dirty page copying unit which copies a dirty page stored in the dirty page list to a storage device when a snapshot image updating operation is started;
A new mapping table creating unit which creates a new version mapping table copying a mapping table included in an existing snapshot image and records a location in the storage device where the dirty page is recorded; And
A mapping table address updating unit for updating a mapping table address referenced by the page table of the existing snapshot image to a new version mapping table address when the dirty page to be copied to the storage device no longer exists in the dirty page list. and,
The dirty page recorder changes the authority of an entry whose permission is writable (RW) among the entries of the memory page table in the snapshot image to read only (RO) authority to recognize the memory area to be updated, and When a write occurs in the memory area to be updated, a page fault is generated, and when the page fault occurs, the authority of the entry corresponding to the updated memory area is changed from read-only (R0) to writable (RW). Shot image update device.
delete The apparatus of claim 1, wherein the dirty page recorder recognizes that a page associated with the entry has been updated when a page fault occurs due to a write operation on an entry changed to the read-only permission. The apparatus of claim 1, wherein the snapshot image update operation is initiated immediately after storing an existing snapshot image or immediately after restoring a system from the snapshot image. Recognizing that an update occurs in a memory area corresponding to an entry of a memory page table having read only (RO) rights;
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 a snapshot image updating operation is started;
Generating a new version mapping table copying a mapping table included in an existing snapshot image and recording a location in the storage device where the dirty page is recorded; And
When the dirty page to be copied to the storage device no longer exists in the dirty page list, updating the mapping table address referenced by the page table of the existing snapshot image with a new version mapping table address,
Recognizing the step,
Changing the authority of an entry of which the authority is writable (RW) among the entries of the memory page table in the snapshot image to a read only (RO) authority to recognize an updated memory region;
Generating a page fault when a write occurs in the updated memory area; And
And changing a right of an entry corresponding to the updated memory area from read only (R0) to writable (RW) when the page fault occurs.
delete delete 6. The method of claim 5, wherein the snapshot image update operation is initiated immediately after storing an existing snapshot image or immediately after restoring a system from the snapshot image. delete delete
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 KR20160113483A (en) 2016-09-29
KR102011059B1 true 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)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190113443A (en) 2018-03-28 2019-10-08 에스케이하이닉스 주식회사 Memory system and operating method of memory system
KR20200068944A (en) 2018-12-06 2020-06-16 에스케이하이닉스 주식회사 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

Citations (3)

* 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
KR101460451B1 (en) * 2013-09-06 2014-11-12 포항공과대학교 산학협력단 Apparatus and method for controlling process address space

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101651204B1 (en) * 2010-06-15 2016-08-26 삼성전자주식회사 Apparatus and Method for synchronization of snapshot image
KR102047769B1 (en) * 2013-03-28 2019-11-25 한국전자통신연구원 Apparatus and Method for fast booting based on virtualization and snapshot image

Patent Citations (3)

* 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
KR101460451B1 (en) * 2013-09-06 2014-11-12 포항공과대학교 산학협력단 Apparatus and method for controlling process address space

Also Published As

Publication number Publication date
KR20160113483A (en) 2016-09-29

Similar Documents

Publication Publication Date Title
US20160179419A1 (en) Storage system, storage management apparatus, and storage management method
KR101781447B1 (en) System reset
US20150339148A1 (en) Creating virtual machines
JP2013520744A (en) Method and apparatus for generating minimum boot image
US9684664B2 (en) Elimination of fragmentation of files in storage medium by utilizing head movement time
JP6350090B2 (en) Storage control device, copy control program, and copy control method
JP2007249573A (en) Storage system for issuing optimum i/o command to automatically expandable volume and its control method
US20060149899A1 (en) Method and apparatus for ongoing block storage device management
KR102011059B1 (en) Apparatus and Method for updating a snapshot image
KR101996641B1 (en) Apparatus and method for memory overlay
EP2669806B1 (en) Storage system
US20160283148A1 (en) Backup control device, backup control method, and recording medium
US11003577B2 (en) Information processing apparatus, information processing method, and non-transitory computer-readable storage medium for storing program of access control with respect to semiconductor device memory
US20160011792A1 (en) Media control device and control method
KR20170002848A (en) Apparatus and method for journaling based on garbage collection
US11176089B2 (en) Systems and methods for implementing dynamic file systems
US9009430B2 (en) Restoration of data from a backup storage volume
US9690514B2 (en) Apparatus, method and medium
CN105739918B (en) The online moving method of the storage of virtual machine and device
EP2921965B1 (en) Information processing device and shared memory management method
US10430287B2 (en) Computer
US10628147B2 (en) Detach virtual machine from virtual machine template
US20130031320A1 (en) Control device, control method and storage apparatus
CN103902368A (en) Method for realizing virtual machine disk image cross-storage live migration and virtual machine system
US20140059293A1 (en) Method for protecting a gpt cached disks data integrity in an external operating system environment

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