KR100472204B1 - Logical volume manager system having mapping table structure and snapshot method using the same - Google Patents

Logical volume manager system having mapping table structure and snapshot method using the same Download PDF

Info

Publication number
KR100472204B1
KR100472204B1 KR10-2002-0082099A KR20020082099A KR100472204B1 KR 100472204 B1 KR100472204 B1 KR 100472204B1 KR 20020082099 A KR20020082099 A KR 20020082099A KR 100472204 B1 KR100472204 B1 KR 100472204B1
Authority
KR
South Korea
Prior art keywords
mapping
snapshot
block
information
mapping information
Prior art date
Application number
KR10-2002-0082099A
Other languages
Korean (ko)
Other versions
KR20040055429A (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 KR10-2002-0082099A priority Critical patent/KR100472204B1/en
Publication of KR20040055429A publication Critical patent/KR20040055429A/en
Application granted granted Critical
Publication of KR100472204B1 publication Critical patent/KR100472204B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1466Management of the backup or restore process to make the backup process non-disruptive
    • 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)

Abstract

본 발명은 논리 볼륨 관리 시스템에서 무정지 서비스를 제공함에 있어서, 스냅샷 생성 후 수행되는 쓰기 연산시 COW(Copy-on-Write)의 필요성 판단과 스냅샷 삭제 연산 시의 COW 발생여부를 판단하기 위해 필요한 디스크 I/O의 수를 현저히 줄임으로써, 시스템의 성능 향상 및 데이터 엑세스 서비스의 신뢰성을 도모할 수 있는 논리 볼륨 관리 시스템에서의 매핑 테이블 구조를 구비한 논리 볼륨 관리 시스템 및 이를 이용한 효율적인 스냅샷 방법에 관한 것이다. According to the present invention, in providing a non-stop service in a logical volume management system, it is necessary to determine the necessity of copy-on-write (COW) during a write operation performed after a snapshot is generated and to determine whether to generate a COW during a snapshot delete operation. In the logical volume management system having a mapping table structure in the logical volume management system that can significantly improve the performance of the system and the reliability of data access services by significantly reducing the number of disk I / Os, and an efficient snapshot method using the same. It is about.

본 발명의 매핑 장치는 각 논리 데이터 블록 또는 익스텐트에 대하여, 원본 볼륨을 위한 매핑 정보와 각 스냅샷을 위한 매핑 정보를 한 쌍으로 연결하여 하나의 매핑 엔트리로 구성하는 구조로 이루어진다. The mapping apparatus of the present invention has a structure in which a mapping entry is formed by connecting mapping information for the original volume and mapping information for each snapshot in a pair for each logical data block or extent.

Description

매핑 테이블 구조를 구비한 논리 볼륨 관리 시스템 및 이를 이용한 효율적인 스냅샷 방법{LOGICAL VOLUME MANAGER SYSTEM HAVING MAPPING TABLE STRUCTURE AND SNAPSHOT METHOD USING THE SAME}Logical Volume Management System with Mapping Table Structure and Efficient Snapshot Method Using the Logical Volume Management System {LOGICAL VOLUME MANAGER SYSTEM HAVING MAPPING TABLE STRUCTURE AND SNAPSHOT METHOD USING THE SAME}

본 발명은 무정지 서비스를 제공하기 위한 매핑 테이블 구조를 구비한 논리 볼륨 관리 시스템 및 온라인 스냅샷(Onlie Snapshot) 방법에 관한 것이며, 보다 상세히는 스냅샷 생성 후 수행되는 쓰기 연산 시 COW(Copy-on-Write)의 필요성 판단과 스냅샷 삭제 연산 시의 COW 발생여부를 판단하기 위해 필요한 디스크 I/O의 수를 현저히 줄임으로써, 시스템의 성능 향상 및 데이터 엑세스 서비스의 신뢰성을 도모할 수 있는 논리 볼륨 관리 시스템에서의 매핑 테이블 구조를 구비한 논리 볼륨 관리 시스템 및 이를 이용한 효율적인 스냅샷 방법에 관한 것이다.The present invention relates to a logical volume management system and an online snapshot method having a mapping table structure for providing a non-stop service, and more particularly, to copy-on-write during a write operation performed after a snapshot is created. Logical volume management system that can improve system performance and reliability of data access service by drastically reducing the number of disk I / O required to determine the need of Write) and COW occurrence during snapshot delete operation. A logical volume management system having a mapping table structure in and an efficient snapshot method using the same.

최근 컴퓨팅 환경은 인터넷(Internet)의 발전으로 전자상거래(Electronic Commerce), 웹 서비스(Web Service) 등이 매우 활발하게 진행되고 있다. 이러한 인터넷 서비스들은 항상 사용자에게 온라인으로 서비스를 제공해야 하며, 24*7*365 무정지 서비스는 매우 중요한 서비스 요소가 되고 있다. Recently, the computing environment has been actively developed such as electronic commerce and web services due to the development of the Internet. These Internet services should always be provided online to users, and 24 * 7 * 365 nonstop service has become a very important service element.

이러한 무정지 서비스를 제공하기 위해서는 스냅샷 기반의 온라인 백업의 지원이 필수적이다. In order to provide such a nonstop service, snapshot-based online backup support is essential.

스냅샷(Snapshot)은 이러한 온라인 백업 지원을 위해 사용되며, 사용자가 백업을 원하는 특정 시점에서의 기존 데이터 상태를 저장, 유지시켜준다. Snapshots are used to support this online backup, and store and maintain the state of existing data at a specific point in time that you want to back up.

또한, 스냅샷 생성 후 데이터에 대한 변경이 발생하면 새로운 데이터 영역을 할당하고 스냅샷 생성 시점의 데이터를 새로 할당된 데이터 영역에 복사하여 기존 데이터 내용을 유지하는 방법이다. 이러한 방법을 Copy-on-Write(이하, COW라 함)라고 한다.In addition, if the data changes after the snapshot is created, a new data area is allocated and the data at the time of snapshot creation is copied to the newly allocated data area to maintain the existing data contents. This method is called copy-on-write (hereinafter referred to as COW).

일반적으로, 논리 볼륨 관리자에서 COW를 통해 스냅샷을 지원하는 방법은, 논리 주소를 물리 주소로 매핑하기 위하여 매핑 테이블을 유지하고, 또한 스냅샷을 위한 별도의 매핑을 위하여 스냅샷 매핑 테이블을 논리 볼륨 관리자에서 제공 가능한 스냅샷 개수만큼 유지한다. In general, the method of supporting snapshots through COW in the logical volume manager maintains a mapping table to map logical addresses to physical addresses, and also creates a snapshot mapping table for logical mapping to a logical volume. Keep as many snapshots as the manager can provide.

이하에서는 설명의 편의를 위하여 논리 볼륨 관리자가 각 논리 볼륨 당 지원 가능한 스냅샷의 개수가 3인 경우를 예로 설명한다. In the following description, the logical volume manager supports 3 snapshots for each logical volume as an example.

도 1은 종래 방법의 스냅샷을 제공하기 위한 볼륨 헤더 영역의 구조를 보여주는 도면이다. 1 is a view showing the structure of a volume header area for providing a snapshot of the conventional method.

논리 볼륨(110)을 구성하고 있는 각 디스크(120)의 볼륨 헤더(130)에는 해당 볼륨과 해당 디스크에 대한 정보를 유지하는 볼륨 레이블(Volume Label, 131), 데이터 블록(Block) 또는 익스텐트(Extent)의 할당(Allocation) 관리를 위한 자유공간 관리 비트맵(Free space Bitmap, 132), 해당 볼륨의 논리 주소를 물리 주소로 변환하기 위한 원본 매핑 테이블(133), 스냅샷 1을 위한 매핑 테이블(134), 스냅샷 2를 위한 매핑 테이블(135), 스냅샷 3을 위한 매핑 테이블(136)을 포함한다. 나머지 영역은 데이터를 저장하기 위한 데이터 영역(Data Area, 140)이 된다.The volume header 130 of each disk 120 constituting the logical volume 110 includes a volume label 131, a data block, or an extent that holds information about the volume and the disk. Free Space Bitmap (132) for Allocation Management, Source Mapping Table (133) for Translation of Logical Address of the Volume into Physical Address, Mapping Table (1) for Snapshot 1 ), Mapping table 135 for snapshot 2, and mapping table 136 for snapshot 3. The remaining area becomes a data area 140 for storing data.

도 2는 종래 방법의 매핑 정보에 대한 논리적인 뷰(View)를 보여주는 도면이다. 2 illustrates a logical view of mapping information of a conventional method.

도 2에서, 스냅샷 생성 명령이 발생하면, 볼륨 관리자는 적절한 스냅샷 생성 순서에 따라 원본 매핑 테이블을 해당 스냅샷 번호에 대응되는 스냅샷 매핑 테이블 영역에 복제한다. 이후 원본 볼륨에 대한 데이터의 변경 연산이 요청되면, 볼륨 관리자는 해당 변경 연산이 스냅샷 생성 이후 해당 데이터 블록에의 첫번째 변경연산인지를 판단하기 위하여 원본 매핑 테이블 정보와 해당 스냅샷 매핑 테이블 정보를 비교하게 된다. In FIG. 2, when a snapshot creation command occurs, the volume manager copies the original mapping table to a snapshot mapping table area corresponding to the corresponding snapshot number in an appropriate snapshot creation order. When a change operation on the data for the original volume is requested, the volume manager compares the original mapping table information with the corresponding snapshot mapping table information to determine whether the change operation is the first change operation on the data block after the snapshot is created. Done.

만약, 스냅샷이 3개 모두 생성되어 있다면 원본 매핑 테이블과 3개의 스냅샷 매핑 테이블을 모두 비교하게 된다. 이때, 원본 매핑 정보와 동일한 매핑 정보를 갖는 스냅샷이 존재하면 COW를 수행한다. If all three snapshots are created, the original mapping table and all three snapshot mapping tables are compared. At this time, if there is a snapshot having the same mapping information as the original mapping information, COW is performed.

도 2의 예에서는 논리 블록(또는 익스텐트) 2에 대한 변경 연산이 요청된 상태를 나타낸다. 이 경우 원본 매핑 정보와 스냅샷 매핑 정보가 동일하므로 COW가 진행되게 된다.In the example of FIG. 2, a change operation for logical block (or extent) 2 is requested. In this case, since the original mapping information and the snapshot mapping information are the same, the COW proceeds.

한편, 원본 매핑 테이블은 해당 디스크의 용량에 따라 그 크기가 정해지게 되며, 보통 그 크기는 여러 개의 기본 블록(basic block, 512 byte)으로 구성된다. On the other hand, the size of the original mapping table is determined according to the capacity of the disk, the size is usually composed of a number of basic blocks (basic block, 512 bytes).

일반적으로 디스크 I/O는 기본 블록 단위(512 byte)로 이루어지기 때문에, 도 2에 도시된 바와 같은 종래의 매핑 테이블의 구조에 있어서, 특정 데이터 블록에 대한 원복 매핑정보와 각 스냅샷 매핑정보를 상호 비교하기 위해서는 각 매핑정보에 대해 적어도 4번의 디스크 I/O가 필요하게 된다. In general, since disk I / O is composed of basic block units (512 bytes), in the structure of the conventional mapping table as shown in FIG. 2, the original mapping information and each snapshot mapping information for a specific data block are stored. In order to compare with each other, at least four disk I / Os are required for each mapping information.

이는 스냅샷이 생성되어 있는 상황에서의 매핑 시간을 최대 4배까지 증가시켜 시스템의 성능을 크게 저하시키고, 스냅샷이 없는 경우와 스냅샷이 존재하는 경우의 매핑 시간에 현저한 차이를 발생시켜 신뢰성 있는 서비스 제공을 어렵게 한다.This significantly increases the performance of the system by increasing the mapping time by up to four times when snapshots are taken, and creates significant differences in mapping time when there are no snapshots and when snapshots exist. Difficult to provide service.

또한, 스냅샷 삭제 시에는 해당 스냅샷의 매핑 정보를 원본 매핑 정보 및 다른 스냅샷 매핑 정보와 비교하여, 해당 스냅샷 매핑 정보가 다른 정보와 서로 다르다면 자유공간 관리 비트맵을 통해 해당 영역을 해제하는 과정이 필요하다. 이 경우에도 3개의 스냅샷이 모두 생성된 경우라면 하나의 매핑 정보 비교를 위하여 4번의 디스크 I/O를 발생시켜 시스템 성능을 저하시키게 된다. Also, when deleting a snapshot, the mapping information of the snapshot is compared with the original mapping information and other snapshot mapping information. If the snapshot mapping information is different from other information, the area is released through the free space management bitmap. The process is necessary. In this case, if all three snapshots are created, four disk I / Os are generated to compare one mapping information, thereby degrading system performance.

따라서, 본 발명은 상술한 종래의 문제점을 해결하기 위한 것으로서, 본 발명의 목적은 논리 볼륨 관리자에서 무정지 서비스를 지원하기 위한 온라인 스냅샷 기능을 제공하는데 있어서, 데이터에 대한 변경 및 삭제 시 매핑 정보 확인을 위해 수행되는 디스크 I/O의 수를 1회로 줄임으로써, 스냅샷의 존재 유무에 관계없이 매핑 시간을 동일하게 유지하여 신뢰성 있는 데이터 서비스를 제공할 수 있도록 하고 시스템 성능을 향상시킬 수 있는 논리 볼륨 관리 시스템에서의 매핑 테이블 구조 및 이를 이용한 효율적인 스냅샷 방법을 제공하는데 있다. Accordingly, an object of the present invention is to solve the above-described problems, and an object of the present invention is to provide an online snapshot function for supporting a non-stop service in a logical volume manager, and to check mapping information when data is changed or deleted. Logical volumes that reduce the number of disk I / Os performed for a single time to ensure reliable data service and improve system performance by keeping mapping time the same regardless of the presence of snapshots. The present invention provides a mapping table structure in a management system and an efficient snapshot method using the same.

상기 본 발명의 목적을 달성하기 위한 매핑 테이블 구조를 구비한 논리 볼륨 관리 시스템은 각 논리 데이터 블록 또는 익스텐트에 대하여, 원본 볼륨을 위한 매핑 정보와, 1 또는 2 이상의 스냅샷을 위한 매핑 정보를 한 쌍으로 연결하여 하나의 매핑 엔트리로 구성되는 매핑 테이블 구조를 포함하여 이루어 진다.A logical volume management system having a mapping table structure for achieving the object of the present invention is a pair of mapping information for the original volume and mapping information for one or more snapshots for each logical data block or extent. This is done by including a mapping table structure consisting of a single mapping entry.

또한, 상기 본 발명의 목적을 달성하기 위한 논리 볼륨 관리 시스템에서의 효율적인 스냅샷 방법은, 매핑 테이블의 데이터를 기본 매핑 블록 단위로 메모리로 읽어들인 후 매핑 블록내의 각 매핑 엔트리에 대해 원본 매핑 정보를 해당 스냅샷 매핑 정보 영역에 복사하는 스냅샷 생성 단계; 스냅샷 생성 후 특정 데이터 블록에 대해 변경 연산이 발생하면, 그 데이터 블록에 대한 매핑 블록을 메모리로 읽어들인 후 해당 매핑 엔트리에서 원본 매핑정보와 각 스냅샷 매핑정보를 비교하여 원본 매핑정보와 동일한 스냅샷 매핑정보가 존재하면 그 스냅샷에 대하여 Copy-On-Write를 수행하는 스냅샷 변경 단계; 및 매핑 테이블의 데이터를 기본 매핑 블록 단위로 메모리로 읽어들인 후 각 매핑 엔트리에 대해 삭제 대상 스냅샷 매핑정보와 그 외의 매핑정보가 다를 경우 그 대상 스냅샷에 의해 지시되는 데이터 블록을 할당 해제하는 스냅샷 삭제 단계로 이루어진다. In addition, an efficient snapshot method in a logical volume management system for achieving the object of the present invention, after reading the data of the mapping table in the unit of the basic mapping block to the memory and the original mapping information for each mapping entry in the mapping block. Creating a snapshot copying the snapshot mapping information area; If a change operation occurs on a specific data block after taking a snapshot, the mapping block for the data block is read into memory, and the original mapping information and each snapshot mapping information are compared in the corresponding mapping entry, and the same snap as the original mapping information is performed. A snapshot change step of performing copy-on-write on the snapshot if shot mapping information exists; And a snapshot that reads data from a mapping table into a basic mapping block unit and allocates a data block indicated by the target snapshot when the target snapshot mapping information and other mapping information are different for each mapping entry. The shot deletion step is made.

이하, 본 발명에 따른 실시예를 첨부한 도면을 참조하여 상세히 설명하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 3은 본 발명이 적용되는 논리 볼륨 관리 시스템에 대한 구성도이다. 3 is a block diagram of a logical volume management system to which the present invention is applied.

도 3에 도시된 바와 같이, 논리 볼륨 관리 시스템은 일반적인 디스크(310), 볼륨 관리자(320), 논리 볼륨(330), 파일 시스템 또는 데이터베이스(340)로 이루어진다. As shown in FIG. 3, a logical volume management system includes a general disk 310, a volume manager 320, a logical volume 330, a file system, or a database 340.

상기 디스크(310)는 해당 디스크의 블록 넘버(Block Number)를 통해 액세스된다. The disk 310 is accessed through a block number of the disk.

상기 볼륨 관리자(320)는 사용자의 요청에 따라 사용자가 지정한 디스크들(310)에 논리 볼륨(330)을 관리하기 위하여 필요한 정보를 저장하고, 이들 디스크들을 논리적으로 연결하여 하나의 커다란 논리 볼륨을 제공한다. The volume manager 320 stores information necessary for managing the logical volume 330 on disks 310 designated by the user according to a user's request, and logically connects the disks to provide one large logical volume. do.

상기 볼륨 관리자(320)에 의하여 제공되는 논리 볼륨(330)은 논리 블록 넘버를 통해 액세스된다. The logical volume 330 provided by the volume manager 320 is accessed via a logical block number.

상기 파일 시스템 또는 데이터베이스(340)는 볼륨 관리자에 의하여 제공되는 논리 볼륨을 하나의 저장 장치(storage device)로 인식하고 논리 볼륨 위에 파일 시스템을 생성하거나 데이터베이스를 초기화하며 논리 볼륨을 액세스하기 위하여 논리 블록 넘버를 사용한다.The file system or database 340 recognizes a logical volume provided by a volume manager as a storage device, creates a file system on the logical volume, initializes a database, and accesses a logical volume. Use

한편, 도 4는 본 발명에 따른 볼륨 관리자(320)가 관리하는 상기 디스크(310)의 내부 구조를 보여주는 도면이다. On the other hand, Figure 4 is a view showing the internal structure of the disk 310 managed by the volume manager 320 according to the present invention.

상기 볼륨 관리자(320)는 각 디스크(310)에 논리 볼륨에 대한 정보를 저장하기 위한 볼륨 레이블(Volume Label, 410)을 생성한다. 또한, 해당 디스크에서의 블록(또는 익스텐트) 할당을 제어하기 위하여 자유공간 비트맵(Free Space Bitmap, 420)을 유지 관리하며, 특정 논리 블록(또는 익스텐트)이 어떤 물리 블록(또는 익스텐트)(440)에 대응되는지에 대한 정보로서 매핑 테이블(Mapping Table, 430)을 유지한다. The volume manager 320 generates a volume label 410 for storing information about a logical volume on each disk 310. It also maintains a Free Space Bitmap (420) to control block (or extent) allocation on the disk, with which physical block (or extent) 440 a particular logical block (or extent). The mapping table 430 is maintained as information about whether the correspondence is to correspond to.

각 디스크(310)는 이러한 볼륨 레이블, 자유공간 비트맵, 매핑 테이블 정보 등의 모임인 볼륨 헤더(Volume Header, 450)를 제외한 나머지 공간을 데이터를 저장할 물리 블록(또는 익스텐트)들의 모임인 데이터 공간(Data Area, 460)으로 설정한다. Each disk 310 is a data space (a collection of physical blocks (or extents) for storing data, except for the volume header 450, which is a collection of volume labels, free space bitmaps, mapping table information, and the like. Data Area, 460).

도 5는 본 발명에 따른 매핑 테이블(430)의 구조를 보여주는 도면이다. 5 is a view showing the structure of the mapping table 430 according to the present invention.

도 5에 도시된 바와 같이, 본 발명에 따른 매핑 테이블의 구조는 각 논리 데이터 블록(또는 익스텐트)(560)에 대하여, 원본 볼륨을 위한 매핑 정보(510), 스냅샷 1을 위한 매핑 정보(520), 스냅샷 2를 위한 매핑 정보(530), 스냅샷 3을 위한 매핑 정보(540)를 한 쌍으로 연결하여 하나의 매핑 엔트리(Mapping Entry, 550)를 구성하는 구조로 이루어진다. As shown in FIG. 5, the structure of the mapping table according to the present invention includes mapping information 510 for the original volume and mapping information 520 for the snapshot 1 for each logical data block (or extent) 560. ), A mapping entry 530 for snapshot 2 and mapping information 540 for snapshot 3 are connected in pairs to form a mapping entry 550.

또한, 각 매핑 정보(510, 520, 530, 540)들은 해당 볼륨에 참여하는 여러 물리 디스크들을 구별하기 위한 디스크 ID(570)와 해당 디스크 내에서의 물리 블록(또는 익스텐트) ID(580)의 쌍으로 구성된다. In addition, each mapping information 510, 520, 530, and 540 is a pair of a disk ID 570 and a physical block (or extent) ID 580 within the disk for distinguishing various physical disks participating in the volume. It consists of.

본 발명에 따른 매핑 테이블의 구조는 다양한 변형이 가능하지만, 한 실시 예를 들면, 디스크 ID영역(570)은 8 비트(bit)를 할당하여 볼륨 당 최대 28(=256)개의 물리 디스크를 허용하며, 물리 블록(또는 익스텐트) ID 영역(580)은 56비트를 할당한다. 만약 물리 블록의 크기가 4 KB라면 4 KB * 256 = 268 Byte까지의 물리 디스크 크기를 지원하게 된다. The structure of the mapping table according to the present invention can be modified in various ways. For example, the disk ID area 570 allocates 8 bits to allow a maximum of 28 (= 256) physical disks per volume. The physical block (or extent) ID area 580 allocates 56 bits. If the size of the physical block is 4 KB, the physical disk size up to 4 KB * 256 = 268 Byte is supported.

따라서 하나의 매핑 엔트리(550)는 64비트 * 4 = 8 바이트(byte) * 4 = 32 바이트의 크기를 가지게 되며 512 바이트 크기의 기본 블록에는 512/32=16개의 매핑 엔트리를 저장하게 된다. Therefore, one mapping entry 550 has a size of 64 bits * 4 = 8 bytes * 4 = 32 bytes and stores 512/32 = 16 mapping entries in a basic block of 512 bytes.

즉, 한번의 디스크 I/O에 의해 처리되는 기본 블록(보통 512 byte)내에는 동일 데이터 블록에 대한 원본 매핑정보와 각 스냅샷 매핑정보를 갖는 매핑 엔트리가 다수개 포함되는 구조로 이루어진다. That is, in a basic block (usually 512 bytes) processed by one disk I / O, a structure includes a plurality of mapping entries having original mapping information and snapshot mapping information for the same data block.

본 발명의 매핑 테이블 구조에 따르면, 특정 데이터 블록에 대한 원본 매핑정보와 각 스냅샷 매핑정보를 상호 비교하여 COW의 수행여부를 판단하고자 할 경우, 그 데이터 블록에 대한 원본 매핑정보 및 각 스냅샷 매핑정보 모두가 하나의 기본 매핑 블록(512 byte)내에 포함되기 때문에 한번의 디스크 I/O로도 해당 데이터 블록에 대한 원본 매핑정보와 각 스냅샷 매핑정보의 동일 여부를 판단할 수 있게 된다. According to the mapping table structure of the present invention, if it is desired to determine whether to perform COW by comparing the original mapping information for each specific data block and each snapshot mapping information with each other, the original mapping information for each data block and each snapshot mapping Since all of the information is contained in one basic mapping block (512 bytes), it is possible to determine whether the original mapping information and the respective snapshot mapping information of the corresponding data block are the same with one disk I / O.

한편, 도 6은 상기에서 설명한 매핑 테이블 구조를 바탕으로 스냅샷 생성 시 원본 매핑 테이블의 내용을 해당 스냅샷을 위한 스냅샷 매핑 테이블에 복사하는 과정을 보여주는 흐름도이다. 6 is a flowchart illustrating a process of copying contents of an original mapping table to a snapshot mapping table for a corresponding snapshot when a snapshot is generated based on the mapping table structure described above.

도 6에 도시된 바와 같이, 상기 볼륨 관리자(320)는 먼저, 스냅샷 생성 명령을 통해 생성하고자 하는 스냅샷의 번호를 알아낸다.(S601) As shown in FIG. 6, the volume manager 320 first finds out the number of a snapshot to be created through a snapshot creation command (S601).

그리고, 매핑 테이블의 각 512 바이트 블록 별로 배타모드 잠금(Exclusive mode Lock)을 획득하고 해당 블록을 메모리로 읽어 들인다.(S602) In addition, an exclusive mode lock is obtained for each 512-byte block of the mapping table, and the corresponding block is read into the memory (S602).

하나의 512 바이트 기본 블록에는 총 16개의 매핑 엔트리가 존재한다. 따라서, 각 매핑 엔트리에 대하여 첫 8바이트인 원본 매핑 정보를 8*스냅샷 번호 만큼 떨어져 있는 영역에 복사한다.(S603) There are a total of 16 mapping entries in one 512 byte base block. Therefore, the original mapping information, which is the first 8 bytes of each mapping entry, is copied to an area separated by 8 * snapshot numbers (S603).

즉, 첫번째 스냅샷 이라면 8바이트 떨어진 위치, 즉 원본 매핑 정보 바로 다음에 복사하고, 두 번째 스냅샷이라면 8*2=16바이트 떨어진 위치에 복사한다. That is, the first snapshot is copied 8 bytes away, that is, immediately after the original mapping information, and the second snapshot is copied 8 * 2 = 16 bytes away.

16개의 매핑 엔트리에 대한 복사가 완료되면 잠금을 해제하고,(S604) 해당 블록이 해당 디스크에서 마지막 매핑 블록인지 검사한다.(S605) When copying of 16 mapping entries is completed, the lock is released (S604), and it is checked whether the corresponding block is the last mapping block on the corresponding disk (S605).

검사 결과 마직막 블록이 아니면 블록 번호를 증가시키고 상기 열거한 과정을 반복한다.(S606) If the result of the test is not the last block, the block number is increased and the above-described processes are repeated (S606).

마지막 블록이면 해당 디스크가 마지막 디스크인지 검사한다.(S607) If it is the last block, it is checked whether the corresponding disk is the last disk (S607).

마지막 디스크가 아니라면 디스크 번호를 증가시키고 상기에서 열거한 과정을 반복한다.(S608) 마지막 디스크이면 복사 과정을 완료한다.If it is not the last disc, increase the disc number and repeat the above-mentioned steps (S608). If it is the last disc, the copy process is completed.

이와 같이 스냅샷이 생성된 이후, 데이터에 대한 변경 연산이 발생하면, 이러한 변경 연산이 스냅샷 생성 이후 해당 데이터 블록(또는 익스텐트)에 대하여 처음 발생한 것인지를 판별하여 그 결과에 따라 처음 발생이라면 COW를 수행하고 아니라면 COW를 수행하지 않는다. After the snapshot is created, if a change operation on the data occurs, it is determined whether the change operation occurs first for the corresponding data block (or extent) after the snapshot is created. If not, no COW is performed.

이때, COW의 수행 여부를 판단하는 과정은 다음과 같다. At this time, the process of determining whether to perform COW is as follows.

만약 해당 데이터 블록(또는 익스텐트)에의 변경 연산이 스냅샷 생성 이후 한번도 발생하지 않았다면 원본 매핑 정보와 해당 스냅샷을 위한 매핑 정보가 동일해야 한다. 따라서, 원본 매핑 정보와 특정 스냅샷을 위한 매핑 정보가 동일하다면 COW를 수행해야 한다. If a change operation on the data block (or extent) has not occurred once since the snapshot creation, the original mapping information and the mapping information for the snapshot must be identical. Therefore, if original mapping information and mapping information for a specific snapshot are the same, COW should be performed.

특정 데이터 블록(또는 익스텐트)에 대한 모든 매핑 정보(원본, 모든 스냅샷을 포함)는 동일 매핑 블록에 저장되어 있으므로, 해당 블록이 메모리에 올라와 있지 않다면 디스크로부터 해당 블록을 읽는다. 이후, 메모리내의 블록에서 해당 데이터 블록(또는 익스텐트)을 위한 매핑 정보 위치를 계산하여 원본 및 각 스냅샷 매핑 정보를 비교한다. All mapping information (including the original and all snapshots) for a particular data block (or extent) is stored in the same mapping block, so if the block is not in memory, the block is read from disk. Then, the mapping information position for the corresponding data block (or extent) in the block in the memory is calculated to compare the original and each snapshot mapping information.

비교 결과 원본과 동일한 매핑 정보를 갖는 스냅샷이 하나라도 존재한다면 COW를 수행한다. If there is any snapshot with the same mapping information as the original result, the COW is executed.

COW는 자유공간 관리자에게 새로운 데이터 블록(또는 익스텐트)의 할당을 요청하고, 요청 결과에 따라 정해진 데이터 블록에 원본 매핑 정보에 의하여 지시된 원본 데이터 블록(또는 익스텐트)을 복사함으로써 수행된다. COW is performed by requesting the free space manager to allocate a new data block (or extent) and copying the original data block (or extent) indicated by the original mapping information to the data block determined according to the request result.

그리고, 원본 매핑 정보와 동일한 매핑 정보를 갖는 스냅샷 매핑 정보를 새로이 할당된 데이터 블록(또는 익스텐트)을 가리키도록 변경한다. The snapshot mapping information having the same mapping information as the original mapping information is changed to point to the newly allocated data block (or extent).

따라서, 매핑 테이블에 대한 한번의 디스크 I/O만으로 데이터 변경에 따른 COW의 수행여부를 판단할 수 있게 된다. Therefore, it is possible to determine whether to perform COW according to data change with only one disk I / O to the mapping table.

한편, 스냅샷 삭제 시에는 해당 스냅샷을 위하여 COW를 통해 할당된 데이터 블록(또는 익스텐트)을 할당 해제해야 한다. On the other hand, when deleting a snapshot, the data block (or extent) allocated through the COW for the snapshot must be deallocated.

도 7은 본 발명에 따른 스냅샷 삭제 시 공간 할당 해제를 위한 흐름도이다. 7 is a flowchart illustrating space allocation release when deleting a snapshot according to the present invention.

도 7에 도시된 바와 같이, 스냅샷 삭제를 위해 상기 논리 볼륨 관리자(320)는 삭제 명령에 의해 삭제할 스냅샷 번호를 먼저 확인한다.(S701) As shown in FIG. 7, the logical volume manager 320 first checks the snapshot number to be deleted by the delete command (S701).

그리고, 매핑 테이블의 512 바이트의 기본 매핑 블록 단위로 배타모드 잠금(Exclusive mode Lock)을 획득하고 해당 매핑 블록을 메모리로 읽어 들인다.(S702) In addition, an exclusive mode lock is obtained on a basic mapping block basis of 512 bytes of the mapping table, and the corresponding mapping block is read into the memory (S702).

상기 읽어온 매핑 블록의 각 메핑 엔트리에서 상기 확인된 번호의 스냅샷 매핑정보가 그 외의 모든 매핑정보(원본 매핑정보 및 다른 스냅샷 매핑정보)와 다르다면, 그 스냅샷 매핑정보가 지시하는 해당 데이터 블록(또는 익스텐트)를 할당 해제한다.(S703) If the snapshot mapping information of the identified number is different from all other mapping information (original mapping information and other snapshot mapping information) in each mapping entry of the read mapping block, the corresponding data indicated by the snapshot mapping information. The block (or extent) is deallocated (S703).

특정 스냅샷 매핑정보가 다른 모든 매핑정보와 다르다는 것은 이 스냅샷 매핑정보에 의하여 지시되는 데이터 블록(또는 익스텐트)은 해당 스냅샷만을 위하여 할당된 영역이라는 의미이다. The fact that specific snapshot mapping information is different from all other mapping information means that the data block (or extent) indicated by the snapshot mapping information is an area allocated only for the corresponding snapshot.

이러한 할당 해제 과정을 통해 읽어온 매핑블록내의 16개의 매핑 엔트리에 대한 삭제가 완료되면 잠금을 해제하고,(S704) 해당 블록이 해당 디스크에서 마지막 매핑 블록인지 검사한다.(S705) When the deletion of the 16 mapping entries in the mapping block read through the allocation allocation process is completed, the lock is released (S704), and it is checked whether the corresponding block is the last mapping block in the corresponding disk (S705).

검사 결과 마직막 블록이 아니면 블록 번호를 증가시키고 상기 열거한 과정을 반복한다.(S706) If the test result is not the last block, the block number is increased and the above-described process is repeated (S706).

마지막 블록이면 해당 디스크가 마지막 디스크인지 검사한다.(S707) If it is the last block, it is checked whether the corresponding disk is the last disk (S707).

마지막 디스크가 아니라면 디스크 번호를 증가시키고 상기에서 열거한 과정을 반복한다.(S708) 마지막 디스크이면 삭제 과정을 완료한다.If it is not the last disk, increase the disk number and repeat the above-mentioned process (S708). If it is the last disk, the deletion process is completed.

상기 설명된 바와 같은 본 발명에 따른 논리 볼륨 관리시스템에서의 온라인 스냅샷 방법은, 본 발명의 매핑 테이블 구조를 이용하는 것으로, 매핑 테이블(430)의 데이터를 기본 매핑 블록 단위로 메모리로 읽어들인 후 매핑 블록내의 각 매핑 엔트리(550)에 대해 원본 매핑 정보를 해당 스냅샷 매핑 정보 영역에 복사하는 스냅샷 생성 단계와, 스냅샷 생성 후 특정 데이터 블록에 대해 변경 연산이 발생하면, 그 데이터 블록에 대한 매핑 블록을 메모리로 읽어들인 후 해당 매핑 엔트리(550)에서 원본 매핑정보와 각 스냅샷 매핑정보를 비교하여 원본 매핑정보와 동일한 스냅샷 매핑정보가 존재하면 그 스냅샷에 대하여 Copy-On-Write를 수행하는 스냅샷 변경 단계와, 매핑 테이블(430)의 데이터를 기본 매핑 블록 단위로 메모리로 읽어들인 후 각 매핑 엔트리(550)에 대해 삭제 대상 스냅샷 매핑정보와 그 외의 매핑정보가 다를 경우 그 대상 스냅샷에 의해 지시되는 데이터 블록을 할당 해제하는 스냅샷 삭제 단계로 이루어진다. The online snapshot method in the logical volume management system according to the present invention as described above uses the mapping table structure of the present invention. The data of the mapping table 430 is read into the memory in basic mapping block units and then mapped. For each mapping entry 550 in the block, a snapshot creation step of copying the original mapping information into the corresponding snapshot mapping information area, and if a change operation occurs for a specific data block after the snapshot is created, mapping to the data block. After reading the block into memory, compare the original mapping information with each snapshot mapping information in the corresponding mapping entry 550, and if there is the same snapshot mapping information as the original mapping information, copy-on-write is performed on the snapshot. The snapshot change step is performed, and data of the mapping table 430 is read into memory in units of basic mapping blocks, and then each mapping entry 550 is read. To remove the target snapshot information comprises a map and that when the other map information different snapshot deletion step of unassigned blocks of data indicated by the object snapshot.

또한, 상기 스냅샷 생성 단계는, 스냅샷 생성 명령을 통해 생성하고자 하는 스냅샷 번호를 확인하는 단계와, 매핑 테이블(430)의 기본 매핑 블록 단위로 배타모드 잠금을 획득하고 그 매핑 블록을 메모리로 읽어 들이는 단계와, 상기 읽어온 매핑 블록내에 포함된 각 매핑 엔트리(550)에 대하여 그 원본 매핑 정보를 상기 확인된 스냅샷 번호의 스냅샷 매핑 정보 영역에 복사하는 단계와, 매핑 블록내의 모든 매핑 엔트리(550)에 대해 복사가 완료되면 잠금을 해제하는 단계와, 해당 매핑 블록이 마지막 블록인지를 확인하여 상기 각 단계를 통해 매핑 테이블(430)내의 모든 매핑 블록에 대한 복사를 완료하며, 이러한 매핑 테이블에 대한 스냅샷 복사 단계들을 각 논리적 디스크 장치에 순차적으로 적용하여 모든 논리적 디스크 장치의 매핑 테이블에 대한 스냅샷 복사를 완료하는 단계로 이루어진다. In addition, the snapshot generation step, the step of confirming the snapshot number to be created by the snapshot generation command, and obtaining the exclusive mode lock in the unit of the basic mapping block of the mapping table 430, and the mapping block to the memory Reading, copying the original mapping information for each mapping entry 550 included in the read mapping block into a snapshot mapping information area of the identified snapshot number, and all mappings in the mapping block. When the copy is completed for the entry 550, the step of releasing the lock, confirming whether the corresponding mapping block is the last block, and completing the copy of all the mapping blocks in the mapping table 430 through each of the above steps, such mapping Snapshot of the mapping table for all logical disk units by applying the snapshot copy steps for the table sequentially to each logical disk unit. The copying is completed.

상기 스냅샷 변경 단계는, 변경 연산이 발생한 데이터 블록에 해당되는 매핑 블록을 메모리로 읽어 들인 후, 상기 읽어온 매핑 블록에서 변경된 데이터 블록을 대한 매핑 엔트리(550)를 확인하고 그 매핑 엔트리(550)의 원본 매핑 정보와 각 스냅샷 매핑 정보를 상호 비교하여, 상기 비교 결과 원본과 동일한 매핑 정보를 갖는 스냅샷이 하나라도 존재하면 Copy-On-Write 동작을 수행하고, 원본과 동일한 매핑 정보를 갖는 스냅샷이 없을 경우는 Copy-On-Write 동작을 수행하지 않는 것을 특징으로 한다. In the snapshot changing step, after reading the mapping block corresponding to the data block on which the change operation has occurred into the memory, checking the mapping entry 550 for the changed data block in the read mapping block and the mapping entry 550. Compares the original mapping information and each snapshot mapping information with each other, and if there is any snapshot having the same mapping information as the original result, the Copy-On-Write operation is performed, and the snap having the same mapping information as the original is performed. If there is no shot, the Copy-On-Write operation is not performed.

또한, 상기 스냅샷 삭제 단계는, 스냅샷 삭제 명령을 통해 삭제하고자 하는 스냅샷 번호를 확인하는 단계와, 매핑 테이블(430)의 기본 매핑 블록 단위로 배타모드 잠금을 획득하고 그 매핑 블록을 메모리로 읽어 들이는 단계와, 상기 읽어온 매핑 블록내에 포함된 각 매핑 엔트리(550)에 대하여 상기 확인된 스냅샷 번호의 스냅샷 매핑정보와 그 외의 모든 매핑정보를 비교하여 모두 다를 경우 그 스냅샷을 위해 할당된 데이터 블록 또는 익스텐트를 할당 해제하는 단계와, 해당 매핑 블록내의 모든 매핑 엔트리에 대해 삭제가 완료되면 잠금을 해제하는 단계와, 해당 매핑 블록이 마지막 블록인지를 확인하여 상기 각 단계를 통해 매핑 테이블(430)내의 모든 매핑 블록에 대한 삭제를 완료하며, 이러한 매핑 테이블의 스냅샷 삭제 과정을 각 논리적 디스크 장치에 순차적으로 적용하여 모든 논리적 디스크 장치의 매핑 테이블에 대한 스냅샷 삭제를 완료하는 단계로 이루어진다. In addition, the step of deleting the snapshot, the step of confirming the snapshot number to be deleted through the snapshot delete command, to obtain the exclusive mode lock in the unit of the basic mapping block of the mapping table 430, and the mapping block to the memory Reading and comparing the snapshot mapping information of the identified snapshot number with all other mapping information with respect to each mapping entry 550 included in the read mapping block, and if all are different, for the snapshot. Unassigning an allocated data block or extent, unlocking when all mapping entries in the mapping block are completed, and checking whether the corresponding mapping block is the last block and mapping each table through the above steps Complete the deletion of all mapping blocks in 430, and delete the snapshot of this mapping table for each logical disk device. Applying to the sequential steps to complete the deletion of the snapshot of the mapping table of all logical disk devices.

상술한 바와 같이 본 발명에 따른 논리 볼륨 관리 시스템에서의 효율적인 스냅샷 방법은, 스냅샷 수만큼의 스냅샷 매핑 테이블을 별도로 구분하여 저장하지 않고 동일 논리주소에 대한 매핑 정보를 매핑 엔트리에 함께 연결하여 저장함으로써 스냅샷 생성 후의 쓰기 연산 또는 스냅샷 삭제 연산 시의 디스크 I/O의 횟수를 1회로 줄이게 되며, 결과적으로 원본 볼륨에 대한 액세스 시 시스템 성능을 현저히 향상시키고, 스냅샷 생성 여부에 관계없이 항상 동일한 성능으로 데이터에 대한 액세스 서비스를 제공하여 그 신뢰성을 향상시킬 수 있다. As described above, the efficient snapshot method in the logical volume management system according to the present invention connects mapping information for the same logical address to the mapping entry without separately storing the snapshot mapping table as many as the number of snapshots. By saving, you can reduce the number of disk I / Os during a write or snapshot delete operation after a snapshot is created, resulting in a significant improvement in system performance when accessing the original volume, and always with or without a snapshot. The same performance can provide access to the data to improve its reliability.

이상에서 설명한 것은 본 발명에 따른 논리 볼륨 관리 시스템에서의 효율적인 스냅샷 방법을 실시하기 위한 하나의 실시예에 불과한 것으로서, 본 발명은 상기한 실시예에 한정되지 않고, 이하의 특허청구의 범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변경 실시가 가능한 범위까지 본 발명의 기술적 정신이 있다고 할 것이다.What has been described above is only one embodiment for implementing an efficient snapshot method in a logical volume management system according to the present invention, and the present invention is not limited to the above-described embodiment, and is claimed in the following claims. Without departing from the gist of the present invention, any person having ordinary knowledge in the field of the present invention will have the technical spirit of the present invention to the extent that various modifications can be made.

도 1은 종래 방법의 스냅샷을 제공하기 위한 볼륨 헤더 영역의 구조를 보여주는 도면. 1 shows the structure of a volume header area for providing a snapshot of a conventional method.

도 2는 종래 방법의 매핑 정보에 대한 논리적인 뷰(View)를 보여주는 도면. 2 illustrates a logical view of mapping information of a conventional method.

도 3은 본 발명이 적용되는 논리 볼륨 관리 시스템에 대한 구성도. 3 is a block diagram of a logical volume management system to which the present invention is applied.

도 4는 본 발명에 따른 볼륨 관리자가 관리하는 디스크의 내부 구조를 보여주는 도면. 4 is a diagram illustrating an internal structure of a disk managed by a volume manager according to the present invention.

도 5는 본 발명에 따른 매핑 테이블 구조를 보여주는 도면. 5 shows a mapping table structure according to the present invention.

도 6은 본 발명에 따른 스냅샷 생성 시 매핑 테이블 복사 흐름도. 6 is a flowchart of copying a mapping table when creating a snapshot according to the present invention.

도 7은 본 발명에 따른 스냅샷 삭제 시 공간 할당 해제를 위한 흐름도. 7 is a flow chart for de-allocating space when deleting a snapshot according to the present invention.

<도면의 주요부분에 대한 부호의 설명><Description of the symbols for the main parts of the drawings>

310: 디스크 320: 볼륨 관리자310: Disk 320: Volume Manager

330: 논리 볼륨 410: 볼륨 레이블330: logical volume 410: volume label

420: 자유공간 비트맵 430: 매핑 테이블420: free space bitmap 430: mapping table

450: 볼륨 헤더 510: 원본 매핑정보450: volume header 510: source mapping information

520,530,540: 스냅샷 매핑정보520,530,540: snapshot mapping information

550: 매핑 엔트리550: mapping entry

Claims (7)

논리 볼륨 관리 시스템에 있어서, In a logical volume management system, 온라인 스냅샷을 지원하기 위하여 원본 매핑정보 및 스냅샷 매핑정보를 설정하는 매핑 테이블의 구조로서, 상기 매핑 테이블 구조는 각 논리 데이터 블록 또는 익스텐트에 대하여, 원본 볼륨을 위한 매핑 정보와, 1 또는 2 이상의 스냅샷을 위한 매핑 정보를 한 쌍으로 연결하여 하나의 매핑 엔트리로 구성하는 구조를 갖는 매핑 테이블 구조를 구비하는 논리 볼륨 관리 시스템. A mapping table structure for setting original mapping information and snapshot mapping information to support an online snapshot, wherein the mapping table structure includes, for each logical data block or extent, mapping information for the original volume, one or more than two. A logical volume management system having a mapping table structure having a structure in which a pair of mapping information for a snapshot is connected to each other to form a mapping entry. 제 1항에 있어서, The method of claim 1, 상기 원본 매핑정보 및 상기 스냅샷 매핑정보는 해당 볼륨에 참여하는 여러 물리 디스크들을 구별하기 위한 디스크 ID와 해당 디스크 내에서의 물리 블록 또는 익스텐트 ID의 쌍으로 구성되는 것을 특징으로 하는 매핑 테이블 구조를 구비하는 논리 볼륨 관리 시스템. The original mapping information and the snapshot mapping information have a mapping table structure comprising a pair of a disk ID for distinguishing several physical disks participating in the volume and a physical block or extent ID in the disk. Logical volume management system. 제 2항에 있어서, The method of claim 2, 상기 디스크 ID는 8 비트가 할당되고, 상기 물리 블록 또는 익스텐트 ID는 56비트가 할당되어, 디스크 I/O 시의 512 바이트 크기의 기본 매핑 블록내에는 다수의 매핑 엔트리가 포함되는 것을 특징으로 하는 매핑 테이블 구조를 구비하는 논리 볼륨 관리 시스템. 8 bits are allocated to the disk ID, 56 bits are allocated to the physical block or extent ID, and a plurality of mapping entries are included in the basic mapping block having a size of 512 bytes at the time of disk I / O. Logical volume management system having a table structure. 제 1항의 매핑 테이블 구조를 통해 논리 볼륨 관리자가 온라인 스냅샷을 지원하는 방법에 있어서, The method of claim 1, wherein the logical volume manager supports online snapshots through the mapping table structure. 매핑 테이블의 데이터를 기본 매핑 블록 단위로 메모리로 읽어들인 후 매핑 블록내의 각 매핑 엔트리에 대해 원본 매핑 정보를 해당 스냅샷 매핑 정보 영역에 복사하는 스냅샷 생성 단계; A snapshot generation step of reading data of a mapping table into memory in a basic mapping block unit and copying original mapping information to a corresponding snapshot mapping information area for each mapping entry in the mapping block; 스냅샷 생성 후 특정 데이터 블록에 대해 변경 연산이 발생하면, 그 데이터 블록에 대한 매핑 블록을 메모리로 읽어들인 후 해당 매핑 엔트리에서 원본 매핑정보와 각 스냅샷 매핑정보를 비교하여 원본 매핑정보와 동일한 스냅샷 매핑정보가 존재하면 그 스냅샷에 대하여 Copy-On-Write를 수행하는 스냅샷 변경 단계; 및 If a change operation occurs on a specific data block after taking a snapshot, the mapping block for the data block is read into memory, and the original mapping information and each snapshot mapping information are compared in the corresponding mapping entry, and the same snap as the original mapping information is performed. A snapshot change step of performing copy-on-write on the snapshot if shot mapping information exists; And 매핑 테이블의 데이터를 기본 매핑 블록 단위로 메모리로 읽어들인 후 각 매핑 엔트리에 대해 삭제 대상 스냅샷 매핑정보와 그 외의 매핑정보가 다를 경우 그 대상 스냅샷에 의해 지시되는 데이터 블록을 할당 해제하는 스냅샷 삭제 단계;로 이루어지는 것을 특징으로 하는 논리 볼륨 관리 시스템에서의 효율적인 스냅샷 방법. Snapshot which reads data of mapping table into memory in basic mapping block unit and deallocates data block indicated by target snapshot when mapping target information and other mapping information are different for each mapping entry. Deletion step; effective snapshot method in a logical volume management system, characterized in that consisting of. 제 4항에 있어서, 상기 스냅샷 생성 단계는, The method of claim 4, wherein the snapshot creation step, 스냅샷 생성 명령을 통해 생성하고자 하는 스냅샷 번호를 확인하는 단계와, Confirming the snapshot number to be created by the snapshot creation command; 매핑 테이블의 기본 매핑 블록 단위로 배타모드 잠금을 획득하고 그 매핑 블록을 메모리로 읽어 들이는 단계와, Acquiring an exclusive mode lock in units of the basic mapping block of the mapping table and reading the mapping block into memory; 상기 읽어온 매핑 블록내에 포함된 각 매핑 엔트리에 대하여 그 원본 매핑 정보를 상기 확인된 스냅샷 번호의 스냅샷 매핑 정보 영역에 복사하는 단계와, Copying the original mapping information for each mapping entry included in the read mapping block into a snapshot mapping information area of the identified snapshot number; 매핑 블록내의 모든 매핑 엔트리에 대해 복사가 완료되면 잠금을 해제하는 단계와, Releasing the lock when copying is complete for all mapping entries in the mapping block; 해당 매핑 블록이 마지막 블록인지를 확인하여 상기 각 단계를 통해 매핑 테이블내의 모든 매핑 블록에 대한 복사를 완료하며, 이러한 매핑 테이블에 대한 스냅샷 복사 과정을 각 논리적 디스크 장치에 순차적으로 적용하여 모든 논리적 디스크 장치의 매핑 테이블에 대해 스냅샷 복사를 완료하는 단계로 이루어지는 것을 특징으로 하는 논리 볼륨 관리 시스템에서의 효율적인 스냅샷 방법.Verify that the corresponding mapping block is the last block and complete the copying of all mapping blocks in the mapping table through each of the above steps, and apply the snapshot copying process for these mapping tables to each logical disk device sequentially to Efficient snapshot method in a logical volume management system comprising the step of completing a snapshot copy to the mapping table of the device. 제 4항에 있어서, 상기 스냅샷 변경 단계는, The method of claim 4, wherein the step of changing the snapshot, 변경 연산이 발생한 데이터 블록에 해당되는 매핑 블록을 메모리로 읽어 들인 후, 상기 읽어온 매핑 블록에서 변경된 데이터 블록을 대한 매핑 엔트리를 확인하고 그 매핑 엔트리의 원본 매핑 정보와 각 스냅샷 매핑 정보를 상호 비교하여, 상기 비교 결과 원본과 동일한 매핑 정보를 갖는 스냅샷이 하나라도 존재하면 Copy-On-Write 동작을 수행하고, 원본과 동일한 매핑 정보를 갖는 스냅샷이 없을 경우는 Copy-On-Write 동작을 수행하지 않는 것을 특징으로 하는 논리 볼륨 관리 시스템에서의 효율적인 스냅샷 방법.After reading the mapping block corresponding to the data block where the change operation occurred, into the memory, check the mapping entry for the changed data block in the read mapping block, and compare the original mapping information of the mapping entry with each snapshot mapping information. If there is any snapshot having the same mapping information as the original as a result of the comparison, the Copy-On-Write operation is performed, and if there is no snapshot having the same mapping information as the original, the Copy-On-Write operation is performed. Efficient snapshot method in a logical volume management system characterized in that not. 제 4항에 있어서, 상기 스냅샷 삭제 단계는, The method of claim 4, wherein deleting the snapshot, 스냅샷 삭제 명령을 통해 삭제하고자 하는 스냅샷 번호를 확인하는 단계와, Determining the snapshot number to delete through the delete snapshot command, 매핑 테이블의 기본 매핑 블록 단위로 배타모드 잠금을 획득하고 그 매핑 블록을 메모리로 읽어 들이는 단계와, Acquiring an exclusive mode lock in units of the basic mapping block of the mapping table and reading the mapping block into memory; 상기 읽어온 매핑 블록내에 포함된 각 매핑 엔트리에 대하여 상기 확인된 스냅샷 번호의 스냅샷 매핑정보와 그 외의 모든 매핑정보를 비교하여 모두 다를 경우 그 스냅샷을 위해 할당된 데이터 블록 또는 익스텐트를 할당 해제하는 단계와, For each mapping entry included in the read mapping block, the snapshot mapping information of the identified snapshot number is compared with all other mapping information, and if all are different, the data block or extent allocated for the snapshot is deallocated. To do that, 해당 매핑 블록내의 모든 매핑 엔트리에 대해 삭제가 완료되면 잠금을 해제하는 단계와,  Releasing the lock upon deletion of all mapping entries in the mapping block; 해당 매핑 블록이 마지막 블록인지를 확인하여 상기 각 단계를 통해 매핑 테이블내의 모든 매핑 블록에 대한 삭제를 완료하며, 이러한 매핑 테이블에 대한 스냅샷 삭제 과정을 각 논리적 디스크 장치에 순차적으로 적용하여 모든 논리적 디스크 장치의 매핑 테이블에 대해 스냅샷 삭제를 완료하는 단계로 이루어지는 것을 특징으로 하는 논리 볼륨 관리 시스템에서의 효율적인 스냅샷 방법.Confirm that the corresponding mapping block is the last block, and complete the deletion of all mapping blocks in the mapping table through each of the above steps, and apply the snapshot deletion process for the mapping table to each logical disk device in sequence to all logical disks. Efficient snapshot method in a logical volume management system comprising the step of completing the deletion of the snapshot on the mapping table of the device.
KR10-2002-0082099A 2002-12-21 2002-12-21 Logical volume manager system having mapping table structure and snapshot method using the same KR100472204B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2002-0082099A KR100472204B1 (en) 2002-12-21 2002-12-21 Logical volume manager system having mapping table structure and snapshot method using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0082099A KR100472204B1 (en) 2002-12-21 2002-12-21 Logical volume manager system having mapping table structure and snapshot method using the same

Publications (2)

Publication Number Publication Date
KR20040055429A KR20040055429A (en) 2004-06-26
KR100472204B1 true KR100472204B1 (en) 2005-03-10

Family

ID=37348103

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0082099A KR100472204B1 (en) 2002-12-21 2002-12-21 Logical volume manager system having mapping table structure and snapshot method using the same

Country Status (1)

Country Link
KR (1) KR100472204B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112052217B (en) * 2020-09-25 2023-09-26 杭州宏杉科技股份有限公司 Snapshot implementation method and device

Also Published As

Publication number Publication date
KR20040055429A (en) 2004-06-26

Similar Documents

Publication Publication Date Title
KR100439675B1 (en) An efficient snapshot technique for shated large storage
US6421767B1 (en) Method and apparatus for managing a storage system using snapshot copy operations with snap groups
US10248623B1 (en) Data deduplication techniques
US6530035B1 (en) Method and system for managing storage systems containing redundancy data
US7895394B2 (en) Storage system
US9152349B2 (en) Automated information life-cycle management with thin provisioning
US7197598B2 (en) Apparatus and method for file level striping
US7415653B1 (en) Method and apparatus for vectored block-level checksum for file system data integrity
CN113220242B (en) Storage management method, apparatus, and computer readable medium
US7783847B2 (en) Method and system for reallocating blocks in a storage pool
US7779218B2 (en) Data synchronization management
US7877554B2 (en) Method and system for block reallocation
US20050114402A1 (en) Block level data snapshot system and method
US7624230B2 (en) Information processing apparatus, information processing method and storage system using cache to reduce dynamic switching of mapping between logical units and logical devices
US20060206677A1 (en) System and method of an efficient snapshot for shared large storage
US20080320258A1 (en) Snapshot reset method and apparatus
US8694563B1 (en) Space recovery for thin-provisioned storage volumes
US7225314B1 (en) Automatic conversion of all-zero data storage blocks into file holes
US7124243B2 (en) Methods and systems of cache memory management and snapshot operations
US7549029B2 (en) Methods for creating hierarchical copies
US6629203B1 (en) Alternating shadow directories in pairs of storage spaces for data storage
US7552240B2 (en) Method for user space operations for direct I/O between an application instance and an I/O adapter
US11620062B1 (en) Resource allocation techniques using a metadata log
US7526622B1 (en) Method and system for detecting and correcting data errors using checksums and replication
US7424574B1 (en) Method and apparatus for dynamic striping

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
FPAY Annual fee payment

Payment date: 20090202

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee