KR20160113483A - Apparatus and Method for updating a snapshot image - Google Patents
Apparatus and Method for updating a snapshot image Download PDFInfo
- 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
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
Abstract
Description
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
In one embodiment, the snapshot image update operation of the snapshot
The dirty
The dirty
The dirty
The new mapping
The mapping table
FIG. 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, updating the existing
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 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:
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 >
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 >
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)
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)
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 |
-
2015
- 2015-03-20 KR KR1020150039174A patent/KR102011059B1/en active IP Right Grant
Patent Citations (5)
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)
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 |