KR20080058834A - Apparatus and method for managing file system - Google Patents

Apparatus and method for managing file system Download PDF

Info

Publication number
KR20080058834A
KR20080058834A KR1020060132970A KR20060132970A KR20080058834A KR 20080058834 A KR20080058834 A KR 20080058834A KR 1020060132970 A KR1020060132970 A KR 1020060132970A KR 20060132970 A KR20060132970 A KR 20060132970A KR 20080058834 A KR20080058834 A KR 20080058834A
Authority
KR
South Korea
Prior art keywords
data
storage medium
metadata
recorded
meta data
Prior art date
Application number
KR1020060132970A
Other languages
Korean (ko)
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 KR1020060132970A priority Critical patent/KR20080058834A/en
Publication of KR20080058834A publication Critical patent/KR20080058834A/en

Links

Images

Classifications

    • 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
    • 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/17Details of further file system functions
    • G06F16/1727Details of free space management performed by the file system

Abstract

A device and a method for managing a file system are provided to prevent performance degradation of the file system for sectors, which are not synchronized and are not continuous by unpredictable sudden power-off, by storing a log reflecting change of metadata in a non-volatile memory storage medium. A memory(120) stores data and first metadata for the data, and a non-volatile storage medium(130) stores second metadata changed according to change of the data when the data is changed. A controller(140) updates the first metadata by using the second metadata. The controller checks remaining capacity of the non-volatile storage medium and stores the second metadata to a storage medium(110) when the remaining capacity of the non-volatile storage medium is smaller than a reference level.

Description

파일 시스템 관리 장치 및 방법{Apparatus and method for managing file system}Apparatus and method for managing file system

도 1은 일반적인 파일 시스템 관리 방법이 도시된 개략도.1 is a schematic diagram illustrating a general file system management method.

도 2는 본 발명의 실시예에 따른 파일 시스템 관리 장치가 도시된 블록도.2 is a block diagram showing a file system management apparatus according to an embodiment of the present invention.

도 3은 본 발명의 실시예에 따른 저장 매체가 도시된 개략도.3 is a schematic diagram illustrating a storage medium according to an embodiment of the present invention.

도 4는 본 발명의 실시예에 따른 파일 시스템 관리 방법이 도시된 순서도.4 is a flowchart illustrating a file system management method according to an embodiment of the present invention.

도 5는 본 발명의 실시예에 따른 파일 시스템 관리 방법이 도시된 개략도.5 is a schematic diagram illustrating a file system management method according to an embodiment of the present invention.

<도면의 주요 부분에 관한 부호의 설명><Explanation of symbols on main parts of the drawings>

110: 저장 매체 120: 메모리110: storage medium 120: memory

130: 비휘발성 저장 매체 140: 제어부130: nonvolatile storage medium 140: control unit

본 발명은 파일 시스템 관리 장치 및 방법에 관한 것으로서, 더욱 상세하게는 비휘발성 저장 매체를 사용하여 파일 시스템의 성능을 향상시킬 수 있는 파일 시스템 관리 장치 및 방법에 관한 것이다.The present invention relates to a file system management apparatus and method, and more particularly to a file system management apparatus and method that can improve the performance of the file system using a nonvolatile storage medium.

일반적으로 파일 시스템을 이용하여 하드 디스크 등과 같은 대용량 저장 매 체를 관리하기 위해서는 마운트(mount) 과정이 필요하게 된다. 이러한 마운트 과정은, 성능을 향상시키기 위하여 하드 디스크에 저장되어 있는 메타 데이터들을 메모리로 복사하고 메타 데이터의 변경 사항을 메모리에 반영한 다음, 소정 시간 경과 후 변경 사항이 반영된 메타 데이터를 하드 디스크에서 메타 데이터가 저장되는 영역에 저장하여 동기화하게 된다.In general, in order to manage a mass storage medium such as a hard disk using a file system, a mount process is required. This mount process copies the metadata stored on the hard disk to memory to improve performance, reflects the changes in the metadata to the memory, and then stores the metadata on the hard disk after the predetermined time has elapsed. Is synchronized to the stored area.

도 1은 일반적인 파일 시스템 관리 방법이 도시된 개략도이다.1 is a schematic diagram illustrating a general file system management method.

도시된 바와 같이, 일반적인 마운트 과정은, 메타 데이터가 변경되면, 하드 디스크의 정보를 변경시키는 동작을 기록한 결과물인 로그(log)를 메모리(10)에 로깅(logging)하게 되며(①), 적어도 하나의 로그들을 하드 디스크(20)의 저널(journal) 영역(22)에 기록하는 커밋(commit)을 수행하게 된다(②). 이후, 저널 영역(22)에 기록된 메타 데이터를 이용하여 메타 데이터 영역(21)에 기록된 메타 데이터을 갱신하게 된다(③).As shown in the drawing, when the metadata is changed, a log, which is a result of recording an operation of changing information of the hard disk, is logged in the memory 10 (1), and at least one A commit is performed to record the logs of the data in the journal area 22 of the hard disk 20 (2). Thereafter, the metadata recorded in the metadata area 21 is updated by using the metadata recorded in the journal area 22 (3).

이때, 도 1에서 하드 디스크(20)는, 메타 데이터 영역(21), 저널 영역(22) 및 데이터 영역(23)을 나누어진다. 메타 데이터 영역(21)은 데이터 영역(23)에 기록된 데이터와 관련된 메타 데이터가 저장되며, 저널 영역(22)은 메타 데이터 영역(21)에 기록된 메타 데이터의 갱신을 위해 메모리(10)로부터 전달받은 적어도 하나의 로그가 기록되는 영역이다.At this time, in FIG. 1, the hard disk 20 is divided into a meta data area 21, a journal area 22, and a data area 23. The meta data area 21 stores meta data associated with the data recorded in the data area 23, and the journal area 22 is stored from the memory 10 for updating of the meta data recorded in the meta data area 21. This is the area where at least one log received is recorded.

이와 같은 일반적인 마운트 과정에서는 메타 데이터가 변경되는 경우, 메타 데이터의 변경 사항이 메모리(10)에 로깅되는 과정이 필요하게 된다. 이때, 예상치 못한 갑작스러운 전원 차단이 발생한 경우, 메모리(20)에 반영된 변경 사항과 하드 디스크(20)의 메타 데이터 영역(21)에 기록된 메타 데이터가 동기화되지 않는 상황이 발생하게 된다. 따라서, 예상치 못한 갑작스러운 전원 차단으로 인해 동기화되지 않은 상황이 발생되는 것을 방지하기 위한 방안이 요구되고 있다.In this general mounting process, if the metadata is changed, a process of logging the change of the metadata to the memory 10 is required. At this time, when an unexpected sudden power interruption occurs, a situation occurs in which the change reflected in the memory 20 and the metadata recorded in the metadata area 21 of the hard disk 20 are not synchronized. Therefore, there is a need for a method for preventing an unsynchronized situation due to an unexpected sudden power off.

또한, 하드 디스크(20)에서 소정 데이터에 접근하기 위해, 기존 파일 시스템에서는 섹터 배치 순서대로 메타 데이터 영역, 저널 영역 및 데이터 영역을 계속 접근해야 하므로, 연속적이지 않는 섹터들에 대해서 파일 시스템의 성능 저하가 발생된다는 문제점이 있다.In addition, in order to access predetermined data in the hard disk 20, the existing file system must continuously access the metadata area, the journal area, and the data area in the order of sector arrangement, thereby degrading the performance of the file system for non-contiguous sectors. There is a problem that is generated.

본 발명은 비휘발성 저장 매체에 메타 데이터의 변경 사항이 반영된 로그를 기록하여 예상치 못한 갑작스러운 전원 차단으로 인해 동기화가 되지 않으며, 연속적이지 않은 섹터들에 대한 파일 시스템의 성능 저하를 방지할 수 있는 파일 시스템 관리 장치 및 방법을 제공하는데 그 목적이 있다.The present invention records the log reflecting the change of meta data on a nonvolatile storage medium, which is not synchronized due to an unexpected sudden power failure, and prevents the performance of the file system for non-contiguous sectors. It is an object of the present invention to provide a system management apparatus and method.

본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해되어 질 수 있을 것이다.The object of the present invention is not limited to the above-mentioned object, and other objects which are not mentioned will be clearly understood by those skilled in the art from the following description.

상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 파일 시스템 관리 장치는, 데이터 및 상기 데이터에 대한 제 1메타 데이터가 기록되는 저장부, 상기 데이터의 변경시, 상기 데이터의 변경에 따라 변경된 제 2메타 데이터가 기록되는 비휘발성 메모리, 및 상기 제 2메타 데이터를 이용하여 상기 제 1메타 데이터를 갱 신하는 제어부를 포함한다.In order to achieve the above object, the file system management apparatus according to an embodiment of the present invention, the storage unit for recording the data and the first meta data for the data, when the change of the data, And a control unit for updating the first meta data using the non-volatile memory in which 2 meta data is recorded, and the second meta data.

또한, 상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 파일 시스템 관리 방법은, 데이터 및 상기 데이터에 대한 제 1메타 데이터가 소정의 저장 매체에 저장되는 단계, 상기 데이터의 변경시, 상기 데이터의 변경에 따라 변경된 제 2메타 데이터가 비휘발성 저장 매체에 저장되는 단계, 및 상기 제 2메타 데이터를 이용하여 상기 제 1메타 데이터를 갱신하는 단계를 포함한다.In addition, in order to achieve the above object, the file system management method according to an embodiment of the present invention, the step of storing the data and the first meta data for the data in a predetermined storage medium, when the data is changed, the data Storing the changed second meta data according to the change of the non-volatile storage medium, and updating the first meta data by using the second meta data.

기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Specific details of other embodiments are included in the detailed description and the drawings.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범수를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Advantages and features of the present invention and methods for achieving them will be apparent with reference to the embodiments described below in detail with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but can be implemented in various different forms, and only the embodiments make the disclosure of the present invention complete, and the general knowledge in the art to which the present invention belongs. It is provided to fully inform the person having the scope of the invention, the invention is defined only by the scope of the claims. Like reference numerals refer to like elements throughout.

이하, 본 발명의 실시예들에 의하여 파일 시스템 관리 장치 및 방법을 설명하기 위한 블록도 또는 처리 흐름도에 대한 도면들을 참고하여 본 발명에 대해 설명하도록 한다. 이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로 그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다. Hereinafter, the present invention will be described with reference to a block diagram or a flowchart illustrating a file system management apparatus and method according to embodiments of the present invention. At this point, it will be understood that each block of the flowchart illustrations and combinations of flowchart illustrations may be performed by computer program instructions. These computer program instructions may be mounted on a processor of a general purpose computer, special purpose computer, or other programmable data processing equipment, so that the instructions performed through the processor of the computer or other programmable data processing equipment are described in the flowchart block (s). It will create a means to perform the specified functions. These computer program instructions may be stored in a computer usable or computer readable memory that can be directed to a computer or other programmable data processing equipment to implement functionality in a particular manner, and thus the computer usable or computer readable memory. It is also possible for the instructions stored in to produce an article of manufacture containing instruction means for performing the functions described in the flowchart block (s). Computer program instructions It can also be mounted on a computer or other programmable data processing equipment, so a series of operating steps are performed on the computer or other programmable data processing equipment to create a computer-implemented process to perform the computer or other programmable data processing equipment. It is also possible for the instructions to provide steps for performing the functions described in the flowchart block (s).

또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.In addition, each block may represent a portion of a module, segment, or code that includes one or more executable instructions for executing a specified logical function (s). It should also be noted that in some alternative implementations, the functions noted in the blocks may occur out of order. For example, the two blocks shown in succession may in fact be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending on the corresponding function.

도 2는 본 발명의 실시예에 따른 파일 시스템 관리 장치가 도시된 블록도이다.2 is a block diagram illustrating a file system management apparatus according to an exemplary embodiment of the present invention.

도시된 바와 같이, 본 발명의 실시예에 따른 파일 시스템 관리 장치(100)는, 저장 매체(110), 메모리(120), 비휘발성 저장 매체(130), 제어부(140)를 포함할 수 있다.As illustrated, the file system management apparatus 100 according to an exemplary embodiment of the present invention may include a storage medium 110, a memory 120, a nonvolatile storage medium 130, and a controller 140.

본 발명의 실시예에서 저장 매체(110)는, 하드 디스크 등과 같은 대용량 저장 매체인 경우를 예를 들어 설명하기로 한다. 따라서, 본 발명의 실시예에서 저장 매체(110)를 하드 디스크라 하는 경우, 저장 매체(110)는 도 3과 같이, 원형의 디스크(111) 상으로 일정하게 존재하는 섹터(sector)에 데이터가 저장되며, 저장된 데이터의 읽기 및 쓰기는 헤드(112)를 통해 이루어질 수 있다.In the embodiment of the present invention, the storage medium 110 will be described as an example of a mass storage medium such as a hard disk. Therefore, in the embodiment of the present invention, when the storage medium 110 is referred to as a hard disk, the storage medium 110 has data in a sector which is constantly present on the circular disk 111 as shown in FIG. 3. The stored data may be read and written through the head 112.

또한, 디스크(111)의 소정 트랙은 데이터가 기록되는 데이터 영역, 메타 데이터가 기록되는 메타 데이터 영역, 및 메타 데이터의 갱신을 위한 저널 영역을 포함할 수 있다. 이때, 본 발명의 실시예에서 사용되는 용어 중 '저널 영역'은 예상하지 못한 전원 공급 차단 등으로 인해 메모리(120)의 메타 데이터 변경 사항이 저장 매체(110)의 메타 데이터 영역에 동기화되지 않아 데이터 영역에 저장된 데이터와 메타 데이터 영역에 저장된 메타 데이터 사이에 정보의 불일치가 발생하였을 때 이를 복구하기 위한 영역이며, 이와 같은 복구 과정을 '저널링'이라 한다.Further, the predetermined track of the disc 111 may include a data area in which data is recorded, a metadata area in which meta data is recorded, and a journal area for updating metadata. At this time, the term 'journal area' used in the embodiment of the present invention means that the metadata change of the memory 120 is not synchronized with the metadata area of the storage medium 110 due to unexpected power supply cutoff. This is an area for recovering information inconsistency between the data stored in the area and the metadata stored in the metadata area. This recovery process is called 'journaling'.

이때, 헤드(112)는 1차원적인 이동만이 가능하므로, 원하는 데이터를 읽기 위해서는, 헤드(112)가 해당 데이터가 기록된 섹터를 포함하는 트랙(track)까지 접근한 다음, 디스크(111)가 해당 섹터가 존재하는 위치로 회전하는데 소요되는 시간 이 지연된다.At this time, since the head 112 can move only in one dimension, in order to read the desired data, the head 112 approaches the track including the sector in which the data is recorded, and then the disc 111 The time taken to rotate to the position where the sector exists is delayed.

일반적으로 저장 매체(110)는 전술한 시간 지연을 최소화하기 위해 디스크(111)의 회전 방향으로 연속적인 섹터의 읽기 및 쓰기를 진행해야 하며, 파일 시스템은 섹터의 배치 순서대로 메타 데이터 영역, 저널 영역 및 데이터 영역을 사용하므로 하나의 데이터에 대한 읽기 및 쓰기를 진행할 때 헤드(112)는 메타 데이터 영역, 저널 영역 및 데이터 영역의 해당 섹터에 계속 접근해야 한다.In general, the storage medium 110 has to read and write consecutive sectors in the rotational direction of the disk 111 in order to minimize the above-described time delay, and the file system includes the metadata area and the journal area in the order of sector placement. And the data area, the head 112 must continue to access the metadata area, the journal area and the corresponding sector of the data area when reading and writing a single data.

따라서, 본 발명의 실시예에서는 저장 매체(110)의 메타 데이터 영역에 기록된 제 1메타 데이터의 변경이 필요한 경우, 변경된 제 2메타 데이터를 메모리(120)에 로깅한 다음, 비휘발성 저장 매체(130)에 기록하게 된다. 이때, 제 1메타 데이터는 변경 전의 메타 데이터를 의미하고, 제 2메타 데이터는 변경 후의 메타 데이터를 의미한다. 또한, 메모리(120)는 저널링을 위한 저널 영역을 포함할 수 있으나, 이에 한정되지 않는다.Therefore, in the embodiment of the present invention, when the first meta data recorded in the meta data area of the storage medium 110 needs to be changed, the changed second meta data is logged in the memory 120 and then the non-volatile storage medium ( 130). In this case, the first metadata refers to metadata before the change, and the second metadata refers to metadata after the change. In addition, the memory 120 may include a journal area for journaling, but is not limited thereto.

한편, 본 발명의 실시예에서 사용되는 용어 중 '메타 데이터'는 저장 매체(110)에 기록되는 데이터를 관리하기 위해 파일 시스템이 사용하는 데이터로, 데이터가 기록되 시간, 데이터의 소유자, 데이터의 크기 등의 속성 정보와 저장 매체(110)에서 사용중인 영역의 관리, 파일 시스템 전체를 관리하기 위한 파티션 정보 등을 포함하고 있다. 또한, 저장 매체(110)의 정보를 변화시키는 동작을 메모리(120)에 기록한 결과물을 '로그(log)'라 하고, 그 행위를 '로깅(logging)'이라 한다.Meanwhile, the term 'meta data' used in the exemplary embodiment of the present invention is data used by the file system to manage data recorded on the storage medium 110, and indicates the time at which the data is recorded, the owner of the data, and the data. Attribute information such as size, management of the area being used in the storage medium 110, partition information for managing the entire file system, and the like are included. In addition, the result of recording the operation of changing the information of the storage medium 110 in the memory 120 is referred to as a 'log', and the action is referred to as 'logging'.

구체적으로, 저장 매체(110)에 기록된 데이터가 읽혀지거나 새로운 데이터가 기록될 때, 데이터의 크기나 접근 시간이 변경되므로 메타 데이터가 변경될 수 있다.In detail, when data recorded in the storage medium 110 is read or new data is recorded, meta data may be changed because the size or access time of the data is changed.

