KR20030071245A - Store system and method of dynamic bitmap for huge file system - Google Patents

Store system and method of dynamic bitmap for huge file system Download PDF

Info

Publication number
KR20030071245A
KR20030071245A KR1020020010855A KR20020010855A KR20030071245A KR 20030071245 A KR20030071245 A KR 20030071245A KR 1020020010855 A KR1020020010855 A KR 1020020010855A KR 20020010855 A KR20020010855 A KR 20020010855A KR 20030071245 A KR20030071245 A KR 20030071245A
Authority
KR
South Korea
Prior art keywords
bitmap
area
type
file system
allocated
Prior art date
Application number
KR1020020010855A
Other languages
Korean (ko)
Other versions
KR100452631B1 (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-0010855A priority Critical patent/KR100452631B1/en
Publication of KR20030071245A publication Critical patent/KR20030071245A/en
Application granted granted Critical
Publication of KR100452631B1 publication Critical patent/KR100452631B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/113Details of archiving

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

PURPOSE: A mass file storage system and a dynamic bitmap management method are provided to dynamically allocate a bit map without being restricted by a file size so that it can effectively manage large sized files. CONSTITUTION: The method comprises several steps. A bit map is read from a storage device(S521). A pattern value is read from the header of the bit map in order to be compared with an object pattern requested by a file system(S522). If the pattern of the bit map is identical to that of the object pattern, the number of used bits is compared with that of the total bits(S523). If the number of the used bits is less than that of the total bits, unused bits are set with "1"(S524). Then, a bit map area is allocated to a corresponding object(S525). If the pattern of the bit map is not identical to that of the object or the number of the used bits is more than that of the total bits, it is checked whether there is a bit map in use allocated at a current bit map area(S526). If there is a bit map in use, a new bit map is read, otherwise an unused bit map is selected from a bit map area and is set with a requested pattern(S527). Then, the first bit of the new allocated bit map is set with "1" for allocating a bit map area to the object(S528).

Description

대용량 파일 저장 시스템 및 이를 이용한 대용량 파일의 동적 비트맵 관리 방법{Store system and method of dynamic bitmap for huge file system}Storage system and method of dynamic bitmap for huge file system using large file storage system

본 발명은 대용량 파일 저장 시스템 및 이를 이용한 대용량 파일의 동적 비트맵 관리 방법에 관한 것으로서, 특히 대용량 파일 저장 시스템에서 파일을 관리하기 위한 객체인 아이노드, 디렉토리 엔트리, 그리고 데이터 블록을 관리하기 위한 비트맵의 구성 및 할당과 회수 방법에 관한 것이다. 즉, 본 발명은, 대용량 파일 시스템에 할당된 전체 디스크 공간을 위한 비트맵을 구성하는 방법과 이를 이용하여 파일 시스템에 대한 연산이 발생하는 경우 세 가지 객체를 비트맵을 이용하여 동적으로 관리함으로써 사용되는 객체에 맞게 비트맵을 효율적으로 관리할 수 있도록 하고, 디스크와 같은 저장 공간의 낭비를 최소화하기 위한 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.The present invention relates to a large file storage system and a method for managing a dynamic bitmap of a large file using the same, and particularly, to a bitmap for managing an inode, a directory entry, and a data block, which are objects for managing a file in a large file storage system. It relates to the composition and allocation and retrieval method of the. That is, according to the present invention, a method of constructing a bitmap for the entire disk space allocated to a large file system, and using the same, dynamically manages three objects using a bitmap when an operation on the file system occurs. The present invention relates to a method for efficiently managing a bitmap according to an object, to minimizing waste of storage space such as a disk, and to a computer-readable recording medium having recorded thereon a program for realizing the method.

파일 저장 시스템과 관련된 연구는 컴퓨터가 처음으로 개발된 이래로 지속적으로 이루어져 왔고 많은 제품들이 출시되었다. 대표적으로 유닉스 파일시스템(UFS), 리눅스 파일 시스템(Ext), 윈도우즈 파일 시스템(NTFS) 등을 들수 있다.Research on file storage systems has been ongoing since the computer was first developed and many products have been released. The Unix file system (UFS), the Linux file system (Ext), and the Windows file system (NTFS) are some examples.

이러한 파일 시스템에서는 디스크나 씨디롬 등과 같은 저장 장치에 파일을 저장하고 관리하기 위해서 파일에 대한 정보를 관리하기 위한 아이노드, 파일들의 집합인 디렉토리 정보를 관리하는 디렉토리 엔트리, 그리고 실제 파일의 내용이 저장되는 데이터 블록을 효과적으로 관리해야 한다. 이를 위해서 유닉스나 리눅스 파일 시스템에서는 파일 시스템을 생성할 때, 저장 장치 공간을 아이노드, 디렉토리 엔트리, 데이터 블록의 세 개의 영역으로 구분하고, 이를 관리하기 위해 각 객체에 해당하는 비트맵 영역을 정적으로 할당하여 관리하는 기법을 사용한다.In such a file system, in order to store and manage files in a storage device such as a disk or a CD-ROM, an inode for managing information about a file, a directory entry for managing directory information, which is a collection of files, and contents of an actual file are stored. Data blocks need to be managed effectively. To do this, in UNIX or Linux file systems, when creating a file system, the storage space is divided into three areas: inode, directory entry, and data block. To manage this, the bitmap area corresponding to each object is statically managed. Use techniques to allocate and manage

각 객체에 대하여 비트맵의 1 비트를 할당하여 사용하면 1로 설정하고, 사용하지 않으면 0으로 설정한다.If 1 bit of bitmap is allocated and used for each object, it is set to 1, otherwise it is set to 0.

객체를 위한 영역과 비트맵의 크기를 결정하기 위해서는 파일 시스템에 저장되는 파일의 크기가 중요하다. 만약 데이터를 저장할 수 있는 공간이 100GB이고 파일의 크기가 1MB라고 가정하면, 파일 시스템에는 100,000개의 파일을 저장할 수 있으므로 100,000개의 아이노드를 저장할 수 있는 영역을 할당하고, 100,000개의 비트를 저장할 수 있는 아이노드 비트맵 영역을 설정하면 된다. 그러나 파일의 크기가 매우 다양함으로 정확한 크기의 비트맵 영역을 설정하는 것이 어려우므로 유닉스나 리눅스 파일 시스템에서는 4KB 당 1개의 아이노드를 할당하는 방법을 사용한다.The size of the file stored in the file system is important to determine the size of the area and bitmap for the object. If you have 100GB of data and 1MB of file size, you can store 100,000 files in the file system, so allocate an area for 100,000 inodes, and save 100,000 bits. This is done by setting the node bitmap area. However, due to the large variety of file sizes, it is difficult to set up an exact sized bitmap area, so Unix or Linux file systems allocate one inode per 4KB.

그러나, 이러한 정적인 비트맵 방법은 다음과 같은 두 가지 문제가 발생한다.However, this static bitmap method has two problems.

첫째, 파일 시스템에 저장되는 파일의 크기가 적은 경우, 정적 비트맵을 사용하는 파일 시스템에서, 저장된 파일의 크기가 적게되면 아이노드의 개수가 모자라게 되어 저장 공간의 낭비가 발생한다. 즉, 파일 시스템에 4KB미만의 파일이 다량으로 발생하는 경우 저장장치에는 파일을 저장할 수 있는 공간이 존재하지만 파일의 정보를 관리하기 위한 아이노드가 없어서 더 이상의 파일을 저장할 수 없다.First, when the size of a file stored in the file system is small, in a file system using a static bitmap, if the size of the stored file is small, the number of inodes is insufficient, which causes a waste of storage space. In other words, if a file size of less than 4KB occurs in the file system, there is a space in the storage device to store the file, but there is no inode for managing the information of the file, and thus no more files can be stored.

둘째, 파일 시스템에 저장되는 파일의 크기가 큰 경우, 정적 비트맵을 사용하는 파일 시스템에서, 저장된 파일의 크기가 크게 되면, 아이노드의 낭비가 발생한다. 즉, 파일 시스템에 4KB이상의 파일이 다량으로 저장되게 되면 아이노드가 남아 있지만 저장장치에 파일을 저장할 공간이 없어서 더 이상 파일을 저장할 수 없다.Second, when the size of the file stored in the file system is large, in the file system using the static bitmap, if the size of the stored file is large, waste of the inode occurs. In other words, if a large amount of files larger than 4KB is stored in the file system, the inode remains, but there is no space to store the files in the storage device, so the files can no longer be stored.

따라서 파일 시스템에 저장되는 파일의 크기를 예측할 수 없으므로 파일의 크기에 기반한 정적 비트맵 방식은 저장 공간의 낭비나 비트맵의 낭비를 초래한다. 특히, 인터넷의 발전으로 전자메일과 같은 소량의 데이터를 주로 저장해야하는 메일 서버 시스템의 경우는 저장 공간의 낭비를 초래하고, 음성이나 영상과 같은 멀티미디어 데이터를 저장하고 서비스하는 멀티미디어 시스템에서는 관리 영역이 낭비되는 문제를 초래하게 되는 것이다.Therefore, since the size of the file stored in the file system cannot be predicted, the static bitmap method based on the file size causes a waste of storage space or a bitmap. In particular, in the case of a mail server system which mainly stores a small amount of data such as e-mail due to the development of the Internet, it causes a waste of storage space, and a management area is wasteful in a multimedia system that stores and services multimedia data such as voice or video. Will cause problems.

따라서, 본 발명은 상기한 종래 기술에 따른 제반 문제점을 해결하기 위하여 안출한 것으로, 본 발명의 목적은, 파일 시스템에서 발생하는 파일의 크기에 제한을 받지 않고 동적으로 비트맵을 할당함으로써 디스크와 같은 저장 장치의 이용 효율성을 높여 대량의 파일들을 효과적으로 관리하도록 하는 대용량 파일 저장 시스템 및 이를 이용한 대용량 파일의 동적 비트맵 관리 방법을 제공함에 있다.Accordingly, the present invention has been made to solve the above-mentioned problems according to the prior art, and an object of the present invention is to allocate a bitmap dynamically without limiting the size of a file generated in a file system, such as a disk. The present invention provides a large file storage system and a dynamic bitmap management method of a large file using the same, which effectively manages a large number of files by increasing the use efficiency of the storage device.

또한, 본 발명의 다른 목적은, 파일 시스템에서 객체(아이노드, 디렉토리 엔트리, 데이터 블록)이 발생되는 시점에 비트맵을 동적으로 할당하는 동적 비트맵 관리 기법과 이를 이용한 대용량 파일 시스템의 구현 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공하는데 있다.Another object of the present invention is to provide a dynamic bitmap management technique for dynamically allocating bitmaps when an object (inode, directory entry, data block) is generated in a file system, and a method of implementing a large file system using the same. A computer readable recording medium having recorded thereon a program for realizing the above method is provided.

도 1은 본 발명에 따른 대용량 파일 시스템에서 대용량 파일 저장 공간의 레이아웃을 표현하는 일 실시예 도면,1 is a diagram for describing a layout of a large file storage space in a large file system according to the present invention;

도 2는 도 1에 도시된 비트맵 영역과 할당 영역의 구조와, 비트맵을 이용한 할당 영역의 관리를 나타내는 일 실시예 도면,2 is a diagram illustrating a structure of a bitmap area and an allocation area shown in FIG. 1 and management of an allocation area using a bitmap;

도 3은 도 2에 도시된 내용의 상세한 예로서 아이노드용으로 할당된 비트맵 l 과 데이터 블록으로 할당된 비트맵 m을 보여주는 일 실시예 도면,3 is a diagram illustrating a bitmap l allocated for an inode and a bitmap m allocated to a data block as a detailed example of the contents shown in FIG. 2;

도 4는 도 3에 도시된 비트맵 영역에 저장된 비트맵의 구조로, 비트맵 헤더와 비트맵으로 구성된 일 실시예 도면,FIG. 4 is a diagram illustrating a structure of a bitmap stored in the bitmap region illustrated in FIG. 3 and includes a bitmap header and a bitmap.

도 5는 본 발명에 따른 대용량 파일 저장 시스템에서 비트맵의 할당 방법에 대한 동작 플로우챠트를 나타낸 도면,5 is a flowchart illustrating an operation method for allocating a bitmap in a large file storage system according to the present invention;

도 6는 도 5에서 빈 비트맵을 찾아서 요청된 메타데이터를 할당하는 과정에 대한 동작 플로우챠트를 나타낸 도면,6 is a flowchart illustrating an operation for allocating the requested metadata by finding an empty bitmap in FIG. 5;

도 7은 본 발명에 따른 대용량 파일 저장 시스템에서 해당 메타데이터에 대한 삭제 방법에 대한 동작 플로우챠트를 나타낸 도면.FIG. 7 is a flowchart illustrating an operation of deleting a corresponding metadata in a large file storage system according to the present invention; FIG.

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

110 : 슈퍼 블록 120 : 비트맵 영역110: super block 120: bitmap area

130 : 할당 공간130: allocated space

상기한 목적을 달성하기 위한 본 발명에 따른 대용량 파일 시스템의 일 측면에 따르면, 동적 비트맵 구조를 구현하기 위한 파일 저장 시스템에 있어서, 파일 시스템의 메타 데이터의 종류에 따른 구분이 없이 할당 영역의 크기에 따라 해당 비트맵을 구분하여 할당하는 구조를 포함하고, 비트맵 영역의 각 비트맵은 비트맵 정보를 관리하기 위한 헤더부분과 비트맵이 관리하는 할당의 사용 유무를 나타내는 비트 영역의 구조를 포함하되, 상기 비트맵은 메타데이터에 따라서 구분되고, 할당 영역의 할당 단위를 그룹으로 하여 비트 영역으로 관리하는 것이다.According to an aspect of a large-capacity file system according to the present invention for achieving the above object, in the file storage system for implementing a dynamic bitmap structure, the size of the allocation area without distinction according to the type of metadata of the file system And a bitmap structure for dividing the corresponding bitmap according to the bitmap area, and each bitmap of the bitmap area includes a header part for managing bitmap information and a bit area structure indicating whether bitmap management is used or not. However, the bitmaps are classified according to metadata and managed as a bit area by assigning allocation units of the allocation area as a group.

또한, 본 발명에 따른 대용량 파일 시스템에서 대용량 파일의 동적 비트맵 관리 방법의 일 측면에 따르면 파일 시스템에서 새로운 객체에 대한 생성이 발생하게 되면 객체의 유형을 검사하는 단계; 객체의 유형이 검사되면, 저장 장치에서 비트맵을 읽고 읽은 해당 비트맵의 헤더 정보에서 유형 값을 읽어서 파일 시스템에서 요청된 객체 유형과 비트맵 유형이 동일한가를 판단하는 단계; 상기 판단 결과 비트맵 유형이 동일하면 해당 비트맵에서 사용하지 않는 비트맵이 존재하는 가를 검사하기 위해 사용 카운트수와 전체 개수를 비교하는 단계; 상기 판단 결과, 비트맵의 사용 카운트수가 전체 개수보다 작은 경우 사용하지 않는 비트 "0"을 찾아 해당 비트를 "1"로 설정하여 해당 할당 영역이 사용중임을 표시하고, 헤더의 사용자 카운트를 증가시키는 단계; 상기 비트맵에 해당하는 할당 공간의 영역을 해당 객체에게 할당하는 단계를 포함한다.In addition, according to an aspect of the method for managing a dynamic bitmap of a large file in a large file system according to the present invention, if the generation of a new object in the file system occurs, checking the type of the object; If the type of the object is checked, determining whether the requested object type and the bitmap type are the same in the file system by reading the bitmap from the storage device and reading the type value from the header information of the corresponding bitmap; Comparing the used count number and the total number to check whether there is a bitmap not used in the corresponding bitmap if the bitmap types are the same; As a result of the determination, when the number of usage of the bitmap is smaller than the total number, finding an unused bit " 0 " and setting the corresponding bit to " 1 " to indicate that the corresponding allocation area is in use, and increasing the user count of the header. ; Allocating an area of the allocated space corresponding to the bitmap to the corresponding object.

상기 유형을 검사하는 단계와, 비트맵의 사용 카운터를 검사하는 단계에서 생성 객체 유형과 비트맵 유형이 동일하지 않는 경우와 비트맵의 사용 카운트수가 전체 개수보다 큰 경우, 현재 비트맵 영역에 할당되어 사용중인 비트맵이 없는 가를 검사하는 단계; 상기 검사 결과, 사용중인 비트맵이 존재하면 저장 장치에서 새로운 비트맵을 읽어 들이고, 사용중인 비트맵이 존재하지 않는 경우에는 현재 할당되어 있는 비트맵에 생성하고자 하는 객체를 위한 비트맵이 존재하지 않으므로 새로운 비트맵을 할당받아 요청된 객체의 할당 비트맵으로 유형을 설정하는 단계; 상기 새롭게 할당된 비트맵의 첫 번째 비트를 "1"로 설정하고, 해당 할당 공간 영역을 요청된 객체에게 할당하는 단계를 포함할 수 있다.In the checking of the type and in the checking of the bitmap usage counter, if the generated object type and the bitmap type are not the same and the number of use of the bitmap is greater than the total number, the current bitmap area is allocated. Checking whether there is no bitmap in use; As a result of the check, if a bitmap being used exists, a new bitmap is read from the storage device. If no bitmap is used, there is no bitmap for the object to be created in the currently allocated bitmap. Receiving a new bitmap and setting a type to an allocated bitmap of the requested object; And setting the first bit of the newly allocated bitmap to "1" and allocating a corresponding allocated space region to the requested object.

상기 저장 장치의 저장 공간은, 파일 시스템 전체를 관리하기 위한 정보를 저장하는 슈퍼블록과, 아이노드, 디렉토리 엔트리, 그리고 데이터 블록을 저장하기 위한 할당 공간과, 상기 할당 공간을 관리하기 위한 비트맵 영역으로 이루어질 수있다.The storage space of the storage device may include a superblock storing information for managing the entire file system, an allocation space for storing an inode, a directory entry, and a data block, and a bitmap area for managing the allocation space. Can be done with

또한, 파일 저장 시스템에 적용되는 동적 비트맵 구조를 이용한 메타 데이터 객체 삭제 방법의 일 측면에 따르면, 파일 시스템에서 객체에 대한 삭제 요청을 받게 되면, 요청된 객체가 존재하는 비트맵을 저장장치로부터 리드하는 단계; 상기 리드된 비트맵에서 해당 비트를 찾아 비트 값을 "0"으로 설정하여 다음에 사용 가능하도록 설정하고 헤더 정보에서 사용 카운터를 감소시킨 후, 비트맵의 헤더 사용 카운터의 값이 "0" 인가를 검사하는 단계; 상기 검사 결과, 헤더 사용 카운터가 "0"이면 현재 비트맵이 관리하고 있는 저장 장치의 할당 영역을 사용하지 않는 것이므로 비트맵의 헤더와 비트 영역을 "0"(자유공간)으로 설정하여 다른 객체를 위한 영역으로 할당하는 단계를 포함한다.In addition, according to an aspect of the method for deleting a metadata object using a dynamic bitmap structure applied to a file storage system, when a request for deleting an object is received from the file system, a bitmap in which the requested object exists is read from the storage device. Making; Find the corresponding bit in the read bitmap, set the bit value to "0", make it available for the next time, decrease the usage counter in the header information, and check whether the value of the header use counter of the bitmap is "0". Inspecting; As a result of the above check, if the header usage counter is "0", the allocated area of the storage device managed by the current bitmap is not used. Therefore, the header and bit area of the bitmap are set to "0" (free space) so that other objects can be changed. Allocating an area for the data.

한편, 대용량 파일 시스템에서 대용량 파일의 동적 비트맵 관리 방법을 수행하기 위하여 디지털 처리장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 디지털 처리장치에 의해 판독될 수 있는 기록 매체의 일측면에 따르면, 파일 시스템에서 새로운 객체에 대한 생성이 발생하게 되면 객체의 유형을 검사하는 단계; 객체의 유형이 검사되면, 저장 장치에서 비트맵을 읽고 읽은 해당 비트맵의 헤더 정보에서 유형 값을 읽어서 파일 시스템에서 요청된 객체 유형과 비트맵 유형이 동일한가를 판단하는 단계; 상기 판단 결과 비트맵 유형이 동일하면 해당 비트맵에서 사용하지 않는 비트맵이 존재하는 가를 검사하기 위해 사용 카운트와 전체 개수를 비교하는 단계; 상기 판단 결과, 비트맵의 사용 카운트수가 전체 개수보다 작은 경우 사용하지 않는 비트 "0"을 찾아 해당 비트를 "1"로설정하여 해당 할당 영역이 사용중임을 표시하고, 헤더의 사용자 카운트수를 증가시키는 단계; 상기 비트맵에 해당하는 할당 공간의 영역을 해당 객체에게 할당하는 단계를 수행하는 것이다.Meanwhile, in order to perform a dynamic bitmap management method of a large file in a large file system, a program of instructions that can be executed by a digital processing device is tangibly embodied, and one side of a recording medium that can be read by the digital processing device. According to, if the generation of a new object in the file system occurs, checking the type of the object; If the type of the object is checked, determining whether the requested object type and the bitmap type are the same in the file system by reading the bitmap from the storage device and reading the type value from the header information of the corresponding bitmap; Comparing the usage count and the total number to check whether there is a bitmap not used in the corresponding bitmap if the bitmap types are the same; As a result of the determination, if the number of use counts of the bitmap is smaller than the total number, finding unused bit "0", setting the corresponding bit to "1" to indicate that the corresponding allocation area is in use, and increasing the number of user counts in the header. ; Allocating an area of the allocation space corresponding to the bitmap to the corresponding object.

이하, 본 발명에 따른 대용량 파일 시스템에서 대용량 파일의 동적 비트맵 관리 방법에 대한 바람직한 일 실시예를 첨부한 도면을 참조하여 상세하게 살펴보기로 하자.Hereinafter, a preferred embodiment of a method for managing a dynamic bitmap of a large file in a large file system according to the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명에 따른 대용량 파일 시스템에서 대용량 파일 저장 공간의 레이아웃을 표현하는 일 실시예 도면으로서, 파일 시스템을 저장하기 위한 저장 공간의 구조를 나타낸 도면이다.1 is a diagram illustrating a layout of a large file storage space in a large file system according to the present invention, and illustrates a structure of a storage space for storing a file system.

도 1에 도시된 바와같이, 저장 공간에는 파일 시스템 전체를 관리하기 위한 정보를 저장하는 슈퍼블록(110)과, 아이노드, 디렉토리 엔트리, 그리고 데이터 블록을 저장하기 위한 할당 공간(130)과, 할당 공간(130)을 관리하기 위한 비트맵 영역(120)으로 구성된다. 여기서, 비트맵의 크기는 아래의 수학식 1과 수학식 2를 이용하여 구할 수 있다.As shown in FIG. 1, the storage space includes a superblock 110 for storing information for managing the entire file system, an allocation space 130 for storing inodes, directory entries, and data blocks, and an allocation. It is composed of a bitmap area 120 for managing the space 130. Here, the size of the bitmap can be obtained by using Equations 1 and 2 below.

BC = SUB - BHBC = SUB-BH

여기서, BC는 단위 비트맵이 가리키는 공간 영역의 할당 단위 수, SUB는 단위 비트맵의 크기, BH는 비트맵 헤드의 크기를 나타낸다.Here, BC denotes the number of allocation units of the spatial region indicated by the unit bitmap, SUB denotes the size of the unit bitmap, and BH denotes the size of the bitmap head.

BS = TAS / SUA / BCBS = TAS / SUA / BC

여기서, BS는 비트맵의 크기, TAS는 총 할당 공간의 크기, SUA는 단위 할당 공간의 크기로 데이터 블록 또는 익스텐트의 크기이다.Here, BS is the size of the bitmap, TAS is the size of the total allocated space, and SUA is the size of the data block or extent.

도 2는 도 1에 도시된 비트맵 영역과 할당 영역의 구조와, 비트맵을 이용한 할당 영역의 관리를 나타내는 일 실시예 도면으로서, 비트맵과 할당 공간과의 관계를 나타낸 것이다.FIG. 2 is a diagram illustrating a structure of a bitmap area and an allocation area shown in FIG. 1 and management of an allocation area using a bitmap, and illustrates a relationship between a bitmap and an allocation space.

도 2에 도시된 바와 같이 한 개의 단위 비트맵(121, 122)이 n 개의 할당 공간(130)에 있는 단위 할당 영역(131, 132)을 관리한다. 즉, 0번째 비트맵(121)은 할당 공간(130)의 첫 번째 영역(131)을 관리하고 마지막 m번째 비트맵은 할당 공간에서 m번째(132)를 관리한다.As shown in FIG. 2, one unit bitmap 121 and 122 manages the unit allocation areas 131 and 132 in the n allocation spaces 130. That is, the 0 th bitmap 121 manages the first area 131 of the allocation space 130 and the last m bitmap manages the m th 132 in the allocation space.

도 3은 도 2를 상세하게 설명한 실시예 도면으로, 비트맵 영역(120)에서 임의의 비트맵이 아이노드용(121A)과 데이터 블록용(121B)으로 할당된 예를 보여주고 있다.FIG. 3 is an exemplary diagram illustrating FIG. 2 in detail, and shows an example in which an arbitrary bitmap is allocated for an inode 121A and a data block 121B in the bitmap region 120.

도 3에 도시된 바와 같이, 아이노드용으로 할당된 비트맵 l은 할당 영역(130)의 해당 영역(131-1)을 아이노드를 저장하는 공간으로 관리하고 있다. 도 3의 예에서는 할당 영역의 할당 단위는 10개 단위로 관리가 되고 있으며 아이노드 비트맵(121A)은 10개 중에서 7개가 사용중(131-1B)이고 3개(131-1B)가 남아 있다. 할당 공간(130)의 사용 여부는 비트맵에서 비트영역에 "0"과 "1"로 표시하여 사용 여부를 표현한다. 동일한 방법으로 데이터 블록 비트맵(121B)이 관리하는 할당 공간(131-2)은 데이터블록을 저장하는 공간으로 사용하게 되며, 실시예에서는 현재 3개의 데이터블록(131-2B)을 할당하여 사용하고 있음을 보여준다.As shown in FIG. 3, the bitmap l allocated for the inode manages the corresponding region 131-1 of the allocation region 130 as a space for storing the inode. In the example of FIG. 3, the allocation unit of the allocation area is managed by ten units. In the inode bitmap 121A, seven out of ten are in use (131-1B) and three (131-1B) remain. Whether the allocation space 130 is used or not is indicated by displaying "0" and "1" in the bit area in the bitmap. In the same way, the allocation space 131-2 managed by the data block bitmap 121B is used as a space for storing the data block. In the present embodiment, three data blocks 131-2B are allocated and used. Shows that there is.

각 비트맵의 구조는 도 4와 같다. 각 비트맵은 해당 비트맵(121)을 관리하기 위한 헤더(121-1)부분과 할당공간의 사용여부를 나타내는 비트 영역 부분(121-2)으로 구분된다.The structure of each bitmap is shown in FIG. Each bitmap is divided into a header 121-1 for managing the corresponding bitmap 121 and a bit area 121-2 indicating whether the allocated space is used.

비트맵을 관리하기 위한 헤더에 저장되는 정보는 비트맵 타입과 해당 비트맵이 유지하는 할당 영역의 총 개수와 이미 할당된 영역의 개수 등의 정보를 유지한다. 비트맵 타입은 해당 비트맵의 종류를 구분하는 것으로 비트맵이 아이노드, 디렉토리 엔트리, 데이터 블록인지를 구분하기 위한 것이다. 비트 값이 "1"이면(121-2A) 할당 공간에 있는 해당 영역이 이미 할당되었음을 의미하고, 비트 값이 "0"이면(121-2B) 해당 영역이 할당되지 않았음을 의미한다.The information stored in the header for managing the bitmap maintains information such as the bitmap type, the total number of allocation areas maintained by the bitmap, and the number of areas already allocated. The bitmap type identifies the type of the corresponding bitmap and is used to distinguish whether the bitmap is an inode, a directory entry, or a data block. If the bit value is "1" (121-2A), it means that the corresponding area in the allocation space has already been allocated. If the bit value is "0" (121-2B), it means that the corresponding area is not allocated.

도 3에서는 i 번째 비트맵으로 아이노드를 위한 비트맵이며, 비트맵에서 관리하는 총 할당 영역의 개수(도 2에서의 n값)는 60개이고, 이중에서 41개 사용 중인 예이다.In FIG. 3, the i-th bitmap is a bitmap for the inode, and the total number of allocated regions managed by the bitmap (n value in FIG. 2) is 60, of which 41 are in use.

도 5는 본 발명에 따른 대용량 파일 저장 시스템에서 객체의 생성에 대한 일실시예 흐름도이다.5 is a flowchart illustrating an embodiment of creating an object in a large file storage system according to the present invention.

도 5를 보면, 먼저, 파일 시스템에서 새로운 객체에 대한 생성이 발생하게 되면 객체의 유형을 검사하게 된다(S510). 여기서, 객체의 유형은, 아이노드, 디렉토리 에트리, 데이터 블록 등이 될 수 있다.Referring to FIG. 5, first, when a generation of a new object in the file system occurs, the type of the object is checked (S510). Here, the type of object may be an inode, a directory entry, a data block, or the like.

이어, 생성 객체 유형의 검사가 완료되면, 해당 객체에 대한 할당 연산 과정을 수행한다(S520). 즉, 비트맵에서 해당 객체를 위한 빈 영역을 할당하게 되는 것이다.Subsequently, when the checking of the generated object type is completed, an allocation operation process for the corresponding object is performed (S520). That is, it allocates an empty area for the object in the bitmap.

여기서, 상기한 S520단계 즉, 객체에 대한 할당 연산 과정을 첨부한 도 6을 참조하여 좀 더 상세하게 설명해 보기로 하자.Here, step S520, that is, with reference to Figure 6 attached to the allocation operation process for the object will be described in more detail.

도 6은 도 5에 도시된 할당 연산 과정에 대한 동작 플로우챠트를 나타낸 도면으로서, 먼저, 저장 장치에서 비트맵을 읽고(S521), 읽은 해당 비트맵의 헤더 정보에서 유형 값을 읽어서 파일 시스템에서 요청된 객체 유형과 비트맵 유형이 동일한가를 판단한다(S522).FIG. 6 is a flowchart illustrating an operation of the allocation operation illustrated in FIG. 5. First, a bitmap is read from a storage device (S521), and a type value is read from a header information of the corresponding bitmap, which is requested by the file system. It is determined whether the object type and the bitmap type are the same (S522).

상기 S522 단계에서 판단 결과 비트맵 유형이 동일하면 해당 비트맵에서 사용하지 않는 비트맵이 존재하는 가를 검사하기 위해 사용 카운트와 전체 개수를 비교한다(S523). 즉, 사용 카운트와 전체 개수가 동일한 경우는 모든 비트가 사용하고 있음을 의미한다.As a result of the determination in step S522, if the bitmap types are the same, the usage count and the total number are compared to check whether there is a bitmap not used in the corresponding bitmap (S523). That is, when the usage count and the total number are the same, it means that all the bits are used.

상기 S523 단게에서 판단 결과, 비트맵의 사용 카운트수가 전체 개수보다 작은 경우 사용하지 않는 비트 "0"을 찾아 해당 비트를 "1"로 설정하여 해당 할당 영역이 사용중임을 표시하고, 헤더의 사용 카운트수를 증가시킨다(S524).As a result of the determination in step S523, when the number of use of the bitmap is smaller than the total number, the unused bit “0” is found and the corresponding bit is set to “1” to indicate that the corresponding allocation area is in use, and the number of use count of the header is determined. Increase (S524).

이어, 비트맵에 해당하는 할당 공간의 영역을 해당 객체에게 할당하게 되는 것이다(S525).Subsequently, an area of the allocated space corresponding to the bitmap is allocated to the corresponding object (S525).

만약 유형을 검사하는 상기 S522 단계와, 비트맵의 사용 카운터를 검사하는 상기 S523 단계를 만족하지 못하면, 즉, 생성 객체 유형과 비트맵 유형이 동일하지 않는 경우와 비트맵의 사용 카운트수가 전체 개수보다 큰 경우 새로운 비트맵을 저장 장치에서 읽어들여야 하는데, 이 과정을 진행하기 위해서는 현재 비트맵 영역에 할당되어 사용중인 비트맵이 없는 가를 검사해야 한다(S526).If the step S522 of checking the type and the step S523 of checking the usage counter of the bitmap are not satisfied, that is, the generated object type and the bitmap type are not the same and the number of use of the bitmap is greater than the total number. If it is large, a new bitmap must be read from the storage device. In order to proceed with this process, it is necessary to check whether there is no bitmap currently allocated to the bitmap area (S526).

상기 S526단계에서의 판단결과, 사용중인 비트맵이 존재하면 저장 장치에서 새로운 비트맵을 읽어 들이지만(S522), 사용중인 비트맵이 존재하지 않는 경우에는 현재 할당되어 있는 비트맵에 생성하고자 하는 객체를 위한 비트맵이 존재하지 않으므로 새로운 비트맵을 할당받아야 한다. 따라서, 비트맵 영역을 검색하여 사용하지 않는 비트맵을 선택하여 요청된 비트맵으로 유형을 설정한다(S527).As a result of the determination in step S526, if a bitmap being used exists, a new bitmap is read from the storage device (S522), but if there is no bitmap being used, the object to be created in the currently allocated bitmap Since no bitmap exists for, a new bitmap must be allocated. Therefore, the bitmap area is searched for and an unused bitmap is selected to set the type to the requested bitmap (S527).

이어, 새롭게 할당된 비트맵의 첫 번째 비트를 "1"로 설정하고, 해당 할당 공간 영역을 요청된 객체에게 할당하는 것이다(S528).Subsequently, the first bit of the newly allocated bitmap is set to "1", and the corresponding allocated space area is allocated to the requested object (S528).

도 7은 본 발명에 따른 대용량 파일 저장 시스템에서 해당 메타데이터에 대한 삭제 방법에 대한 동작 플로우챠트를 나타낸 도면이다.7 is a flowchart illustrating an operation of deleting a corresponding metadata in a large file storage system according to the present invention.

도 7에 도시된 바와 같이 먼저, 파일 시스템에서 객체에 대한 삭제 요청을 받게 되면 요청된 객체가 존재하는 비트맵을 저장장치에서 읽어들인다(S610).As shown in FIG. 7, when a deletion request for an object is received in a file system, a bitmap in which a requested object exists is read from a storage device (S610).

상기 S610 단계에서 읽어들인 비트맵에서 해당 비트를 찾아 비트 값을 0으로 설정하여 다음에 사용 가능하도록 설정하고 헤더 정보에서 사용 카운터를 감소시킨 후(S620), 비트맵의 헤더 사용 카운터의 값이 "0" 인가를 검사한다(S630).Find the corresponding bit in the bitmap read in step S610, set the bit value to 0 to enable the next use, and decrease the usage counter in the header information (S620). 0 "application is checked (S630).

상기 S630 단계에서의 판단결과, 헤더 사용 카운터가 "0"이면 현재 비트맵이 관리하고 있는 저장 장치의 할당 영역을 사용하지 않는 것이므로 비트맵의 헤더와 비트 영역을 "0"으로 설정하여 즉, 해당 비트맵의 값을 "0"으로 설정하여 다른 객체를 위한 영역으로 할당할 수 있도록 한다(S640).As a result of the determination in step S630, if the header usage counter is "0", since the allocation area of the storage device managed by the current bitmap is not used, the header and bit area of the bitmap are set to "0", The value of the bitmap is set to "0" so that the bitmap can be allocated to an area for another object (S640).

상술한 바와 같은 본 발명에 따른 대용량 파일의 동적 비트맵 관리 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다.As described above, the method for managing a dynamic bitmap of a large file according to the present invention may be implemented as a program and stored in a computer-readable recording medium (CD-ROM, RAM, ROM, floppy disk, hard disk, magneto-optical disk, etc.). have.

이상에서 설명한 본 발명은 상술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진자에게 있어 명백할 것이다.The present invention described above is not limited to the above-described embodiments and the accompanying drawings, and various substitutions, modifications, and changes are possible in the art without departing from the technical spirit of the present invention. It will be apparent to those of ordinary skill.

이상에서 설명한 바와 같이 본 발명은, 파일 시스템을 관리하기 위해 비트맵을 동적으로 할당하여 파일의 크기에 따라서 발생하는 저장 공간의 낭비를 줄여서 최대한의 이용률을 보장함으로서, 효과적으로 대용량 파일의 동적 비트맵을 관리할 수 있는 것이다.As described above, the present invention effectively allocates a bitmap to manage a file system, thereby reducing the waste of storage space generated according to the size of the file, thereby ensuring maximum utilization rate, thereby effectively recovering a dynamic bitmap of a large file. It can be managed.

특히, 인터넷의 전자 메일 서버와 같이 소량의 파일이 대량으로 존재하는 저장 시스템에서 본 발명을 사용하면, 저장 공간이 남아 있음에도 불구하고 아이노드와 디렉토리 엔트리의 부족으로 인해 파일을 저장하지 못하는 문제를 해결할 수 있다.In particular, using the present invention in a storage system in which a small amount of files exist, such as an e-mail server on the Internet, the problem of not being able to save files due to lack of inode and directory entry despite the storage space remaining is solved. Can be.

반대로, 멀티미디어 데이터와 같은 대용량 파일을 저장하는 저장 시스템에서 본 발명을 사용하면, 최소한 아이노드와 디렉토리 엔트리 만을 할당하여 사용함으로 할당 공간에서 데이터 블록의 영역을 최대로 할 수 있으므로 낭비를 줄일 수 있다.On the contrary, if the present invention is used in a storage system that stores a large file such as multimedia data, at least an inode and a directory entry can be allocated to maximize the area of the data block in the allocated space, thereby reducing waste.

또한, 본 발명은 향후 용량의 증가로 인해 메타데이터가 차지하는 영역이 큰 SAN(Storage Area Network)이나 NAS(Network Attached Storage)와 같은 대용량 저장 장치에 효과적으로 활용할 수 있기 때문에 대용량 파일의 저장 시에 저장 장치를 효율적으로 사용할 수 있다.In addition, the present invention can be effectively used for mass storage devices, such as a storage area network (SAN) or a network attached storage (NAS), which has a large area of metadata due to an increase in capacity in the future, so that the storage device at the time of storing large files Can be used efficiently.

Claims (8)

동적 비트맵 구조를 구현하기 위한 파일 저장 시스템에 있어서,In a file storage system for implementing a dynamic bitmap structure, 파일 시스템의 메타 데이터의 종류에 따른 구분이 없이 할당 영역의 크기에 따라 해당 비트맵을 구분하여 할당하는 구조를 포함하고,Includes a structure that classifies and allocates the bitmap according to the size of the allocation area without distinguishing the type of metadata of the file system, 비트맵 영역의 각 비트맵은 비트맵 정보를 관리하기 위한 헤더부분과 비트맵이 관리하는 할당의 사용 유무를 나타내는 비트 영역의 구조를 포함하되,Each bitmap of the bitmap region includes a header portion for managing bitmap information and a structure of a bit region indicating whether bitmaps are managed or not. 상기 비트맵은 메타데이터에 따라서 구분되고, 할당 영역의 할당 단위를 그룹으로 하여 비트 영역으로 관리하는 것을 특징으로 하는 대용량 파일 저장 시스템.The bitmap is classified according to metadata, and the bitmap is managed as a bit area by using allocation units of an allocation area as a group. 대용량 파일 시스템에서 대용량 파일의 동적 비트맵 관리 방법에 있어서,In the dynamic bitmap management method of a large file in a large file system, 파일 시스템에서 새로운 객체에 대한 생성이 발생하게 되면 객체의 유형을 검사하는 단계;Checking the type of the object when a new object is generated in the file system; 객체의 유형이 검사되면, 저장 장치에서 비트맵을 읽고 읽은 해당 비트맵의 헤더 정보에서 유형 값을 읽어서 파일 시스템에서 요청된 객체 유형과 비트맵 유형이 동일한가를 판단하는 단계;If the type of the object is checked, determining whether the requested object type and the bitmap type are the same in the file system by reading the bitmap from the storage device and reading the type value from the header information of the corresponding bitmap; 상기 판단 결과 비트맵 유형이 동일하면 해당 비트맵에서 사용하지 않는 비트맵이 존재하는 가를 검사하기 위해 사용 카운트와 전체 개수를 비교하는 단계;Comparing the usage count and the total number to check whether there is a bitmap not used in the corresponding bitmap if the bitmap types are the same; 상기 판단 결과, 비트맵의 사용 카운트수가 전체 개수보다 작은 경우 사용하지 않는 비트 "0"을 찾아 해당 비트를 "1"로 설정하여 해당 할당 영역이 사용중임을 표시하고, 헤더의 사용자 카운트를 증가시키는 단계;As a result of the determination, when the number of usage of the bitmap is smaller than the total number, finding an unused bit " 0 " and setting the corresponding bit to " 1 " to indicate that the corresponding allocation area is in use, and increasing the user count of the header. ; 상기 비트맵에 해당하는 할당 공간의 영역을 해당 객체에게 할당하는 단계를 포함하는 대용량 파일 시스템에서 대용량 파일의 동적 비트맵 관리 방법.And allocating an area of an allocated space corresponding to the bitmap to a corresponding object. 제2항에 있어서,The method of claim 2, 상기 유형을 검사하는 단계와, 비트맵의 사용 카운터를 검사하는 단계에서 생성 객체 유형과 비트맵 유형이 동일하지 않는 경우와 비트맵의 사용 카운트수가 전체 개수보다 큰 경우, 현재 비트맵 영역에 할당되어 사용중인 비트맵이 없는 가를 검사하는 단계;In the checking of the type and in the checking of the bitmap usage counter, if the generated object type and the bitmap type are not the same and the number of use of the bitmap is greater than the total number, the current bitmap area is allocated. Checking whether there is no bitmap in use; 상기 검사 결과, 사용중인 비트맵이 존재하면 저장 장치에서 새로운 비트맵을 읽어 들이고, 사용중인 비트맵이 존재하지 않는 경우에는 현재 할당되어 있는 비트맵에 생성하고자 하는 객체를 위한 비트맵이 존재하지 않으므로 새로운 비트맵을 할당받아 요청된 객체의 할당 비트맵으로 유형을 설정하는 단계;As a result of the check, if a bitmap being used exists, a new bitmap is read from the storage device. If no bitmap is used, there is no bitmap for the object to be created in the currently allocated bitmap. Receiving a new bitmap and setting a type to an allocated bitmap of the requested object; 상기 새롭게 할당된 비트맵의 첫 번째 비트를 "1"로 설정하고, 해당 할당 공간 영역을 요청된 객체에게 할당하는 단계를 포함하는 대용량 파일 시스템에서 대용량 파일의 동적 비트맵 관리 방법.And setting the first bit of the newly allocated bitmap to "1" and allocating a corresponding allocated space area to the requested object. 제2항에 있어서,The method of claim 2, 상기 저장 장치의 저장 공간은,The storage space of the storage device, 파일 시스템 전체를 관리하기 위한 정보를 저장하는 슈퍼블록과,A superblock that stores information for managing the entire file system, 아이노드, 디렉토리 엔트리, 그리고 데이터 블록을 저장하기 위한 할당 공간과,Allocation space for storing inodes, directory entries, and data blocks, 상기 할당 공간을 관리하기 위한 비트맵 영역으로 이루어진 대용량 파일 시스템에서 대용량 파일의 동적 비트맵 관리 방법.Dynamic bitmap management method of a large file in a large file system consisting of a bitmap area for managing the allocated space. 제4항에 있어서,The method of claim 4, wherein 상기 비트맵 영역내의 비트맵의 크기는 아래의 수학식 1과 수학식 2를 이용하는 대용량 파일 시스템에서 대용량 파일의 동적 비트맵 관리 방법.The size of the bitmap in the bitmap area is dynamic bitmap management method of a large file in a large file system using Equations 1 and 2 below. [수학식 1][Equation 1] BC = SUB - BHBC = SUB-BH 여기서, BC는 단위 비트맵이 가리키는 공간 영역의 할당 단위 수, SUB는 단위 비트맵의 크기, BH는 비트맵 헤드의 크기를 나타낸다.Here, BC denotes the number of allocation units of the spatial region indicated by the unit bitmap, SUB denotes the size of the unit bitmap, and BH denotes the size of the bitmap head. [수학식 2][Equation 2] BS = TAS / SUA / BCBS = TAS / SUA / BC 여기서, BS는 비트맵의 크기, TAS는 총 할당 공간의 크기, SUA는 단위 할당공간의 크기로 데이터 블록 또는 익스텐트의 크기이다.Here, BS is the size of the bitmap, TAS is the size of the total allocated space, and SUA is the size of the data block or extent. 제2항에 있어서,The method of claim 2, 상기 객체의 유형은, 아이노드, 디렉토리 에트리, 데이터 블록중 적어도 하나의 유형을 포함하는 대용량 파일 시스템에서 대용량 파일의 동적 비트맵 관리 방법.The type of the object, dynamic bitmap management method of a large file in a large file system including at least one type of inode, directory entries, data blocks. 파일 저장 시스템에 적용되는 동적 비트맵 구조를 이용한 메타 데이터 객체 삭제 방법에 있어서,In the metadata object deletion method using a dynamic bitmap structure applied to a file storage system, 파일 시스템에서 객체에 대한 삭제 요청을 받게 되면 요청된 객체가 존재하는 비트맵을 저장장치로부터 리드하는 단계;Reading from the storage device a bitmap in which the requested object exists when the deletion request for the object is received from the file system; 상기 리드된 비트맵에서 해당 비트를 찾아 비트 값을 "0"으로 설정하여 다음에 사용 가능하도록 설정하고 헤더 정보에서 사용 카운터를 감소시킨 후, 비트맵의 헤더 사용 카운터의 값이 "0" 인가를 검사하는 단계;Find the corresponding bit in the read bitmap, set the bit value to "0", make it available for the next time, decrease the usage counter in the header information, and check whether the value of the header use counter of the bitmap is "0". Inspecting; 상기 검사 결과, 헤더 사용 카운터가 "0"이면 현재 비트맵이 관리하고 있는 저장 장치의 할당 영역을 사용하지 않는 것이므로 비트맵의 헤더와 비트 영역을 "0"으로 설정하여 다른 객체를 위한 영역으로 할당하는 단계를 포함하는 파일 저장 시스템에 적용되는 동적 비트맵 구조를 이용한 메타 데이터 객체 삭제 방법.As a result of the check, if the header usage counter is "0", the allocation area of the storage device managed by the current bitmap is not used. Therefore, the header and bit area of the bitmap are set to "0" to be allocated to the area for other objects. A method of deleting metadata objects using a dynamic bitmap structure applied to a file storage system, the method comprising: 대용량 파일 시스템에서 대용량 파일의 동적 비트맵 관리 방법을 수행하기 위하여 디지털 처리장치에 의해 실행될 수 있는 명령어들의 프로그램이 유형적으로 구현되어 있으며, 디지털 처리장치에 의해 판독될 수 있는 기록 매체에 있어서,In order to perform a dynamic bitmap management method of a large file in a large file system, a program of instructions that can be executed by a digital processing device is tangibly implemented, and in a recording medium that can be read by a digital processing device, 파일 시스템에서 새로운 객체에 대한 생성이 발생하게 되면 객체의 유형을 검사하는 단계;Checking the type of the object when a new object is generated in the file system; 객체의유형이 검사되면, 저장 장치에서 비트맵을 읽고 읽은 해당 비트맵의 헤더 정보에서 유형 값을 읽어서 파일 시스템에서 요청된 객체 유형과 비트맵 유형이 동일한가를 판단하는 단계;If the type of the object is checked, determining whether the object type and the bitmap type requested by the file system are the same by reading the bitmap from the storage device and reading the type value from the header information of the corresponding bitmap read from the storage device; 상기 판단 결과 비트맵 유형이 동일하면 해당 비트맵에서 사용하지 않는 비트맵이 존재하는 가를 검사하기 위해 사용 카운트와 전체 개수를 비교하는 단계;Comparing the usage count and the total number to check whether there is a bitmap not used in the corresponding bitmap if the bitmap types are the same; 상기 판단 결과, 비트맵의 사용 카운트수가 전체 개수보다 작은 경우 사용하지 않는 비트 "0"을 찾아 해당 비트를 "1"로 설정하여 해당 할당 영역이 사용중임을 표시하고, 헤더의 사용자 카운트를 증가시키는 단계;As a result of the determination, when the number of usage of the bitmap is smaller than the total number, finding an unused bit " 0 " and setting the corresponding bit to " 1 " to indicate that the corresponding allocation area is in use, and increasing the user count of the header. ; 상기 비트맵에 해당하는 할당 공간의 영역을 해당 객체에게 할당하는 단계를 수행하는 기록 매체.And allocating an area of the allocated space corresponding to the bitmap to the corresponding object.
KR10-2002-0010855A 2002-02-28 2002-02-28 Management method of dynamic bitmap in huge file system by using huge file storing system KR100452631B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2002-0010855A KR100452631B1 (en) 2002-02-28 2002-02-28 Management method of dynamic bitmap in huge file system by using huge file storing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0010855A KR100452631B1 (en) 2002-02-28 2002-02-28 Management method of dynamic bitmap in huge file system by using huge file storing system

Publications (2)

Publication Number Publication Date
KR20030071245A true KR20030071245A (en) 2003-09-03
KR100452631B1 KR100452631B1 (en) 2004-10-14

Family

ID=32223019

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0010855A KR100452631B1 (en) 2002-02-28 2002-02-28 Management method of dynamic bitmap in huge file system by using huge file storing system

Country Status (1)

Country Link
KR (1) KR100452631B1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100703753B1 (en) * 2005-04-14 2007-04-06 삼성전자주식회사 Apparatus and method for managing file system
KR100714691B1 (en) * 2005-05-04 2007-05-04 삼성전자주식회사 Apparatus and method for saving and managing additional data of file system
KR100790991B1 (en) * 2006-03-22 2008-01-03 삼성전자주식회사 Method for managing metadata of file system using DBMS
WO2013066010A1 (en) * 2011-10-31 2013-05-10 에스케이씨앤씨 주식회사 Method for pre-loading in memory and method for parallel processing for high-volume batch processing
US11157459B2 (en) 2016-02-26 2021-10-26 Red Hat, Inc. Granular data self-healing

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6023744A (en) * 1997-03-07 2000-02-08 Microsoft Corporation Method and mechanism for freeing disk space in a file system
US6041407A (en) * 1997-09-24 2000-03-21 Sony Corporation File system block sub-allocator
JP2001075848A (en) * 1999-09-09 2001-03-23 Nec Corp Method for file management of file system
KR20020087707A (en) * 2001-05-16 2002-11-23 주식회사 하이닉스반도체 File management device and method using block flag

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100703753B1 (en) * 2005-04-14 2007-04-06 삼성전자주식회사 Apparatus and method for managing file system
US7681010B2 (en) 2005-04-14 2010-03-16 Samsung Electronics Co., Ltd. Apparatus and method for a managing file system
KR100714691B1 (en) * 2005-05-04 2007-05-04 삼성전자주식회사 Apparatus and method for saving and managing additional data of file system
KR100790991B1 (en) * 2006-03-22 2008-01-03 삼성전자주식회사 Method for managing metadata of file system using DBMS
US9384201B2 (en) 2006-03-22 2016-07-05 Samsung Electronics Co., Ltd. Method of managing data of file system using database management system
WO2013066010A1 (en) * 2011-10-31 2013-05-10 에스케이씨앤씨 주식회사 Method for pre-loading in memory and method for parallel processing for high-volume batch processing
US11157459B2 (en) 2016-02-26 2021-10-26 Red Hat, Inc. Granular data self-healing

Also Published As

Publication number Publication date
KR100452631B1 (en) 2004-10-14

Similar Documents

Publication Publication Date Title
US9575678B2 (en) Hierarchical allocation for file system storage device
CN107436725B (en) Data writing and reading methods and devices and distributed object storage cluster
US6571261B1 (en) Defragmentation utility for a shared disk parallel file system across a storage area network
US7236992B2 (en) Storage system
KR100856245B1 (en) File system device and method for saving and seeking file thereof
US20100146213A1 (en) Data Cache Processing Method, System And Data Cache Apparatus
CN108399047B (en) Flash memory file system and data management method thereof
CN113568582B (en) Data management method, device and storage equipment
CN111061752B (en) Data processing method and device and electronic equipment
US20110153677A1 (en) Apparatus and method for managing index information of high-dimensional data
KR100484942B1 (en) Method for managing directories of large-scale file system
CN103793468A (en) Data storage method and device and data reading method and device
CN105493080A (en) Method and apparatus for context aware based data de-duplication
KR100452631B1 (en) Management method of dynamic bitmap in huge file system by using huge file storing system
CN109947730A (en) Metadata restoration methods, device, distributed file system and readable storage medium storing program for executing
Lu et al. Research on Cassandra data compaction strategies for time-series data
KR101104112B1 (en) Dynamic index information maintenance system adapted solid state disk and method thereof and Recording medium having program source thereof
CN114168391A (en) Parallel multithreading file backup recovery method and system under XFS and storage medium
CN113535092A (en) Storage engine, method and readable medium for reducing memory metadata
CN112905557A (en) Mass file integration storage method and system supporting asynchronous submission
CN106980616A (en) A kind of mass small documents merge storage method and system
Wang et al. GRF: A Global Range Filter for LSM-Trees with Shape Encoding
CN112084141A (en) Full-text retrieval system capacity expansion method, device, equipment and medium
US20240086362A1 (en) Key-value store and file system
Rezaei et al. A new implementation technique for memory management

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: 20120928

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20130923

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee