KR101413985B1 - Method for file management using file system adapted to non-volatile memory - Google Patents

Method for file management using file system adapted to non-volatile memory Download PDF

Info

Publication number
KR101413985B1
KR101413985B1 KR1020120007547A KR20120007547A KR101413985B1 KR 101413985 B1 KR101413985 B1 KR 101413985B1 KR 1020120007547 A KR1020120007547 A KR 1020120007547A KR 20120007547 A KR20120007547 A KR 20120007547A KR 101413985 B1 KR101413985 B1 KR 101413985B1
Authority
KR
South Korea
Prior art keywords
file
information
block area
inode
directory
Prior art date
Application number
KR1020120007547A
Other languages
Korean (ko)
Other versions
KR20130086694A (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 KR1020120007547A priority Critical patent/KR101413985B1/en
Publication of KR20130086694A publication Critical patent/KR20130086694A/en
Application granted granted Critical
Publication of KR101413985B1 publication Critical patent/KR101413985B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • 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

Landscapes

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

Abstract

비휘발성 메모리에 적합한 파일시스템을 이용한 파일 관리 방법이 제공된다. 본 파일 관리 방법에서 저장장치에 저장된 파일을 관리하기 위해 이용하는 파일시스템은, 수퍼 블록 영역, 아이노드 블록 영역, 비트맵 블록 영역 및 데이터 블록 영역을 포함한다. 이에 의해, 비휘발성 저장장치에 적합한 파일시스템을 이용한 파일 관리가 가능해진다.A file management method using a file system suitable for a nonvolatile memory is provided. The file system used for managing files stored in the storage device in the present file management method includes a super block area, an inode block area, a bit map block area, and a data block area. Thus, file management using a file system suitable for a nonvolatile storage device becomes possible.

Figure R1020120007547
Figure R1020120007547

Description

비휘발성 메모리에 적합한 파일시스템을 이용한 파일 관리 방법{Method for file management using file system adapted to non-volatile memory}[0001] The present invention relates to a file management method using a file system suitable for a non-volatile memory,

본 발명은 파일 관리 방법에 관한 것으로, 더욱 상세하게는, 파일을 저장 및 관리하기 위한 파일시스템을 이용한 파일 관리 방법에 관한 것이다.
The present invention relates to a file management method, and more particularly, to a file management method using a file system for storing and managing a file.

현재 대부분의 컴퓨터에서 사용하는 파일 시스템은 하드 디스크의 하드웨어 특성을 기반으로 하는 파일 시스템으로 하드디스크의 하드웨어 단점을 보완하고자 다양한 알고리즘이 적용되었다. 하드디스크의 성능을 극대화 하기 위해 EFS(Extended File System)의 경우 블록그룹(Block Group)을 이용하여 한 블록그룹 안에 파일의 정보를 저장하도록 구성되었다.The file system used in most computers is a file system based on the hardware characteristics of the hard disk, and various algorithms have been applied to compensate for the hardware shortcomings of the hard disk. In order to maximize the performance of the hard disk, the EFS (Extended File System) is configured to store file information in a block group using a block group.

최근, 낸드 플래시(Nand Flash)를 기반으로 하는 SSD(Solid State Drive)가 보급되고 있다. SSD에 사용되는 메모리 소자는 DRAM 또는 Nand Flash 등이 있다. Nand Flash SSD의 경우 Nand Flash 하드웨어 특성으로 인하여 HDD기반 File system이 동작하지 않음에 따라 FTL(Flash Translation Layer)이란 기술을 이용하여 하드웨어 특성을 보완하고 있다.Recently, solid state drives (SSDs) based on NAND Flash have become popular. The memory device used for SSD is DRAM or NAND Flash. In the case of Nand Flash SSD, due to Nand Flash hardware characteristics, the HDD based file system does not work and the hardware characteristics are complemented by using the technology called Flash Translation Layer (FTL).

또한, DRAM SSD의 경우 휘발성 메모리이기 때문에 전원이 없을 경우 내부에 저장된 데이터가 삭제되는 단점이 있다. 이와 관련되어 비휘발성 메모리와 함께 비휘발성 메모리를 SSD로 구성하기 위한 연구가 이뤄지고 있으며, 비휘발성 메모리로 PCM(Phase Change Memory), STTM(Spin Torque Transfer Memory), NVRAM(Non-Volatile RAM) 등의 소자가 개발되고 있다.In addition, since the DRAM SSD is a volatile memory, data stored in the DRAM SSD is erased when there is no power source. In this regard, studies have been conducted to construct a nonvolatile memory together with nonvolatile memory as an SSD. Nonvolatile memory such as PCM (Phase Change Memory), STTM (Spin Torque Transfer Memory), NVRAM Devices are being developed.

비휘발성 메모리로 구성된 SSD를 사용할 경우 기존 하드디스크의 특성에 맞춰서 설계된 기존의 파일 시스템들은 비휘발성 메모리 SSD의 성능을 모두 이용할 수 없다. 따라서, SSD를 추후 대용량 스토리지 시스템에서 사용하기 위해서는 기존의 파일 시스템의 설계상 구조적인 문제점을 갖게 되므로, 이를 해결하기 위한 방안의 모색이 요청된다.
In case of using SSD composed of nonvolatile memory, existing file systems designed according to the characteristics of existing hard disk can not utilize all the performance of nonvolatile memory SSD. Therefore, in order to use the SSD in a large capacity storage system in the future, the conventional file system has a structural problem, and therefore, a method for solving the problem is required.

본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은, 수퍼 블록 영역, 아이노드 블록 영역, 비트맵 블록 영역, 및 데이터 블록 영역을 포함하는 파일시스템을 이용한 파일 관리 방법을 제공함에 있다.
SUMMARY OF THE INVENTION It is an object of the present invention to provide a file management method using a file system including a super block area, an inode block area, a bit map block area, and a data block area, .

상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른, 파일 관리 방법은, 메모리에 파일을 저장하는 단계; 및 파일시스템으로, 상기 메모리에 저장된 파일을 관리하는 단계;를 포함하고, 상기 파일 시스템은, 상기 파일 시스템의 전체 정보가 저장된 복수개의 수퍼 블록(Super Block)이 저장되는 수퍼 블록 영역; 파일에 대한 정보를 저장하는 복수개의 아이노드(Inode)가 기록되는 아이노드 블록 영역; 모든 블록에 대한 사용 현황을 각 블록별 비트로 표현한 복수개의 비트맵 블록(Bitmap Block)이 기록되는 비트맵 블록 영역; 및 실제 파일 데이터가 저장되는 복수개의 데이터 블록이 기록되는 데이터 블록 영역;을 포함한다.According to an aspect of the present invention, there is provided a file management method comprising: storing a file in a memory; And managing a file stored in the memory with a file system, wherein the file system includes: a super block area storing a plurality of super blocks in which the entire information of the file system is stored; An inode block area in which a plurality of inodes for storing information on files are recorded; A bitmap block area in which a plurality of bitmap blocks (bitmap blocks) representing the usage statuses of all blocks are expressed by bits for each block; And a data block area in which a plurality of data blocks for storing actual file data are recorded.

또한, 파일시스템은, 파일 시스템의 전체 정보가 저장된 복수개의 수퍼 블록(Super Block)이 저장되는 수퍼 블록 영역; 파일에 대한 정보를 저장하는 복수개의 아이노드(Inode)가 기록되는 아이노드 블록 영역; 모든 블록에 대한 사용 현황을 각 블록별 비트로 표현한 복수개의 비트맵 블록(Bitmap Block)이 기록되는 비트맵 블록 영역; 및 실제 파일 데이터가 저장되는 복수개의 데이터 블록이 기록되는 데이터 블록 영역;을 포함할 수 있다.The file system may further include a super block area storing a plurality of super blocks in which the entire information of the file system is stored; An inode block area in which a plurality of inodes for storing information on files are recorded; A bitmap block area in which a plurality of bitmap blocks (bitmap blocks) representing the usage statuses of all blocks are expressed by bits for each block; And a data block area in which a plurality of data blocks storing real file data are recorded.

그리고, 상기 파일시스템은, 하나의 볼륨(volume) 또는 하나의 파티션(partition)을 상기 수퍼 블록 영역, 아이노드 블록 영역, 비트맵 블록 영역, 및 데이터 블록 영역으로 구성할 수도 있다.The file system may comprise a volume or a partition as the super block area, the inode block area, the bit map block area, and the data block area.

또한, 상기 수퍼 블록 영역은, 상기 파일시스템이 적용된 파티션의 전체 크기 정보, 블록의 개수와 크기 정보, 상기 파일시스템으로 포맷될 당시 계산된 아이노드 블록의 개수, 사용가능한 아이노드 블록의 개수와 다음에 사용될 아이노드 블록 정보, 사용가능한 데이터 블록의 개수와 다음에 사용될 블록의 정보, 비트맵 블록 영역의 주소, 및 상기 파일시스템 시간정보 중 적어도 하나를 포함할 수도 있다.The super block area may include at least one of a total size information of a partition to which the file system is applied, a number of blocks and size information, a number of inode blocks calculated at the time of being formatted into the file system, The number of usable data blocks, the information of the next block to be used, the address of the bitmap block area, and the file system time information.

그리고, 상기 수퍼 블록 영역은, 제1 수퍼 블록과 상기 제1 수퍼 블록을 백업하기 위한 제2 수퍼 블록을 포함할 수도 있다.The super block area may include a first super block and a second super block for backing up the first super block.

또한, 상기 아이노드는, 체크섬(CheckSum), 파일이 사용중인 블록의 개수인 블록정보(Blocks), 아이노드 모드(InodeMode), 파일의 UID(User ID), 파일의 GID(Group ID), 링크(LINK), 파일 보안을 위한 권한 정보(MODE(xWRXWRXWRx)), 접근시간(ACCESSTIME), 생성시간(CREATETIME), 수정시간(MODIFYTIME), 파일 전체의 크기(SIZE), 다음 아이노드 정보(NEXT INODE), 삭제시간(DELETE TIME), 플래그(FLAG), 디렉토리 구성 정보, 파일이름 정보, 및 파일 데이터 위치정보 중 적어도 하나를 포함할 수도 있다.In addition, the inode includes a check sum (CheckSum), block information (Blocks) as the number of blocks in use by a file, an inode mode (InodeMode), a UID (User ID) of a file, a GID (LINK), permission information for file security (MODE (xWRXWRXWRx)), ACCESS TIME, CREATETIME, MODIFYTIME, SIZE of the whole file, next inode information ), A delete time (DELETE TIME), a flag (FLAG), directory configuration information, file name information, and file data location information.

그리고, 상기 디렉토리 구성 정보는, 상기 아이노드 블록에 대응되는 파일인 제1 파일이 위치된 제1 디렉토리에 대한 정보, 상기 제1 디렉토리의 하위 디렉토리에 대한 정보, 상기 제1 디렉토리 내에서 상기 제1 파일 바로 전에 생성된 파일 정보, 상기 제1 디렉토리 내에서 상기 제1 파일 바로 다음에 생성된 파일 정보, 상기 제1 디렉토리 내에서 가장 먼저 생성된 파일 정보, 및 상기 제1 디렉토리 내에서 가장 나중에 생성된 파일 정보를 포함할 수도 있다.The directory structure information may include information on a first directory in which a first file, which is a file corresponding to the inode block, is located, information on a subdirectory of the first directory, information on the first directory in the first directory, File information generated immediately before the file, file information generated immediately after the first file in the first directory, file information first created in the first directory, and file information generated last in the first directory, And may include file information.

또한, 상기 파일이름 정보는, 아이노드 번호, 파일이름 길이, 및 파일이름 정보를 포함하고, 상기 아이노드 번호는, 저장장치의 물리적인 주소값에 대응될 수도 있다.The file name information may include an inode number, a file name length, and a file name information, and the inode number may correspond to a physical address value of the storage device.

그리고, 상기 파일시스템은 비휘발성 메모리 장치에 적용될 수도 있다.
And, the file system may be applied to a nonvolatile memory device.

본 발명의 다양한 실시예에 따르면, 수퍼 블록 영역, 아이노드 블록 영역, 비트맵 블록 영역, 및 데이터 블록 영역을 포함하는 파일시스템을 제공할 수 있게 되어, 비휘발성 저장장치에 적합한 파일시스템을 제공할 수 있게 된다.
According to various embodiments of the present invention, it is possible to provide a file system including a super block area, an inode block area, a bit map block area, and a data block area, thereby providing a file system suitable for a nonvolatile storage device .

도 1a는 저장장치의 저장영역에 대한 물리적 구조를 도시한 도면,
도 1b는 본 발명의 일 실시예에 따른, 저장장치의 저장영역에 대한 논리적 파일 시스템 구조를 도시한 도면,
도 2는 본 발명의 일 실시예에 따른, 아이노드의 구조를 도시한 도면,
도 3은 본 발명의 일 실시예에 따른, 디렉토리 구성 정보를 설명하기 위해 제공되는 디렉토리 구조의 일 예이다.
IA shows a physical structure for a storage area of a storage device,
Figure 1B illustrates a logical file system structure for a storage area of a storage device, according to one embodiment of the present invention;
2 illustrates a structure of an inode according to an embodiment of the present invention;
3 is an example of a directory structure provided for explaining directory configuration information according to an embodiment of the present invention.

이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다.Hereinafter, the present invention will be described in detail with reference to the drawings.

도 1a는 저장장치의 저장영역에 대한 물리적 구조를 도시한 도면이다. 도 1a에 도시된 바와 같이 저장장치의 저장영역은 L개의 블럭으로 구성되어 있다. 저장장치는 저장영역을 블럭 단위로 관리한다.IA is a diagram showing the physical structure of a storage area of a storage device. As shown in FIG. 1A, the storage area of the storage device is composed of L blocks. The storage device manages the storage area on a block basis.

저장장치는 파일이 저장되는 비휘발성 메모리 저장장치이다. 구체적으로, 저장장치는 SSD(Solid State Drive), 구체적으로 Nand Flash SSD 등이 될 수 있다.A storage device is a non-volatile memory storage device in which files are stored. Specifically, the storage device may be a solid state drive (SSD), specifically, a Nand Flash SSD or the like.

도 1b는 본 발명의 일 실시예에 따른, 저장장치의 저장영역에 대한 논리적 파일 시스템(100)의 구조를 도시한 도면이다. 파일시스템(100)은 컴퓨터 파일에 이름을 붙이고, 저장이나 검색을 위해 논리적으로 그것들을 물리적 저장영역의 어디에 위치시켜야 하는지 등을 나타내는 논리적 구조이다.1B is a diagram illustrating the structure of a logical file system 100 for a storage area of a storage device, according to an embodiment of the present invention. File system 100 is a logical structure that names computer files and where they should be logically located in physical storage for storage or retrieval.

파일시스템(100)은 이를 구현하기 위한 프로그램에 의해 저장장치에 의해 구현되며, 운영체제 하에서 포맷 프로그램을 통해 파일시스템(100)이 구현 및 설정된다.The file system 100 is implemented by a storage device by a program for implementing it, and the file system 100 is implemented and set through a format program under the operating system.

구체적으로, 컴퓨터에서 데이터를 기록하기 위해서는 미리 저장장치(예를 들어, SSD)에 데이터를 읽고, 쓰고, 찾기 위한 준비를 하여야 한다. 파일시스템(100)은 그 준비의 규칙을 정리해 놓은 것으로서 파일에 이름을 붙이고, 저장이나 검색을 위해 파일을 어디에 위치시킬 것인지를 나타내는 체계를 의미한다. 도스 윈도우OS/2,매킨토시,유닉스 등 모든 운영체제가 반드시 갖추고 있는데, 예를 들면 윈도의 FAT16·FAT32·NTFS, 리눅스의 ext2·raiserFS·ext3 등이 있다. 반면, 본 실시예에 따른 파일시스템(100)은, 상술한 기존의 파일시스템들과 달리, 비휘발성 메모리 장치를 위한 파일시스템(100)이다.Specifically, in order to record data on a computer, it is necessary to prepare for reading, writing, and searching data in a storage device (for example, SSD) in advance. The file system 100 is a set of rules for preparing the file, naming the file and indicating where to place the file for storage or retrieval. DOS Windows OS / 2, Macintosh, Unix, and all other operating systems are required. For example, Windows FAT16, FAT32, NTFS, Linux ext2, raiserFS, ext3. On the other hand, the file system 100 according to the present embodiment is a file system 100 for a non-volatile memory device, unlike the existing file systems described above.

도 1b에 도시된 바와 같이, 파일시스템(100)은 저장장치에 대한 하나의 볼륨(volume) 또는 하나의 파티션(partition)에 대해 수퍼 블록(Super Block) 영역(110), 아이노드(Inode) 블록 영역(120), 비트맵 블록 영역(130) 및 데이터 블록 영역(140)을 포함한다.As shown in FIG. 1B, the file system 100 includes a super block area 110, an inode block 110, and a spare block area 110 for one volume or one partition of a storage device, Area 120, a bitmap block area 130, and a data block area 140. As shown in FIG.

수퍼 블록 영역(110)은 파일시스템(100)의 전체 정보가 저장된다. 구체적으로, 수퍼 블록 영역(110)은 파일시스템(100)이 적용된 파티션의 전체 크기 정보, 블록의 개수와 크기 정보, 파일시스템으로 포맷될 당시 계산된 아이노드 블록의 개수, 사용가능한 아이노드 블록의 개수와 다음에 사용될 아이노드 블록 정보, 사용가능한 데이터 블록의 개수와 다음에 사용될 블록의 정보, 비트맵 블록 영역(130)의 주소, 및 상기 파일시스템 시간정보 중 적어도 하나를 포함한다. 이와 같은 정보들은 파일시스템(100)을 구성함에 있어서 필요한 정보들에 해당된다.The super block area 110 stores the entire information of the file system 100. Specifically, the super block area 110 stores information on the total size of the partition to which the file system 100 is applied, the number and size information of the blocks, the number of the inode blocks calculated at the time of being formatted into the file system, The number of usable data blocks, the information of a block to be used next, the address of the bitmap block area 130, and the file system time information. Such information corresponds to information necessary for constructing the file system 100. [

또한, 수퍼 블록 영역(110)은 제1 수퍼 블록과 제1 수퍼 블록을 백업하기 위한 제2 수퍼 블록을 포함한다. 이와 같이, 수퍼 블록은 중요한 정보를 포함하고 있으므로, 제1 수퍼 블록과 이와 같은 내용의 백업용 제2 수퍼 블록이 마련된다.In addition, the super block area 110 includes a first super block and a second super block for backing up the first super block. As described above, since the super block includes important information, the first super block and the second super block for backup are provided.

아이노드 블록 영역(120)에는 파일에 대한 정보를 저장하는 복수 개의 아이노드(Inode)가 기록된다. 아이노드 블록 영역(120)은 복수개의 아이노드 블록을 포함하고, 하나의 아이노드 블록은 그 크기에 따라 복수개의 아이노드를 포함한다. 아이노드에 대한 상세한 설명은 도 2를 참고하여 이후에 설명한다.In the inode block area 120, a plurality of inodes for storing information about files are recorded. The inode block region 120 includes a plurality of inode blocks, and one inode block includes a plurality of inodes according to their sizes. A detailed description of the inode will be given later with reference to Fig.

비트맵 블록 영역(130)은 모든 물리적 블록에 대한 사용 현황을 각 블록별 비트로 표현한 비트맵을 포함한다. 예를 들어, 비트맵 블록에는 현재 데이터가 기록된 블록을 '1'로 표시하고, 데이터가 기록되지 않은 블록을 '0'으로 표시될 수도 있다.The bitmap block area 130 includes a bitmap in which the usage statuses of all physical blocks are represented by bits of each block. For example, a block in which current data is recorded may be indicated as '1' in a bitmap block, and a block in which data is not recorded may be indicated as '0'.

데이터 블록 영역(140)은 실제 파일 데이터가 저장되는 복수개의 데이터 블록을 포함한다.The data block area 140 includes a plurality of data blocks in which actual file data is stored.

이와 같은 구조의 파일시스템(100)은 비휘발성 메모리 장치에 적용되어, 이에 따라 빠른 파일 탐색 속도를 가지고 비휘발성 메모리에서 최대의 성능을 낼 수 있게 된다.The file system 100 having such a structure is applied to a nonvolatile memory device, thereby achieving a maximum performance in a nonvolatile memory with a fast file search speed.

도 2는 아이노드의 구조를 도시한 도면이다. 도 2에 도시된 바와 같이 아이노드(200)는 체크섬(CheckSum), 파일이 사용중인 블록의 개수인 블록 정보(Blocks), 아이노드 모드(InodeMode), 파일의 UID(User ID), 파일의 GID(Group ID), 링크(LINK), 파일 보안을 위한 권한 정보(MODE(xWRXWRXWRx)), 접근시간(ACCESSTIME), 생성시간(CREATETIME), 수정시간(MODIFYTIME), 파일 전체의 크기(SIZE), 다음 아이노드 정보(NEXT INODE), 삭제시간(DELETE TIME), 플래그(FLAG), 디렉토리 구성 정보(210), 파일이름 정보(220), 및 파일 데이터 위치정보(230) 중 적어도 하나를 포함한다.2 is a diagram showing a structure of an inode. As shown in FIG. 2, the inode 200 includes a checksum, block information (Blocks) of the number of blocks in use by a file, an inode mode (InodeMode), a UID (User ID) (MODE (xWRXWRXWRx)), access time (ACCESSTIME), creation time (CREATETIME), modification time (MODIFYTIME), size of whole file (SIZE), next The file name information 220, and the file data location information 230. The file name information 220 includes at least one of the following: NEXT INODE, DELETE TIME, FLAG, directory configuration information 210, file name information 220,

여기에서, 디렉토리 구성 정보(210)는 현재 파일이 포함된 디렉토리 내에서 어떤 위치인지를 찾기위해 참고되는 정보들에 해당된다. 구체적으로, 디렉토리 구성 정보(210)는 아이노드 블록에 대응되는 파일인 제1 파일이 위치된 제1 디렉토리에 대한 정보(Parent), 제1 디렉토리의 하위 디렉토리에 대한 정보(Child), 제1 디렉토리 내에서 제1 파일 바로 전에 생성된 파일 정보(Prev), 제1 디렉토리 내에서 제1 파일 바로 다음에 생성된 파일 정보(Next), 제1 디렉토리 내에서 가장 먼저 생성된 파일 정보(Head) 및 제1 디렉토리 내에서 가장 나중에 생성된 파일 정보(Tail)를 포함한다.Here, the directory configuration information 210 corresponds to information to be referred to in order to find a position in the directory containing the current file. Specifically, the directory configuration information 210 includes information (Parent) about a first directory where a first file, which is a file corresponding to an inode block, is located, information about a subordinate directory of the first directory (Child) File information (Prev) generated immediately before the first file in the first directory, file information (Next) generated immediately after the first file in the first directory, file information (Head) generated first in the first directory, 1 < / RTI > file information (Tail) generated in the first directory.

디렉토리 구성 정보(210)에 관하여, 도 3을 참고하여 예를 들어 설명한다. 도 3은 본 발명의 일 실시예에 따른, 디렉토리 구성 정보(210)를 설명하기 위해 제공되는 디렉토리 구조의 일 예이다. 도 3에서 파일 및 디렉토리들은 알파벳 순으로 생성된 것으로 가정한다.The directory configuration information 210 will be described with reference to FIG. 3, for example. 3 is an example of a directory structure provided for explaining directory configuration information 210 according to an embodiment of the present invention. In FIG. 3, it is assumed that files and directories are generated in alphabetical order.

현재 아이노드(200)가 나타내고 있는 파일이 'h.txt'인 경우, Parent는 디렉토리 "B"가 되고, Child는 디렉토리 "G"가 되며, Prev는 디렉토리 "G"가 되고, Next는 "i.txt"가 되며, Head는 "f.txt"가 되고, Tail은 "i.txt"가 된다.If the file currently indicated by the inode 200 is 'h.txt', Parent becomes directory "B", Child becomes directory "G", Prev becomes directory "G", Next becomes "i .txt ", Head is" f.txt ", and Tail is" i.txt ".

이와 같이, 본 실시예에 따른 파일시스템(100)은 아이노드에 대응되는 파일에 관한 디렉토리 구성 정보를 포함하게 된다.As described above, the file system 100 according to the present embodiment includes directory configuration information on files corresponding to the inodes.

한편, 파일이름 정보(220)는 파일 이름에 관한 정보가 저장되는 영역으로, 아이노드 번호, 파일이름 길이, 및 파일이름 정보를 포함한다. 여기에서, 아이노드 번호는 저장장치의 물리적인 주소값에 대응된다.On the other hand, the file name information 220 is an area for storing information on the file name, and includes an inode number, a file name length, and file name information. Here, the inode number corresponds to the physical address value of the storage device.

그리고, 파일 데이터 위치정보(230)는 파일 데이터가 데이터 블록 영역(140) 중 어느 곳에 저장되어있는지에 대한 주소 정보들이 저장된다.The file data location information 230 stores address information about where the file data is stored in the data block area 140.

본 실시예에 따른 파일시스템(100)은 이와 같은 구조의 아이노드(200)를 포함하기 때문에, 부모 디렉토리 및 같은 디렉토리 뎁스(depth)의 파일에 대한 정보가 한 아이노드에 저장되어 있고 아이노드 번호가 저장장치의 물리적인 주소값에 대응되기 때문에, 직관적이고 빠른 파일 탐색구조를 가질 수 있게 된다.Since the file system 100 according to the present embodiment includes the inode 200 having such a structure, information on a parent directory and files of the same directory depth is stored in one inode, Is corresponding to the physical address value of the storage device, it is possible to have an intuitive and fast file search structure.

한편, 본 실시예에 따른 파일시스템(100)을 구현하게 하는 컴퓨터 프로그램을 수록한 컴퓨터로 읽을 수 있는 기록매체에도 본 발명의 기술적 사상이 적용될 수 있음은 물론이다. 또한, 본 발명의 다양한 실시예에 따른 기술적 사상은 컴퓨터로 읽을 수 있는 기록매체에 기록된 컴퓨터로 읽을 수 있는 코드 형태로 구현될 수도 있다. 컴퓨터로 읽을 수 있는 기록매체는 컴퓨터에 의해 읽을 수 있고 데이터를 저장할 수 있는 어떤 데이터 저장 장치이더라도 가능하다. 예를 들어, 컴퓨터로 읽을 수 있는 기록매체는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광디스크, 하드 디스크 드라이브, 등이 될 수 있음은 물론이다. 또한, 컴퓨터로 읽을 수 있는 기록매체에 저장된 컴퓨터로 읽을 수 있는 코드 또는 프로그램은 컴퓨터간에 연결된 네트워크를 통해 전송될 수도 있다.Needless to say, the technical idea of the present invention can also be applied to a computer-readable recording medium having a computer program for implementing the file system 100 according to the present embodiment. In addition, the technical idea according to various embodiments of the present invention may be embodied in computer-readable code form recorded on a computer-readable recording medium. The computer-readable recording medium is any data storage device that can be read by a computer and can store data. For example, the computer-readable recording medium may be a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical disk, a hard disk drive, or the like. In addition, the computer readable code or program stored in the computer readable recording medium may be transmitted through a network connected between the computers.

또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present invention.

100 : 파일시스템 110 : 수퍼 블록 영역
120 : 아이노드 블록 영역 130 : 비트맵 블록 영역
140 : 데이터 블록 영역 200 : 아이노드
210 : 디렉토리 구성 정보 220 : 파일이름 정보
230 : 파일 데이터 위치정보
100: File system 110: Superblock area
120: inode block area 130: bitmap block area
140: Data block area 200: Inode
210: Directory configuration information 220: File name information
230: File data location information

Claims (6)

저장장치에 파일을 저장하는 단계; 및
파일시스템으로, 상기 저장장치에 저장된 파일을 관리하는 단계;를 포함하고,
상기 파일 시스템은,
상기 파일 시스템의 전체 정보가 저장된 복수개의 수퍼 블록(Super Block)이 저장되는 수퍼 블록 영역;
파일에 대한 정보를 저장하는 복수개의 아이노드(Inode)가 기록되는 아이노드 블록 영역;
데이터 블록에 대한 사용 현황을 각 블록별 비트로 표현한 복수개의 비트맵 블록(Bitmap Block)이 저장되는 비트맵 블록 영역; 및
실제 파일 데이터가 저장되는 복수개의 데이터 블록이 저장되는 데이터 블록 영역;을 포함하고,
상기 아이노드는,
파일이 포함된 디렉토리 내에서 어떤 위치인지를 찾기 위해 참고되는 정보인 디렉토리 구성 정보를 포함하고,
상기 디렉토리 구성 정보는,
아이노드 블록에 대응되는 파일이 위치된 디렉토리에 대한 정보, 디렉토리의 하위 디렉토리에 대한 정보, 디렉토리 내에서 파일 바로 전에 생성된 파일 정보, 디렉토리 내에서 파일 바로 다음에 생성된 파일 정보, 디렉토리 내에서 가장 먼저 생성된 파일 정보 및 디렉토리 내에서 가장 나중에 생성된 파일 정보를 포함하며,
상기 수퍼 블록 영역은,
상기 파일시스템이 적용된 파티션의 전체 크기 정보, 블록의 개수와 크기 정보, 상기 파일시스템으로 포맷될 당시 계산된 아이노드 블록의 개수, 사용가능한 아이노드 블록의 개수와 다음에 사용될 아이노드 블록 정보, 사용가능한 데이터 블록의 개수와 다음에 사용될 블록의 정보, 비트맵 블록 영역의 주소, 및 상기 파일시스템 시간정보를 포함하는 것을 특징으로 하는 파일 관리 방법.
Storing a file in a storage device; And
Managing, as a file system, a file stored in the storage device,
The file system comprises:
A super block area storing a plurality of super blocks in which the entire information of the file system is stored;
An inode block area in which a plurality of inodes for storing information on files are recorded;
A bitmap block area in which a plurality of bitmap blocks (bitmap blocks) representing the usage statuses of data blocks are expressed by bits for each block; And
And a data block area in which a plurality of data blocks storing actual file data are stored,
The in-
Directory configuration information which is information to be referenced to find a location in a directory containing the file,
The directory configuration information includes:
Information about the directory where the file corresponding to the inode block is located, information about the subdirectory of the directory, file information created just before the file in the directory, file information generated immediately after the file in the directory, The file information generated first and the file information generated most later in the directory,
Wherein the super block area comprises:
Information on the total size of the partition to which the file system is applied, the number of blocks and size information, the number of inode blocks calculated at the time of being formatted by the file system, the number of usable inode blocks, The number of possible data blocks, the information of a block to be used next, the address of a bitmap block area, and the file system time information.
제 1항에 있어서,
상기 파일시스템은,
하나의 볼륨(volume) 또는 하나의 파티션(partition)을 상기 수퍼 블록 영역, 아이노드 블록 영역, 비트맵 블록 영역 및 데이터 블록 영역을 포함하여 구성하는 것을 특징으로 하는 파일 관리 방법.
The method according to claim 1,
The file system comprises:
Wherein one volume or one partition comprises the super block area, the inode block area, the bit map block area, and the data block area.
삭제delete 제 1항에 있어서,
상기 수퍼 블록 영역은,
제1 수퍼 블록과 상기 제1 수퍼 블록을 백업하기 위한 제2 수퍼 블록을 포함하는 것을 특징으로 하는 파일 관리 방법.
The method according to claim 1,
Wherein the super block area comprises:
And a second super block for backing up the first super block and the first super block.
제 1항에 있어서,
상기 아이노드는, 파일이름 정보를 포함하고,
상기 파일이름 정보는, 아이노드 번호, 파일이름 길이, 및 파일이름 정보를 포함하며,
상기 아이노드 번호는, 저장장치의 물리적인 주소값에 대응되는 것을 특징으로 하는 파일 관리 방법.
The method according to claim 1,
Wherein the inode includes file name information,
Wherein the file name information includes an inode number, a file name length, and file name information,
Wherein the inode number corresponds to a physical address value of the storage device.
제 1항에 있어서,
상기 저장장치는,
비휘발성 메모리인 것을 특징으로 하는 파일 관리 방법.
The method according to claim 1,
The storage device comprising:
Wherein the nonvolatile memory is a nonvolatile memory.
KR1020120007547A 2012-01-26 2012-01-26 Method for file management using file system adapted to non-volatile memory KR101413985B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120007547A KR101413985B1 (en) 2012-01-26 2012-01-26 Method for file management using file system adapted to non-volatile memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120007547A KR101413985B1 (en) 2012-01-26 2012-01-26 Method for file management using file system adapted to non-volatile memory

Publications (2)

Publication Number Publication Date
KR20130086694A KR20130086694A (en) 2013-08-05
KR101413985B1 true KR101413985B1 (en) 2014-07-08

Family

ID=49213798

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120007547A KR101413985B1 (en) 2012-01-26 2012-01-26 Method for file management using file system adapted to non-volatile memory

Country Status (1)

Country Link
KR (1) KR101413985B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11875036B2 (en) 2021-01-13 2024-01-16 Samsung Electronics Co., Ltd. Computing system including host and storage system and having increased write performance

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102524432B1 (en) * 2018-04-09 2023-04-24 에스케이하이닉스 주식회사 Memory system and operation method thereof
KR102227113B1 (en) 2019-04-01 2021-03-15 최재호 A file processing apparatus based on a shared file system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050053094A (en) * 2003-12-02 2005-06-08 주식회사 하우리 Method for recovering data in ext2 file system, and computer-readable storage medium recorded with data-recover program
KR20060073431A (en) * 2004-12-23 2006-06-28 한국전자통신연구원 File system for the hardward using the i/o acceleration technique and method for processing data in the same
KR20110070697A (en) * 2009-12-18 2011-06-24 한국전자통신연구원 Apparatus and method of controlling metadata in asymmetric distributed file system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050053094A (en) * 2003-12-02 2005-06-08 주식회사 하우리 Method for recovering data in ext2 file system, and computer-readable storage medium recorded with data-recover program
KR20060073431A (en) * 2004-12-23 2006-06-28 한국전자통신연구원 File system for the hardward using the i/o acceleration technique and method for processing data in the same
KR20110070697A (en) * 2009-12-18 2011-06-24 한국전자통신연구원 Apparatus and method of controlling metadata in asymmetric distributed file system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11875036B2 (en) 2021-01-13 2024-01-16 Samsung Electronics Co., Ltd. Computing system including host and storage system and having increased write performance

Also Published As

Publication number Publication date
KR20130086694A (en) 2013-08-05

Similar Documents

Publication Publication Date Title
US9424185B1 (en) Method and system for garbage collection of data storage systems
US10810161B1 (en) System and method for determining physical storage space of a deduplicated storage system
JP5975473B2 (en) Backup method, restore method, storage system, and program
US9367448B1 (en) Method and system for determining data integrity for garbage collection of data storage systems
US20090049260A1 (en) High performance data deduplication in a virtual tape system
US20100262802A1 (en) Reclamation of Thin Provisioned Disk Storage
US20180107402A1 (en) System and method for data storage using log-structured merge trees
US9383936B1 (en) Percent quotas for deduplication storage appliance
CN103064906B (en) File management method and device
JP2008257725A (en) Read/write for implementation to top of backup data, and multi-version control file system
JP2005166042A (en) Data restoring method for ext2 file system, and recording medium recorded with its program
US8060481B1 (en) Time indexed file system
KR101731606B1 (en) Recovering method of data in cow-based file system using digital forensic technology
CN104199888A (en) Data recovery method and device for resilient file system
US20170235493A1 (en) Low-Cost Backup and Edge Caching Using Unused Disk Blocks
US11841826B2 (en) Embedded reference counts for file clones
CN104484427A (en) Video file storage device and video file storage method
KR101413985B1 (en) Method for file management using file system adapted to non-volatile memory
US11409720B2 (en) Metadata reduction in a distributed storage system
US20170351608A1 (en) Host device
US8639656B2 (en) Method for implementing persistent file pre-allocation
KR100987320B1 (en) Data processing apparatus and Data procssing method, using FAT file system capable of fast file recovery
CN115480692A (en) Data compression method and device
US10831624B2 (en) Synchronizing data writes
CN113535092B (en) Storage engine, method and readable medium for reducing memory metadata

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170512

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180406

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190313

Year of fee payment: 6