KR102011059B1 - Apparatus and Method for updating a snapshot image - Google Patents
Apparatus and Method for updating a snapshot image Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1417—Boot up procedures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1666—Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/84—Using 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
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
In one embodiment, the snapshot image update operation of the snapshot
The
The
When the snapshot image update operation is started, the dirty
The new mapping
The mapping table
3 illustrates an example of a process of updating a snapshot image according to an embodiment of the present invention.
As shown, the
According to the present invention, in updating an existing
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 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.
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.
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)
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)
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)
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 |
-
2015
- 2015-03-20 KR KR1020150039174A patent/KR102011059B1/en active IP Right Grant
Patent Citations (3)
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 |