따라서, 저장 매체(110)의 메타 데이터 영역에 저장된 제 1메타 데이터의 변경이 필요한 경우, 제어부(140)는 메모리(120)에 제 1메타 데이터에 변경 사항이 반영된 적어도 하나의 로그를 로깅한 다음, 메모리(120)에 기록된 로그들을 비휘발성 저장 매체(130)에 기록하게 된다. 이때, 비휘발성 저장 매체(130)에는 적어도 하나의 로그가 저장될 수 있으며, 비휘발성 저장 매체(130)에 기록되는 소정 개수의 로그들을 통칭하여 '트랜잭션(transaction)'이라 한다.Therefore, when the first meta data stored in the metadata area of the storage medium 110 needs to be changed, the controller 140 logs at least one log in which the change is reflected in the first meta data in the memory 120. The logs recorded in the memory 120 are recorded in the nonvolatile storage medium 130. In this case, at least one log may be stored in the nonvolatile storage medium 130, and a predetermined number of logs recorded in the nonvolatile storage medium 130 are collectively referred to as a “transaction”.

이와 같은 비휘발성 저장 매체(130)에 트랜잭션을 기록하는 것은, 비휘발성 저장 매체(130)의 특성상 전원이 없는 경우에도 기록된 데이터가 보존될 수 있기 때문에 메모리(120)만 사용하는 경우 발생될 수 있는 예상치 못한 갑작으러운 전원 차단에도 안전하게 트랜잭션을 보호할 수 있기 때문이다. 이때, 비휘발성 저장 매체(130)에 트랙잭션이 기록될 때, 비휘발성 저장 매체(130)의 맵핑 테이블 또한 갱신될 수 있다.Such a recording of the transaction in the nonvolatile storage medium 130 may occur when the memory 120 is used only because recorded data can be preserved even when there is no power supply due to the characteristics of the nonvolatile storage medium 130. This is because the transaction can be securely protected even in the event of an unexpected sudden power off. In this case, when a transaction is recorded in the nonvolatile storage medium 130, the mapping table of the nonvolatile storage medium 130 may also be updated.

한편, 제어부(140)는 비휘발성 저장 매체(130)에 트랜잭션이 기록된 후, 비휘발성 저장 매체(130)의 잔여 용량이 기준치 이하로 감소하는 경우, 비휘발성 저장 매체(130)에 기록된 트랜잭션을 저장 매체(110)의 저널 영역에 저장한 다음, 메타 데이터 영역의 제 1메타 데이터를 제 2메타 데이터로 갱신하게 된다. 다시 말해서, 비휘발성 저장 매체(130)에 저장된 트랜잭션은 제 2메타 데이터로 이해될 수 있으며, 제어부(140)는 비휘발성 저장 매체(130)의 잔여 용량이 기준치 이하로 감 소하는 경우, 제 2메타 데이터를 저장 매체(110)의 저널 영역에 기록한 다음, 메타 데이터 영역에서 제 1메타 데이터를 제 2메타 데이터로 갱신하는 것이다.Meanwhile, after the transaction is recorded in the nonvolatile storage medium 130, the controller 140 records the transaction recorded in the nonvolatile storage medium 130 when the remaining capacity of the nonvolatile storage medium 130 decreases to a reference value or less. Is stored in the journal area of the storage medium 110, and then the first metadata of the metadata area is updated with the second metadata. In other words, the transaction stored in the nonvolatile storage medium 130 may be understood as the second metadata, and the control unit 140 may determine that the second capacity is reduced when the remaining capacity of the nonvolatile storage medium 130 is less than or equal to the reference value. After the metadata is recorded in the journal area of the storage medium 110, the first metadata is updated with the second metadata in the metadata area.

따라서, 비휘발성 저장 매체(130)를 이용하여 저장 매체(110)의 메타 데이터 영역의 메타 데이터를 갱신하기 때문에 예상치 못한 전원 공급 차단이 발생하였을 때에도 안전하게 메타 데이터를 갱신할 수 있다. 또한, 저장 매체(110)에서 메타 데이터 갱신을 위해 메타 데이터 영역, 저널 영역 및 데이터 영역을 계속 접근하여 지연되는 시간을 감소시킬 수 있게 된다.Therefore, since the metadata of the metadata area of the storage medium 110 is updated using the nonvolatile storage medium 130, the metadata can be safely updated even when an unexpected power supply cutoff occurs. In addition, the storage medium 110 may reduce the delay time by continuously accessing the metadata area, the journal area, and the data area for updating metadata.

도 4는 본 발명의 실시예에 따른 파일 시스템 관리 방법이 도시된 순서도이다. 이때, 도 4는 사용자의 명령에 따라 저장 매체(110)에 기록된 데이터를 읽혀지거나 새로운 데이터가 기록되어 메타 데이터의 변경이 필요한 경우로 이해될 수 있다.4 is a flowchart illustrating a file system management method according to an embodiment of the present invention. In this case, FIG. 4 may be understood as a case in which data recorded in the storage medium 110 is read or new data is recorded according to a user's command so that meta data needs to be changed.

도시된 바와 같이, 본 발명의 실시예에 따른 파일 시스템 관리 방법은, 먼저 사용자의 명령에 따라 메타 데이터의 변경이 필요한 경우, 제어부(140)는 변경 사항이 반영된 로그들을 메모리(120)에 로깅하게 된다(S110). As shown, in the file system management method according to an exemplary embodiment of the present invention, when a meta data needs to be changed in response to a user's command, the controller 140 may log logs reflecting the changes to the memory 120. It becomes (S110).

메모리(120)에 로깅된 로그들을 비휘발성 저장 매체(130)에 기록하고(S120), 비휘발성 저장 매체(130)의 맵핑 테이블을 갱신한다(S130). 이때, 비휘발성 저장 매체(130)에 기록되는 로그는 적어도 하나가 존재할 수 있으며, 이와 같이 비휘발성 저장 매체(130)에 기록되는 적어도 하나의 로그를 통칭하여 전술한 바와 같이 트랜잭션이라 한다. 따라서, 트랜잭션에 포함되는 로그의 개수는 변경될 수 있다.The logs logged in the memory 120 are recorded in the nonvolatile storage medium 130 (S120), and the mapping table of the nonvolatile storage medium 130 is updated (S130). In this case, at least one log recorded in the nonvolatile storage medium 130 may exist, and as described above, at least one log recorded in the nonvolatile storage medium 130 is referred to as a transaction. Therefore, the number of logs included in the transaction can be changed.

제어부(140)는 비휘발성 저장 매체(130)에 로그가 기록된 후, 잔여 용량이 소정의 기준치 이하로 감소하는 경우(S140), 비휘발성 저장 매체(130)에 기록된 로그를 저장 매체(110)의 저널 영역에 기록하게 된다(S150). The controller 140 stores the log recorded in the nonvolatile storage medium 130 after the log is recorded in the nonvolatile storage medium 130 and the remaining capacity decreases below a predetermined reference value (S140). In the journal area (S150).

이후, 제어부(140)는 저장 매체(110)의 저널 영역에 기록된 로그를 이용하여 저장 매체(110)의 메타 데이터 영역에 기록된 메타 데이터를 갱신하게 된다(S160). 다시 말해서, 저장 매체(110)의 메타 데이터 영역에 기록된 변경 전의 메타 데이터를 제 1메타 데이터라 하고, 저널 영역에 기록된 로그를 제 2메타 데이터라 할 경우, 제어부(140)는 제 2메타 데이터를 이용하여 메타 데이터 영역에 기록된 제 1메타 데이터를 갱신하는 것이다.Thereafter, the controller 140 updates the metadata recorded in the metadata area of the storage medium 110 using the log recorded in the journal area of the storage medium 110 (S160). In other words, when the meta data before the change recorded in the meta data area of the storage medium 110 is referred to as the first meta data, and the log recorded in the journal area is referred to as the second meta data, the controller 140 controls the second meta data. The first meta data recorded in the meta data area is updated using the data.

도 5은 본 발명의 실시예에 따른 파일 시스템 관리 방법이 도시된 개략도이다.5 is a schematic diagram illustrating a file system management method according to an embodiment of the present invention.

도시된 바와 같이, 메타 데이터가 변경되면, 저장 매체(110)의 정보를 변경시키는 동작을 기록한 결과물인 로그를 메모리(120)에 로깅(logging)하게 되며(⑪), 적어도 하나의 로그들을 비휘발성 저장 매체(130)에 기록하는 커밋을 수행하게 된다(⑫). 이후, 비휘발성 저장 매체(130)의 잔여 용량이 기준치 이하로 감소하는 경우, 비휘발성 저장 매체(130)에 기록된 로그는 저장 매체(110)의 저널 영역에 기록된다(⑬). 이때, 제어부(140)는 저널 영역에 기록된 로그를 이용하여 메타 데이터 영역에 기록된 메타 데이터를 갱신하게 된다(⑭).As shown in the figure, when the metadata is changed, a log, which is a result of recording an operation of changing information of the storage medium 110, is logged (lo) in the memory 120, and at least one log is non-volatile. A commit to write to the storage medium 130 is performed (⑫). Thereafter, when the remaining capacity of the nonvolatile storage medium 130 decreases below the reference value, the log recorded in the nonvolatile storage medium 130 is recorded in the journal area of the storage medium 110 (i). At this time, the control unit 140 updates the metadata recorded in the metadata area using the log recorded in the journal area (⑭).

상기 '부'는 소프트웨어 또는 Field Programmable Gate Array(FPGA) 또는 주문형 반도체(Application Specific Integrated Circuit, ASIC)과 같은 하드웨어 구성요소를 의미하며, 부는 어떤 역할들을 수행한다. 그렇지만 부는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. 부는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 따라서, 일 예로서 부는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 부들에서 제공되는 기능은 더 작은 수의 구성요소들 및 부들로 결합되거나 추가적인 구성요소들과 부들로 더 분리될 수 있다.The term 'part' refers to a hardware component such as software or a field programmable gate array (FPGA) or an application specific integrated circuit (ASIC), and a part plays a role. But wealth is not meant to be limited to software or hardware. The unit may be configured to be in an addressable storage medium and may be configured to execute one or more processors. Thus, as an example, a wealth of components, such as software components, object-oriented software components, class components, and task components, and processes, functions, properties, procedures, subroutines, etc. , Segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables. The functionality provided in the components and parts may be combined into a smaller number of components and parts or further separated into additional components and parts.

이상과 같이 본 발명에 따른 파일 시스템 관리 장치 및 방법을 예시된 도면을 참조로 하여 설명하였으나, 본 명세서에 개시된 실시예와 도면에 의해 본 발명은 한정되지 않으며 그 발명의 기술사상 범위내에서 당업자에 의해 다양한 변형이 이루어질 수 있음은 물론이다.As described above, the apparatus and method for managing a file system according to the present invention has been described with reference to the illustrated drawings. However, the present invention is not limited to the embodiments and drawings disclosed herein, and is provided to those skilled in the art within the technical scope of the present invention. Of course, various modifications can be made.

상기한 바와 같은 본 발명의 파일 시스템 관리 장치 및 방법에 따르면, 메타 데이터 변경시, 변경 사항이 반영된 로그들을 비휘발성 저장 매체에 기록하고, 비휘발성 저장 매체의 잔여 용량이 기준치 이하로 감소하면, 로그들을 저장 매체에 기록하여 메타 데이터의 갱신이 이루어지도록 하여, 예상치 못한 갑작스러운 전원 차단으로 인해 동기화가 이루어지지 않는 것이 방지되고, 비휘발성 저장 매체에 메타 데이터의 기록이 이루어짐에 따라 저장 매체의 빈번한 접근을 하지 않기 때문에 파일 시스템의 성능이 향상될 수 있는 효과가 있다.According to the file system management apparatus and method of the present invention as described above, when the metadata change, the log reflecting the change is recorded in the nonvolatile storage medium, and if the remaining capacity of the nonvolatile storage medium decreases below the reference value, the log Recording the data to a storage medium to update the metadata, thereby preventing synchronization due to an unexpected sudden power off, and frequently accessing the storage medium as the metadata is recorded on the nonvolatile storage medium. Because it does not have the effect that the performance of the file system can be improved.

Claims (5)

데이터 및 상기 데이터에 대한 제 1메타 데이터가 기록되는 저장부;A storage unit to record data and first metadata of the data; 상기 데이터의 변경시, 상기 데이터의 변경에 따라 변경된 제 2메타 데이터가 기록되는 비휘발성 메모리; 및A nonvolatile memory in which the second meta data changed according to the change of the data is recorded when the data is changed; And 상기 제 2메타 데이터를 이용하여 상기 제 1메타 데이터를 갱신하는 제어부를 포함하는 파일 시스템 관리 장치.And a control unit which updates the first meta data using the second meta data. 제 1 항에 있어서,The method of claim 1, 상기 제어부는, 상기 비휘발성 메모리의 잔여 용량을 판단하고, The controller determines the remaining capacity of the nonvolatile memory, 상기 잔여 용량이 기준치 이하인 경우, 상기 제 2메타 데이터를 상기 저장 매체에 기록하는 파일 시스템 관리 장치.And recording the second metadata to the storage medium when the remaining capacity is equal to or less than a reference value. 데이터 및 상기 데이터에 대한 제 1메타 데이터가 소정의 저장 매체에 기록되는 단계;Writing data and first meta data about the data to a predetermined storage medium; 상기 데이터 변경시, 상기 데이터의 변경에 따라 변경된 제 2메타 데이터가 비휘발성 저장 매체에 기록되는 단계; 및When the data is changed, second metadata changed according to the change of the data is recorded in a nonvolatile storage medium; And 상기 제 2메타 데이터를 이용하여 상기 제 1메타 데이터를 갱신하는 단계를 포함하는 파일 시스템 관리 방법.And updating the first meta data using the second meta data. 제 3 항에 있어서,The method of claim 3, wherein 상기 제 2메타 데이터 기록되는 단계는, 상기 제 2메타 데이터에 따른 맵핑 테이블을 갱신하는 단계를 포함하는 파일 시스템 관리 방법.The recording of the second meta data includes updating the mapping table according to the second meta data. 제 3 항에 있어서,The method of claim 3, wherein 상기 제 1메타 데이터를 갱신하는 단계는, 상기 비휘발성 저장 매체의 잔여 용량을 판단하는 단계; 및The updating of the first metadata includes: determining a remaining capacity of the nonvolatile storage medium; And 상기 판단 결과 상기 잔여 용량이 기준치 이하인 경우, 상기 제 2메타 데이터를 상기 저장 매체에 기록하는 단계를 포함하는 파일 시스템 관리 방법.And recording the second meta data on the storage medium when the remaining capacity is less than or equal to the reference value.
KR1020060132970A 2006-12-22 2006-12-22 Apparatus and method for managing file system KR20080058834A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060132970A KR20080058834A (en) 2006-12-22 2006-12-22 Apparatus and method for managing file system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060132970A KR20080058834A (en) 2006-12-22 2006-12-22 Apparatus and method for managing file system

Publications (1)

Publication Number Publication Date
KR20080058834A true KR20080058834A (en) 2008-06-26

Family

ID=39804143

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060132970A KR20080058834A (en) 2006-12-22 2006-12-22 Apparatus and method for managing file system

Country Status (1)

Country Link
KR (1) KR20080058834A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8656084B2 (en) 2009-02-27 2014-02-18 Samsung Electronics Co., Ltd. User device including flash memory storing index and index accessing method thereof
WO2017116186A1 (en) * 2015-12-31 2017-07-06 한양대학교 산학협력단 Protection method and protection device for metadata of file

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8656084B2 (en) 2009-02-27 2014-02-18 Samsung Electronics Co., Ltd. User device including flash memory storing index and index accessing method thereof
WO2017116186A1 (en) * 2015-12-31 2017-07-06 한양대학교 산학협력단 Protection method and protection device for metadata of file

Similar Documents

Publication Publication Date Title
US8819367B1 (en) Accelerated translation power recovery
US7231544B2 (en) Restoring data from point-in-time representations of the data
US6983351B2 (en) System and method to guarantee overwrite of expired data in a virtual tape server
US9478249B2 (en) Cache data management for program execution
KR101702201B1 (en) Optimized context drop for a solid state drive(ssd)
JP5002586B2 (en) Method for managing flash data structure, sleep management method, flash memory system, and storage medium
US7908512B2 (en) Method and system for cache-based dropped write protection in data storage systems
JP5947327B2 (en) Device, storage medium and method for file system backup for multiple storage medium devices
KR101870521B1 (en) Methods and systems for improving storage journaling
JP5669823B2 (en) System recovery method using change tracking
US9916323B2 (en) Support for worm cartridges realized by linear tape file system (LTFS)
US20060294438A1 (en) Method for data protection in disk array systems
US10083088B1 (en) Managing backup copies in cascaded data volumes
JP2010186341A (en) Memory system
US7055055B1 (en) Write cache flushing method for reducing data corruption
KR20080058834A (en) Apparatus and method for managing file system
EP1090348B1 (en) Method and apparatus for dealing with data corruption and shared disks in the context of saving, using and recovering data
US20140059291A1 (en) Method for protecting storage device data integrity in an external operating environment
US20070061530A1 (en) Method for storage of digital data in a mainframe data center and associated device
KR102145358B1 (en) Method and computer-readable medium emboding program for protecting data integrity of disk in alternate operating system environment
JP6242054B2 (en) Information processing apparatus, information processing method, and program
JP2007323377A (en) Recording apparatus, method for writing management data and method for repairing management data
KR101715039B1 (en) Apparatus for file processing and control method thereof
US8068305B2 (en) Secure data disposal for disk drive
Kuts et al. Deleted Data Recovery on Solid-State Drives by Software Based Methods

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination