KR100981064B1 - A method to maintain software raid consistency using journaling file system - Google Patents

A method to maintain software raid consistency using journaling file system Download PDF

Info

Publication number
KR100981064B1
KR100981064B1 KR1020090013455A KR20090013455A KR100981064B1 KR 100981064 B1 KR100981064 B1 KR 100981064B1 KR 1020090013455 A KR1020090013455 A KR 1020090013455A KR 20090013455 A KR20090013455 A KR 20090013455A KR 100981064 B1 KR100981064 B1 KR 100981064B1
Authority
KR
South Korea
Prior art keywords
transaction
journal
writing
disk
block
Prior art date
Application number
KR1020090013455A
Other languages
Korean (ko)
Other versions
KR20100094157A (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 KR1020090013455A priority Critical patent/KR100981064B1/en
Publication of KR20100094157A publication Critical patent/KR20100094157A/en
Application granted granted Critical
Publication of KR100981064B1 publication Critical patent/KR100981064B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3612Software analysis for verifying properties of programs by runtime analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 저널링 파일 시스템을 이용한 소프트웨어 레이드에서의 일관성 유지방법에 관한 것으로, 소프트웨어 레이드 시스템의 일관성 유지 방법에 있어서, 메모리 버퍼에 저널 트랜잭션 디스크립터 블록(TS)을 생성하는 제1단계와 상기 메모리 버퍼의 트랜잭션 영역에 데이터 블록을 등록하고 상기 저널 트랜잭션 디스크립터 블록에 홈로케이션을 업데이트하는 제2단계와 상기 메모리 버퍼의 트랜잭션 영역에 메타데이터 블록을 등록하고 상기 저널 트랜잭션 디스크립터 블록에 홈로케이션을 업데이트하는 제3단계와 상기 메모리 버퍼의 트랜잭션 영역을 모두 디스크의 저널 영역에 쓰는 제4단계와 상기 저널 트랜잭션 디스크립터 블록을 디스크에 쓰는 제5단계와 상기 트랜잭션 영역과 상기 저널 트랜잭션 디스크립터 블록의 쓰기 완료 신호를 대기하는 제6단계와 레이드 캐시 플러시 신호에 의해 레이드 캐시내의 데이터를 모두 비워 디스크에 기록하는 제7단계 및 저널 크랜잭션 종료 블록을 쓰고 쓰기 과정을 종료하는 제8단계를 포함하는 방법으로 이루어져, 추가적 비용부담이 없이 성능향상을 기대할 수 있다.The present invention relates to a method of maintaining consistency in a software RAID using a journaling file system, the method of maintaining consistency in a software RAID system, the method comprising: generating a journal transaction descriptor block (TS) in a memory buffer and a memory buffer A second step of registering a data block in a transaction area and updating a home location in the journal transaction descriptor block; and a third step of registering a metadata block in a transaction area of the memory buffer and updating a home location in the journal transaction descriptor block. And a fourth step of writing both the transaction area of the memory buffer to the journal area of the disk and the fifth step of writing the journal transaction descriptor block to the disk and waiting for a write completion signal of the transaction area and the journal transaction descriptor block. The method includes a sixth step and a seventh step of writing all the data in the RAID cache to the disk by the RAID cache flush signal, and an eighth step of writing a journal transaction termination block and ending the writing process. Performance can be expected without any burden.

소프트웨어 레이드, 저널링 파일 시스템, 일관성, 레이드 캐쉬, 플러쉬 Software Raid, Journaling File System, Consistency, Raid Cache, Flush

Description

저널링 파일 시스템을 이용한 소프트웨어 레이드에서의 일관성 유지방법{A METHOD TO MAINTAIN SOFTWARE RAID CONSISTENCY USING JOURNALING FILE SYSTEM} How to maintain consistency in software RAID using journaling file system {A METHOD TO MAINTAIN SOFTWARE RAID CONSISTENCY USING JOURNALING FILE SYSTEM}

본 발명은 레이드 기술 특히 소프트 레이드에 있어서 일관성 유지방법에 관한 것이다.The present invention relates to a method of maintaining consistency in raid technology, in particular soft raid.

레이드(Redundancy Array of Independent Disks : RAID) 기술은 다수개의 디스크를 하나의 디스크처럼 사용가능 하도록 하는 1980년대 개발된 기술로 현재에 이르기까지 계속적인 발전을 해오고 있다. 이러한 레이드 기술은 여러 디스크의 용량을 합쳐서 하나의 디스크처럼 사용할 수 있다는 확장성 때문에 데이터의 보관 또는 서버 등의 용도로 널리 사용되고 있다. Redundancy Array of Independent Disks (RAID) technology is a technology developed in the 1980s that allows multiple disks to be used as a single disk. Such a RAID technology is widely used for storing data or a server because of the scalability that the capacity of several disks can be combined and used as a single disk.

레이드 기술에서 쓰기 기능은 일반적인 디스크의 쓰기와 비교할 때 시간, 계산 등의 면에서 좀 더 많은 비용이 든다. 한편, 디스크에서의 쓰기는 읽기와는 달리 명령이 내려지는 즉시 디스크에 쓰여질 필요는 없다. 이러한 상황에서 성능의 이득을 보기 위해서 레이드는 일반적으로 캐쉬(Cache)를 지니게 된다.In RAID technology, the write function is more expensive in terms of time, calculation, and so on, compared to writing to a normal disk. On the other hand, writes to disk do not need to be written to disk as soon as the command is issued, unlike reads. In this situation, in order to benefit from the performance, the raid will generally have a cache.

레이드 관리를 위해서는 전통적으로 비휘발성 램(Non-Volatile Random Access Memory, NVRAM)을 가지고 있는 레이드 컨트롤러가 하드웨어로써 따로 구성되어 관리를 해왔다. 이러한 방법은 레이드 데이터의 일관성을 유지하는 동시에 호스트 시스템에 부하를 주지 않으면서 레이드를 관리할 수 있다는 장점이 있으나, 가격이 비싸고 호환성이 부족하다는 단점도 존재한다.For RAID management, RAID controllers, which traditionally have non-volatile random access memory (NVRAM), have been separately managed as hardware. This method has the advantage of maintaining the consistency of the raid data and managing the blade without putting a load on the host system, but also has the disadvantage of being expensive and incompatible.

이러한 단점을 보완하기 위해서, 하드웨어적인 방식이 아닌 소프트웨어적인 방식의 레이드 기술이 등장하였으며, 이에 따라 전자를 하드웨어 레이드(Hardware RAID)라고 부르고 후자를 소프트웨어 레이드(Software RAID)라고 부르며 구별하고 있다.In order to make up for these drawbacks, a RAID technology, rather than a hardware method, has emerged. Accordingly, the former is called a hardware RAID and the latter is called a software RAID.

먼저, 발명의 발단이 되는 일관성(Consistency) 문제를 설명한다. First, the consistency problem that leads to the invention will be described.

일반적으로 쓰기 작업이 발생하면, 호스트 시스템의 운영체제는 상기 쓰기 작업과 관련된 직접적인 데이터와 상기 데이터에 따라 변화되는 파일 및 디스크에 관한 정보를 기술하는 데이터인 복수의 메타데이터(metadata)를 디스크(싱글 또는 레이드 등)에 저장하게 된다.In general, when a write operation occurs, the operating system of the host system stores a plurality of metadata (single or single metadata), which is data describing direct data related to the write operation and information about a file and a disk changed according to the data. Raid, etc.).

만약, 쓰기 작업이 중간에 정지되면, 직접적인 데이터는 써지되 메타데이터는 써지지 않는 경우가 있고, 반대로 메타데이터는 써지되 직접적인 데이터는 써지지 않는 경우도 있다. 또한, 복수의 메타데이터 가운데 일부만 쓰여진 채 쓰기가 더 이상 진행되지 않는 경우도 있고, 메타데이터는 다 써졌으나 데이터가 일부만 써진 경우도 있을 수 있다. 물론, 운영체제의 쓰기 메커니즘에 따라 위의 경우 가 운데 일부는 발생하지 않을 수도 있지만, 적어도 하나 이상의 경우가 어느 시스템에서든지 발생할 수 있다.If a write operation is stopped in the middle, direct data may be written but metadata may not be written. In contrast, metadata may be written but direct data may not be written. In addition, the writing may not proceed anymore while only a part of the plurality of metadata is written, or the metadata may be used up but only part of the data may be written. Of course, depending on the write mechanism of the operating system, some of the above cases may not occur, but at least one or more cases may occur on any system.

상기와 같은 문제가 발생하게 되면, 현재 디스크에 저장되어 있는 파일들을 가리키고 있는 디렉토리 파일(directory file) 등에 문제가 생기게 되고, 상기 파일들에 제대로 접근할 수 없는 현상, 접근이 가능한 것으로 파일 시스템 상에서 나타나는 파일의 데이터 결손 현상, 쓰기 작업이 실제로 옳바르게 진행되지 않았으나 이러한 작업이 모두 진행되었다고 판단하고 그 만큼의 디스크 용량을 쓸 수 없게 되는 현상 등과 같은 디스크의 이상 현상들이 발생할 수 있다.When the above problem occurs, there is a problem in the directory file pointing to the files currently stored on the disk, etc., and the files cannot be accessed properly. Disk abnormalities such as data loss of a file or writing may not be performed correctly, but it is determined that all of these operations are performed and the amount of disk capacity cannot be written.

이를 일관성 문제라고 부르며, 보다 정확하게는 파일 시스템의 일관성(consistency) 문제라고 부른다. 이러한 문제는 일반적인 모든 디스크에서 발생할 수 있다. 즉, 싱글 디스크과 레이드 시스템 모두에서 발생할 수 있는 문제이다.This is called a consistency problem and, more precisely, a file system consistency problem. This problem can occur with all common disks. This is a problem that can occur in both single disk and RAID systems.

상기 소프트웨어 레이드의 경우 시간, 계산 등의 비용이 적고, 발전된 환경의 호스트 시스템과 어울린다는 장점을 가지고 있다. 다만, 호스트 시스템의 휘발성 메모리를 레이드 캐쉬로 사용하므로 일관성에 문제를 가지고 있다. In the case of the software RAID, the cost of time, calculation, etc. is low, and has the advantage of matching with the host system of the advanced environment. However, there is a problem in consistency because volatile memory of the host system is used as a RAID cache.

이러한 일관성 문제를 해결하기 위해서는, 캐쉬에 저장됨과 동시에 디스크의 쓰기를 수행하는 라이트-쓰루 캐쉬(write-through cache) 메카니즘을 이용해야 한다. 다만, 상기 라이트-쓰루 캐쉬(write-through cache) 메카니즘의 경우 쓰기 성능을 심하게 저해하는 문제가 있으며, 이를 개선하기 위해 라이트-백 캐쉬(write-back cache, 수정된 데이터를 일정 시간을 기다린 후에 디스크에 쓰는 방식) 메카니즘을 사용하는 경우 일관성(Consistency)과 관련하여 문제점이 발생할 수 있다. To solve this consistency problem, we need to use a write-through cache mechanism that writes to the disk and writes to the disk at the same time. However, in the case of the write-through cache mechanism, there is a problem that severely impairs the write performance, and in order to improve this, the write-back cache (write-back cache, modified data is waited for a predetermined time after disk). Mechanisms can cause problems with consistency.

본 발명은 상기한 바와 같은 일관성문제를 해결하기 위해 안출된 것으로, 비휘발성 메모리를 사용하는 등의 별도의 하드웨어적인 추가 없이, 소프트웨어 레이드에서 일관성의 문제를 해결하는 동시에 최선의 성능을 발휘할 수 있는 저널링 파일 시스템을 이용한 소프트웨어 레이드에서의 일관성 유지방법을 제공하는데 그 목적이 있다.The present invention has been made to solve the above-mentioned consistency problem, journaling that can achieve the best performance while solving the problem of consistency in the software blade, without the addition of additional hardware, such as using a non-volatile memory Its purpose is to provide a method of maintaining consistency in software RAID using a file system.

또한, 소프트웨어 레이드 시스템에서 별도의 하드웨어 장치가 필요없어서 추가적 비용의 부담없이 성능의 향상을 제공하는데 그 목적이 있다.In addition, there is no need for a separate hardware device in a software RAID system, and its purpose is to provide an improvement in performance at no additional cost.

상기한 과제를 해결하기 위한 본 발명의 제1특징에 따른 저널링 파일 시스템을 이용한 소프트웨어 레이드에서의 일관성 유지방법은 메모리 버퍼에 저널 트랜잭션 디스크립터 블록(TS)을 생성하는 제1단계와, 상기 메모리 버퍼의 트랜잭션 영역에 데이터 블록을 등록하고 상기 저널 트랜잭션 디스크립터 블록에 홈로케이션을 업데이트하는 제2단계와, 상기 메모리 버퍼의 트랜잭션 영역에 메타데이터 블록을 등록하고 상기 저널 트랜잭션 디스크립터 블록에 홈로케이션을 업데이트하는 제3단계와, 상기 메모리 버퍼의 트랜잭션 영역을 모두 디스크의 저널 영역에 쓰는 제4단계와, 상기 저널 트랜잭션 디스크립터 블록을 디스크에 쓰는 제5단계와, 상기 트랜잭션 영역과 상기 저널 트랜잭션 디스크립터 블록의 쓰기 완료 신호를 대기하는 제 6단계와, 레이드 캐시 플러시 신호에 의해 레이드 캐시내의 데이터를 모두 비워 디스크에 기록하는 제7단계 및 저널 트랜잭션 종료 블록을 쓰고 쓰기 과정을 종료하는 제8단계를 포함한다.According to a first aspect of the present invention, there is provided a method for maintaining consistency in a software RAID using a journaling file system, the method comprising: generating a journal transaction descriptor block (TS) in a memory buffer; Registering a data block in a transaction area and updating a home location in the journal transaction descriptor block; and registering a metadata block in a transaction area of the memory buffer and updating a home location in the journal transaction descriptor block. A fourth step of writing all the transaction areas of the memory buffer to the journal area of the disk, a fifth step of writing the journal transaction descriptor block to the disk, and a write completion signal of the transaction area and the journal transaction descriptor block. Sixth stage of waiting, raid A seventh step of emptying all the data in the RAID cache by the cache flush signal and writing the data to the disk; and an eighth step of writing and ending the journal transaction end block.

또한, 본 발명의 제2특징에 따른 저널링 파일 시스템을 이용한 소프트웨어 레이드에서의 일관성 유지방법은 메모리 버퍼에 저널 트랜잭션 디스크립터 블록(TS)을 생성하는 제1단계와, 데이터 블록을 디스크상의 홈로케이션에 쓰는 제2단계와, 상기 메모리 버퍼의 트랜잭션 영역에 메타데이터 블록을 등록하고 상기 저널 트랜잭션 디스크립터 블록에 홈로케이션을 업데이트하며, 메타데이타를 디스크의 홈로케이션에 쓰는 제3단계와 상기 메모리 버퍼의 트랜잭션 영역을 모두 디스크의 저널 영역에 쓰는 제4단계와 상기 저널 트랜잭션 디스크립터 블록을 디스크에 쓰는 제5단계와 상기 트랜잭션 영역과 상기 저널 트랜잭션 디스크립터 블록의 쓰기 완료 신호를 대기하는 제6단계와 레이드 캐시 플러시 신호에 의해 레이드 캐시내의 데이터를 모두 비워 디스크에 기록하는 제7단계 및 저널 트랜잭션 종료 블록을 쓰고 쓰기 과정을 종료하는 제8단계를 포함한다.In addition, a method of maintaining consistency in a software RAID using a journaling file system according to a second aspect of the present invention includes a first step of generating a journal transaction descriptor block (TS) in a memory buffer, and writing the data block to a home location on disk. And a third step of registering a metadata block in the transaction area of the memory buffer, updating a home location in the journal transaction descriptor block, writing metadata to the home location of the disk, and a transaction area of the memory buffer. By the fourth step of writing to the journal area of the disk and the fifth step of writing the journal transaction descriptor block to the disk, and the sixth step of waiting for a write completion signal of the transaction area and the journal transaction descriptor block and the RAID cache flush signal. Clear all data in the RAID cache Writing the seventh step, and journals the transaction for recording the end block size and a eighth step to terminate the writing process.

또한, 본 발명의 제3특징에 따른 저널링 파일 시스템을 이용한 소프트웨어 레이드에서의 일관성 유지방법은 메모리 버퍼에 저널 트랜잭션 디스크립터 블록(TS)을 생성하는 제1단계와, 상기 메모리 버퍼의 트랜잭션 영역에 메타데이터 블록을 등록하고 상기 저널 트랜잭션 디스크립터 블록에 홈로케이션을 업데이트하며, 메타데이타를 디스크의 홈로케이션에 쓰는 제2단계와, 데이터 블록을 디스크상의 홈로케이션에 쓰는 제3단계와, 상기 메모리 버퍼의 트랜잭션 영역을 모두 디스크의 저널 영역에 쓰는 제4단계와, 상기 저널 트랜잭션 디스크립터 블록을 디스크에 쓰는 제5단계와 상기 트랜잭션 영역과 상기 저널 트랜잭션 디스크립터 블록의 쓰기 완료 신호를 대기하는 제6단계와 레이드 캐시 플러시 신호에 의해 레이드 캐시내의 데이터를 모두 비워 디스크에 기록하는 제7단계 및 저널 트랜잭션 종료 블록을 쓰고 쓰기 과정을 종료하는 제8단계를 포함하는 소프트웨어 레이드 시스템의 일관성 유지 방법을 포함한다.In addition, a method of maintaining consistency in a software RAID using a journaling file system according to a third aspect of the present invention comprises the steps of generating a journal transaction descriptor block (TS) in a memory buffer, and metadata in a transaction area of the memory buffer. A second step of registering a block and updating a home location in the journal transaction descriptor block, writing metadata to the home location of the disk, writing a data block to the home location on the disk, and a transaction area of the memory buffer. A fourth step of writing all the data to the journal area of the disk; the fifth step of writing the journal transaction descriptor block to the disk; and the sixth step of waiting for a write completion signal of the transaction area and the journal transaction descriptor block; and a cache cache flush signal. Empty all data in RAID cache by And a seventh step, and maintain consistency in the journal end of the transaction software RAID system including the eighth step to end the writing process to write the block method of recording the disc.

여기서 상기 트랜잭션의 상기 메타 데이터와 상기 데이터를 상기 디스크의 홈로케이션에 쓰는 제11단계와, 상기 제11단계의 쓰기가 완료되었음을 확인하는 제12단계와 레이드 캐시 플러시 신호에 의해 레이드 캐시내의 데이터를 모두 비워 디스크에 기록하는 제13단계와 디스크의 저널내 트랜잭션을 제거하여 다음 트랜잭션을 위한 공간 확보를 하는 제14단계를 포함할 수 있다.Here, the eleventh step of writing the metadata and the data of the transaction to the home location of the disk, the twelfth step of confirming that the writing of the eleventh step is completed, and the data in the RAID cache are performed by the RAID cache flush signal. A thirteenth step of writing to the disk, which is empty, and a fourteenth step of removing a transaction in the journal of the disk to secure space for the next transaction.

또한, 상기 제14단계 후에 시스템에 설정된 설정시간이 지난후 상기 11단계부터 상기 14단계를 반복할 수 있다.In addition, after the setting time set in the system after the fourteenth step may be repeated from the eleventh step to the fourteenth step.

또한, 상기 플러쉬 신호는 운영체제에서 발생할 수 있다.In addition, the flush signal may occur in an operating system.

상기한 바와 같이 본 발명에 따른 저널링 파일 시스템을 이용한 소프트웨어 레이드에서의 일관성 유지방법에 의하면, 저널링 파일 시스템의 동작원리를 이용하여 레이드 캐쉬 내에 존재하는 데이터들을 적절한 타이밍에 디스크에 쓰기를 함으로써 소프트웨어 레이드가 낼 수 있는 성능을 최대한 보전할 수 있는 효과가 있다.As described above, according to the method of maintaining consistency in a software RAID using the journaling file system according to the present invention, using the operation principle of the journaling file system, the software RAID is written by writing data existing in the blade cache to the disk at an appropriate timing. It has the effect of preserving the maximum possible performance.

또한, 싱글 시스템에서 일관성을 보장해주는 저널링 파일 시스템의 특성을 소프트웨어 레이드에서도 유지할 수 있도록 하여, 별도의 하드웨어 장치가 필요 없어 추가적 비용의 부담없이 안정적인 레이드 시스템을 구축할 수 있는 효과가 있다.In addition, it is possible to maintain the characteristics of the journaling file system that guarantees consistency in a single system, even in the software blade, it is possible to build a stable raid system without the additional cost without the need for a separate hardware device.

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

먼저, 위에서 언급한 일관성 문제에 대해서 싱글 디스크 시스템에서의 해결책 중 저널링 파일 시스템을 살펴본다.First, we look at the journaling file system among the solutions in the single disk system for the above-mentioned consistency problem.

저널링 파일 시스템은 호스트 시스템이 디스크 시스템에 쓰기를 할 때 거치는 과정에 있어서 기존에 사용되던 파일 시스템과 많은 차이가 있다. 저널링 파일 시스템은 디스크 시스템 내부 혹은 외부 (주로 내부) 디스크 시스템을 이용하여, 저널(Journal)이라는 영역을 예비해놓는다. 그리고 난 후, 특정한 쓰기 작업이 일어날 때, 데이터나 메타데이터가 저장되어야 할 디스크 시스템 내의 위치로 바로 저장되지 않고, 먼저 저널영역에 써진다. 하나의 쓰기작업에 연관된 모든 데이터와 메타데이터를 저널 영역에 몰아서 써두고, 이 데이터와 메타데이터 스트림을 도1에서 도시한 바와 같은 트랜잭션(Transaction)이라는 단위로 묶어 둔다. 이러한 식으로, 몇 개의 트랜잭션을 저널영역에 쓴 후, 백그라운드 작업을 통해, 완벽하게 저널 영역에 쓰여진 어떤 트랜잭션을 디스크 시스템의 원래 위치에 써준다. 원래 위치에도 모두 잘 썼다면, 다음 쓰기 작업이 필요로 하는 저널영역의 공간을 위해 그 트랜잭션을 저널에서 지워준다. The journaling file system differs from the file system used in the past when the host system writes to the disk system. The journaling file system uses an internal or external (mostly internal) disk system to reserve an area called journal. Then, when a particular write operation occurs, the data or metadata is first written to the journal area rather than being saved directly to a location on the disk system where it should be stored. All data and metadata related to one write operation are written in a journal area, and the data and metadata streams are grouped in a transaction unit as shown in FIG. In this way, some transactions are written to the journal area, and then a background job is used to write any transaction written completely to the journal area to its original location on the disk system. If everything is well written to the original location, the transaction is removed from the journal for space in the journal area that the next write operation requires.

이렇게 함으로써, 전력 실패(Power failure)가 일어난 경우에도, 디스크 시스템의 일관성을 유지하는 것이 가능하다. 예를 들어, 쓰기 작업 도중에 전력실패에 의해 작업이 중단되었다면 그 결과가 각각 디스크 시스템과 저널 영역에 남아 있을 것이다. 디스크 시스템에 쓰여지다가 중단된 작업은 저널링 파일 시스템에 의하면, 분명 저널 영역에 완벽하게 써진 트랜잭션 형태로 존재하는 작업이다. 재부팅 혹은 재마운트 시에 저널 영역을 스캔함으로써 빠른 시간에 이 작업에 대한 완료가 가능하다. 한편, 저널 영역에 쓰다가 중단된 작업도 있다. 이 경우, 불완전한 트랜잭션이 저널에 써지다가 만 형태로 남아있을 것이다. 이 트랜잭션의 경우는 재부팅 혹은 재마운트 시에 무시함으로써, 본래의 파일 시스템에 일관성을 가져올 수 있다. 정리하면, 전력 실패시에 나타날 수 있는 모든 케이스에 대해 회복 혹은 일관성을 해치지 않도록 무시해주는 방법을 취함으로써 일관성 문제를 피하는 것이 가능하다. By doing so, it is possible to maintain the consistency of the disk system even in the event of a power failure. For example, if a task was interrupted by a power failure during a write operation, the results would remain in the disk system and journal area, respectively. Jobs that were written to the disk system and then stopped were, according to the journaling file system, jobs that clearly exist in the form of transactions written completely to the journal area. This can be done quickly by scanning the journal area at reboot or remount. On the other hand, some work has been stopped while writing to the journal area. In this case, incomplete transactions will be written to the journal and remain in bay form. This transaction can be ignored at reboot or remount, bringing consistency to the original file system. In summary, it is possible to avoid consistency problems by taking a method that ignores all cases that might appear in the event of a power failure so as not to compromise recovery or consistency.

다음으로 레이드 시스템에서의 일관성 문제를 살펴보자. 하드웨어 레이드 시스템의 경우는 하드웨어적으로 문제를 보완한다. 전력실패가 생겨도, 데이터가 소실되지 않는 비휘발성 메모리를 하드웨어 레이드 시스템 컨트롤러에 부착하여 이를 레이드 캐쉬로 사용하여, 읽기와 쓰기의 성능향상은 물론 일관성 문제의 해결 효과까지 볼 수 있다. 코스트가 발생한다는 단점이 있지만, 성능과 일관성 문제 측면에서 봤을 때 최적의 해법이다. Next, let's look at consistency issues in the raid system. In the case of a hardware RAID system, the hardware is used to compensate for the problem. In the event of a power failure, non-volatile memory that does not lose data can be attached to the hardware RAID system controller and used as a cache for the cache to improve read and write performance as well as solve consistency problems. It has the disadvantage of cost, but it is the best solution in terms of performance and consistency issues.

반면 도2에서 도시된 바와 같이 구성되는 소프트웨어 레이드 시스템은 싱글 디스크 시스템의 형태로 호스트 시스템에 인식이 되는 결과, 싱글 디스크 시스템이 사용했던 방법으로 레이드 시스템에서 발생하는 일관성문제를 완벽하게 해결하는 것은 불가능하다. On the other hand, the software RAID system configured as shown in FIG. 2 is recognized by the host system in the form of a single disk system. As a result, it is impossible to completely solve the consistency problem occurring in the RAID system by the method used by the single disk system. Do.

이는 앞에서 언급되었던, 레이드 시스템이 읽기와 쓰기의 성능향상을 위해 사용하는 레이드 캐쉬 때문이다. 싱글 디스크 시스템에서 문제를 해결했던 저널링 파일 시스템은 레이드가 아닌 싱글 디스크 시스템을 위한 파일 시스템이기 때문에, 레이드 캐쉬의 존재를 알지 못한다. 만약, 전력실패가 발생한 경우 호스트 시스템의 메모리를 빌려와서 사용하고 있는 레이드 캐쉬 내의 데이터도 소실이 되게 된다. This is due to the blade cache used by the RAID system to improve read and write performance. The journaling file system that solved the problem on a single disk system is not a raid, but a file system for a single disk system. If a power failure occurs, data in the cache used by borrowing the memory of the host system is also lost.

레이드 캐쉬라는 것은 도2에 도시된 바와 같이 레이드 시스템 내부에 존재하는 것이기 때문에, 이 캐쉬에 저장된 데이터를 저널링 파일 시스템은 이미 디스크에 저장된 데이터로 생각하게 된다. 이 가정 하에서 원래의 저널링 파일 시스템이 의도했던 해법이 적용이 될 수 있는데, 앞에서 설명하였듯이 소프트웨어 레이드 캐쉬는 휘발성 메모리의 일부이므로, 위에서 언급된 일관성문제의 해결이 소프트웨어 레이드 시스템에서는 성립될 수 없다.Since the cache is what exists inside the RAID system as shown in Fig. 2, the data stored in this cache is regarded as the data already stored on the disk. Under this assumption, the solution intended by the original journaling file system can be applied. As described above, since the software RAID cache is part of volatile memory, the above-mentioned solution to the consistency problem cannot be achieved in the software RAID system.

본 발명은 저널링 파일시스템의 동작원리를 이용하여 소프트웨어 레이드의 일관성 문제를 해결하는 방법을 안출하여 싱글 디스크 시스템의 일관성 문제 해법으로 제시된 저널링 파일 시스템이 레이드 캐쉬 구조로 인해 레이드 시스템에는 적용될 수 없는 부분에 대해 고려하여 소프트웨어 레이드 시스템도 저널링 파일 시스 템과 같은 방법의 일관성 문제 해결이 가능하도록 하였는바, 본 발명에서 취한 방법에 대해서는 아래에 자세히 설명토록 한다.The present invention proposes a method of solving the consistency problem of a software blade by using the operation principle of the journaling file system, so that the journaling file system presented as a solution of the consistency problem of a single disk system cannot be applied to the RAID system due to the cache structure. In consideration of this, the software RAID system is also able to solve the consistency problem of the same method as the journaling file system, the method taken in the present invention will be described in detail below.

저널링 파일 시스템은 쓰기 작업시에 도3a에서 도시된 바와 같은 순서도를 따라서 과정을 진행하며 이와 동시에 쓰기작업과 별개로 백그라운드에서 주기적으로 도4a의 순서도와 같은 흐름을 지니는 체크포인팅 프로세스를 가진다. 트랜잭션이 생성되었다는 것을 나타내는 스타트 블록(TS)을 먼저 만들게 되고, 데이터와 메타데이터를 저장한 후에, 트랜잭션 쓰기가 완료되었다는 것을 나타내는 커밋 블록(TC)을 마지막으로 쓰게 된다.The journaling file system proceeds according to the flow chart shown in FIG. 3A at the time of the write operation, and at the same time has a checkpointing process having the flow of the flow chart of FIG. 4A periodically in the background separately from the write operation. A start block (TS) is created first to indicate that a transaction has been created, and then a commit block (TC) is written to indicate that a transaction write is completed.

이렇게 저널영역에 완벽히 써진 트랜잭션은 디스크의 데이터와 메타데이터의 원래 위치에 다시 한번 써진다. 한 번의 쓰기작업에 의해 디스크에 쓰는 과정은, 같은 데이터와 메타데이터에 대해 두 번 발생하게 된다. Transactions that are completely written to the journal area are written back to their original locations on disk and in metadata. The process of writing to disk by one write operation occurs twice for the same data and metadata.

첫번째로 본 발명은 쓰기 과정 중 S171과 같이 레이드 캐시 플러시 신호에 의한 레이드 캐시의 데이타를 디스크에 옮기는 과정을 추가하여 커밋 블록(TC)이 써지기 바로 직전 도5와 같이 레이드 시스템으로 캐쉬 플러쉬 신호를 보내주어 도6과 같이 레이드 캐쉬내의 데이터를 모두 비워준다. 이를 레이드 캐쉬의 플러쉬(Flush) 동작이라고 하는데, 이렇게 하면 커밋 블록(TC)이 써지는 순간, 트랜잭션의 데이터와 메타데이터는 도6과 같이 모두 디스크 내부에 있게 된다. 이를 통해 싱글 디스크 시스템의 경우와 같은 일관성 유지 상태로 만들어 주는 것이다. First, the present invention adds a process of transferring the data of the RAID cache by the RAID cache flush signal to the disk, such as S171, to write the cache flush signal to the RAID system immediately before the commit block (TC) is written. Send it to empty all data in the raid cache as shown in FIG. This is called flush operation of the RAID cache. In this case, as soon as the commit block (TC) is written, the data and metadata of the transaction are all in the disk as shown in FIG. This ensures the same consistent state as for single disk systems.

이때, 임의의 트랜잭션이 실제로 디스크상에 들어가야 하는 위치를 홈로케이 션이라고 하며, 홈로케이션을 기록하고 있는 것은 저널 트랜잭션 디스크립션 블록(TS)이다.At this time, the location where any transaction should actually enter on the disk is called home location, and the home transaction is recorded in the journal transaction description block TS.

두 번째로, 체크포인팅 프로세스 중 트랜잭션의 데이터와 메타데이터의 디스크 내 원래 위치에 쓰기를 한 후, 저널 내의 트랜잭션을 지우기 직전 S232와 같이 레이드 캐쉬의 데이터를 비워준다. 이렇게 하여, 모든 데이터와 메타데이터가 디스크에 존재하게 되는 상태를 확인한 후, 저널 내의 트랜잭션을 지우도록 한다.Second, after writing the transaction's data and metadata to the original location on disk during the checkpointing process, the data in the RAID cache is emptied as in S232 just before deleting the transaction in the journal. This ensures that all data and metadata are present on disk and then clears the transactions in the journal.

위와 같은 두가지 방법에 의해 소프드웨어 레이드 시스템의 일관성이 유지될 수 있다.The above two methods can maintain the consistency of the software RAID system.

저널링 파일 시스템에는 총 세 가지의 모드가 존재한다. 위에서 설명되었던 모드는 저널 모드로서 트랜잭션 내에 데이터와 메타데이터를 모두 담아두는 형태이다.There are three modes in the journaling file system. The mode described above is journal mode, which holds both data and metadata in a transaction.

오더드 (Ordered) 모드의 경우 데이터는 바로 원래의 위치로 쓰기를 하고, 메타데이터만 저널 영역과 원래의 디스크에 한번씩 쓰는 방식이다. In ordered mode, data is written to its original location, and only metadata is written once to the journal area and the original disk.

라이트백(Write-back)모드의 경우는 오더드 모드와 같은 방식이지만, 연관된 데이터와 메타데이터의 쓰기를 순서화 하지 않고 쓰게 된다. Write-back mode is the same as ordered mode, but writes the associated data and metadata in unordered order.

각 모드들이 쓰기작업을 수행하는 방식은 약간씩 다르지만, 첫번째로 트랜잭션의 커밋에 앞서 레이드 캐쉬를 플러쉬하고, 두번째로 트랜잭션 내의 메타데이터 혹은 데이터를 원래 위치에 다 쓰고 저널 트랜잭션을 지우기에 앞서 플러쉬를 하는 본 발명의 기본 실시에 의해 본 발명의 목적을 동일하게 달성할 수 있다.The way each mode writes is slightly different, but first it flushes the RAID cache before committing the transaction, and secondly flushes the metadata or data in the transaction to its original location and flushes it before deleting the journal transaction. By the basic implementation of the present invention, the object of the present invention can be achieved in the same way.

이상과 같이 본 발명에 따른 저널링 파일 시스템을 이용한 소프트웨어 레이드에서의 일관성 유지방법을 예시한 도면을 참조로 하여 설명하였으나, 본 명세서에 개시된 실시예와 도면에 의해 본 발명이 한정되는 것은 아니며, 본 발명의 기술사상 범위내에서 당업자에 의해 다양한 변형이 이루어질 수 있음은 물론이다.As described above with reference to the drawings illustrating a method of maintaining consistency in a software RAID using the journaling file system according to the present invention, the present invention is not limited by the embodiments and drawings disclosed herein, the present invention Of course, various modifications can be made by those skilled in the art within the scope of the technical idea.

도1은 저널 영역에 쓰이게 되는 트랜잭션의 구조를 나타내는 도면이다.1 is a diagram showing the structure of a transaction to be used in a journal area.

도2는 레이드 (RAID, Redundancy Array of Independent Disks) 시스템의 구조 도면이다.2 is a structural diagram of a RAID (Redundancy Array of Independent Disks) system.

도3a는 저널링 시스템에서 쓰기 작업을 단계로 나타낸다.3A shows the write operation in stages in a journaling system.

도3b는 본 발명에 의한 레이드 시스템 쓰기 작업에 대해서 레이드 캐시 플러시 신호를 수신한 후 레이드 캐시를 비우게 되는 과정을 추가한 쓰기작업을 나타낸다.3B illustrates a write operation in which a RAID cache is flushed after receiving a RAID cache flush signal for a RAID system write operation according to the present invention.

도4a는 저널링 시스템에서의 체크포인팅 프로세스를 나타낸다.4A illustrates a checkpointing process in a journaling system.

도4b는 본발명에 의한 레이드 시스템 쓰기 작업에 대해서 체크포인팅 프로세스 중 레이드 캐시 플러시 신호를 수신한 후 레이드 캐시를 비우게 되는 과정을 추가한 체크포인팅 프로세스를 나타낸다.4B illustrates a checkpointing process in which a RAID cache is flushed after receiving a RAID cache flush signal during a checkpointing process for a RAID system write operation according to the present invention.

도5는 본발명에 의한 신호로서 레이드 캐쉬의 내용을 디스크로 옮기고 레이드 캐쉬를 비우는 레이드 캐쉬의 플러쉬(Flush)신호와 RAID간의 관계를 나타낸다.Fig. 5 shows the relationship between the flush signal and RAID of the RAID cache which transfers the contents of the RAID cache to the disk and empties the RAID cache as a signal according to the present invention.

도6은 본발명에 의한 레이드 캐쉬의 플러쉬(Flush)신호에 의해 레이드 캐쉬의 내용이 신호 전후 어떻게 디스크로 옮겨졌는지를 나타낸다.6 shows how the contents of the RAID cache are transferred to the disk before and after the signal by the flush signal of the RAID cache according to the present invention.

< 도면의 주요 부분에 대한 부호의 설명 ><Description of Symbols for Main Parts of Drawings>

TS : 저널 트랜잭션 디스크립션 블록( 트랜잭션의 시작을 나타내는 블록이며 홈로케이션을 저장한다.)TS: Journal transaction description block (block that indicates the start of a transaction and stores home location)

TC : 저널 트랜잭션 종료 블록 (트랜잭션의 종료를 나타내는 블록)TC: Journal transaction end block (block indicating end of transaction)

DATA : 호스트 컴퓨터 시스템에서 디스크상에 쓰려고 하는 내용DATA: The contents of the host computer system to write to the disk

Meta-Data : DATA의 길이, 생성시간등 부가적 정보를 가진 데이타Meta-Data: Data with additional information such as length of data and creation time

100 : 컴퓨터 운영체제(OS)100: computer operating system (OS)

A : 레이드 캐쉬 플러시 신호A: Raid Cache Flush Signal

Claims (7)

소프트웨어 레이드 시스템의 일관성 유지 방법에 있어서,In the method of maintaining the consistency of the software blade system, 메모리 버퍼에 저널 트랜잭션 디스크립터 블록(TS)을 생성하는 제1단계;Generating a journal transaction descriptor block (TS) in a memory buffer; 상기 메모리 버퍼의 트랜잭션 영역에 데이터 블록을 등록하고 상기 저널 트랜잭션 디스크립터 블록에 홈로케이션을 업데이트하는 제2단계;Registering a data block in a transaction area of the memory buffer and updating a home location in the journal transaction descriptor block; 상기 메모리 버퍼의 트랜잭션 영역에 메타데이터 블록을 등록하고 상기 저널 트랜잭션 디스크립터 블록에 홈로케이션을 업데이트하는 제3단계;Registering a metadata block in a transaction area of the memory buffer and updating a home location in the journal transaction descriptor block; 상기 메모리 버퍼의 트랜잭션 영역을 모두 디스크의 저널 영역에 쓰는 제4단계;A fourth step of writing all of the transaction area of the memory buffer to the journal area of the disk; 상기 저널 트랜잭션 디스크립터 블록을 디스크에 쓰는 제5단계;A fifth step of writing the journal transaction descriptor block to a disk; 상기 트랜잭션 영역과 상기 저널 트랜잭션 디스크립터 블록의 쓰기 완료 신호를 대기하는 제6단계; A sixth step of waiting for a write completion signal of the transaction area and the journal transaction descriptor block; 상기 6단계 종료후 발생하는 레이드 캐시 플러시 신호에 의해 레이드 캐시내의 데이터를 모두 비워 디스크에 기록하는 제7단계; 및A seventh step of emptying all data in the RAID cache by the RAID cache flush signal generated after the completion of the sixth step; And 상기 7단계의 종료후 저널 트랜잭션 종료 블록을 쓰고 쓰기 과정을 종료하는 제8단계를 포함하는 소프트웨어 레이드 시스템의 일관성 유지 방법.And an eighth step of writing a journal transaction termination block and ending a writing process after the termination of the seventh step. 소프트웨어 레이드 시스템의 일관성 유지 방법에 있어서,In the method of maintaining the consistency of the software blade system, 메모리 버퍼에 저널 트랜잭션 디스크립터 블록(TS)을 생성하는 제1단계;Generating a journal transaction descriptor block (TS) in a memory buffer; 데이터 블록을 디스크상의 홈로케이션에 쓰는 제2단계;Writing a data block to a home location on a disk; 상기 메모리 버퍼의 트랜잭션 영역에 메타데이터 블록을 등록하고 상기 저널 트랜잭션 디스크립터 블록에 홈로케이션을 업데이트하며, 메타데이타를 디스크의 홈로케이션에 쓰는 제3단계;Registering a metadata block in the transaction area of the memory buffer, updating a home location in the journal transaction descriptor block, and writing metadata to the home location of the disk; 상기 메모리 버퍼의 트랜잭션 영역을 모두 디스크의 저널 영역에 쓰는 제4단계;A fourth step of writing all of the transaction area of the memory buffer to the journal area of the disk; 상기 저널 트랜잭션 디스크립터 블록을 디스크에 쓰는 제5단계;A fifth step of writing the journal transaction descriptor block to a disk; 상기 트랜잭션 영역과 상기 저널 트랜잭션 디스크립터 블록의 쓰기 완료 신호를 대기하는 제6단계; A sixth step of waiting for a write completion signal of the transaction area and the journal transaction descriptor block; 상기 6단계의 종료후 발생하는 레이드 캐시 플러시 신호에 의해 레이드 캐시내의 데이터를 모두 비워 디스크에 기록하는 제7단계; 및A seventh step of emptying all data in the RAID cache by the RAID cache flush signal generated after the end of the sixth step; And 상기 7단계의 종료후 저널 트랜잭션 종료 블록을 쓰고 쓰기 과정을 종료하는 제8단계를 포함하는 소프트웨어 레이드 시스템의 일관성 유지 방법.And an eighth step of writing a journal transaction termination block and ending a writing process after the termination of the seventh step. 소프트웨어 레이드 시스템의 일관성 유지 방법에 있어서,In the method of maintaining the consistency of the software blade system, 메모리 버퍼에 저널 트랜잭션 디스크립터 블록(TS)을 생성하는 제1단계;Generating a journal transaction descriptor block (TS) in a memory buffer; 상기 메모리 버퍼의 트랜잭션 영역에 메타데이터 블록을 등록하고 상기 저널 트랜잭션 디스크립터 블록에 홈로케이션을 업데이트하며, 메타데이타를 디스크의 홈로케이션에 쓰는 제2단계;Registering a metadata block in the transaction area of the memory buffer, updating a home location in the journal transaction descriptor block, and writing the metadata to the home location of the disk; 데이터 블록을 디스크상의 홈로케이션에 쓰는 제3단계;Writing a data block to a home location on a disk; 상기 메모리 버퍼의 트랜잭션 영역을 모두 디스크의 저널 영역에 쓰는 제4단계;A fourth step of writing all of the transaction area of the memory buffer to the journal area of the disk; 상기 저널 트랜잭션 디스크립터 블록을 디스크에 쓰는 제5단계;A fifth step of writing the journal transaction descriptor block to a disk; 상기 트랜잭션 영역과 상기 저널 트랜잭션 디스크립터 블록의 쓰기 완료 신호를 대기하는 제6단계; A sixth step of waiting for a write completion signal of the transaction area and the journal transaction descriptor block; 상기 6단계의 종료후 발생하는 레이드 캐시 플러시 신호에 의해 레이드 캐시내의 데이터를 모두 비워 디스크에 기록하는 제7단계; 및A seventh step of emptying all data in the RAID cache by the RAID cache flush signal generated after the end of the sixth step; And 상기 7단계의 종료후 저널 트랜잭션 종료 블록을 쓰고 쓰기 과정을 종료하는 제8단계를 포함하는 소프트웨어 레이드 시스템의 일관성 유지 방법.And an eighth step of writing a journal transaction termination block and ending a writing process after the termination of the seventh step. 청구항 1항 내지 청구항 3항 중 어느 하나의 청구항에 있어서,The method according to any one of claims 1 to 3, 상기 트랜잭션의 상기 메타 데이터와 상기 데이터를 상기 디스크의 홈로케이션에 쓰는 제11단계;An eleventh step of writing the metadata of the transaction and the data to a home location of the disk; 상기 제11단계의 쓰기가 완료되었음을 확인하는 제12단계;A twelfth step of confirming that the writing of the eleventh step is completed; 상기 제12단계의 종료후 발생하는 레이드 캐시 플러시 신호에 의해 레이드 캐시내의 데이터를 모두 비워 디스크에 기록하는 제13단계;A thirteenth step in which all data in the RAID cache are emptied and written to the disk by the RAID cache flush signal generated after the completion of the twelfth step; 상기 제13단계의 종료후 디스크의 저널내 트랜잭션을 제거하여 다음 트랜잭 션을 위한 공간 확보를 하는 제14단계를 포함하는 소프트웨어 레이드 시스템의 일관성 유지 방법.And removing the intra-journal transaction of the disk after the terminating of the thirteenth step to secure space for the next transaction. 청구항 4항에 있어서,The method according to claim 4, 상기 제14단계 후에, 시스템에 기설정된 설정시간 경과 후 상기 제11단계부터 상기 제14단계를 반복하는 것을 특징으로 하는 소프트웨어 레이드 시스템의 일관성 유지 방법.And after the fourteenth step, repeating the fourteenth step from the eleventh step after a preset time period set in the system. 청구항 1항 내지 청구항 제3항 중 어느 하나의 청구항에 있어서,The method according to any one of claims 1 to 3, 상기 플러쉬 신호는 운영체제에서 발생하는 것을 특징으로 하는 소프트웨어 레이드 시스템 일관성 유지방법.And the flush signal is generated by an operating system. 청구항 4항에 있어서,The method according to claim 4, 상기 플러쉬 신호는 운영체제에서 발생하는 것을 특징으로 하는 소프트웨어 레이드 시스템 일관성 유지방법.And the flush signal is generated by an operating system.
KR1020090013455A 2009-02-18 2009-02-18 A method to maintain software raid consistency using journaling file system KR100981064B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090013455A KR100981064B1 (en) 2009-02-18 2009-02-18 A method to maintain software raid consistency using journaling file system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090013455A KR100981064B1 (en) 2009-02-18 2009-02-18 A method to maintain software raid consistency using journaling file system

Publications (2)

Publication Number Publication Date
KR20100094157A KR20100094157A (en) 2010-08-26
KR100981064B1 true KR100981064B1 (en) 2010-09-09

Family

ID=42758371

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090013455A KR100981064B1 (en) 2009-02-18 2009-02-18 A method to maintain software raid consistency using journaling file system

Country Status (1)

Country Link
KR (1) KR100981064B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10346368B2 (en) 2014-06-30 2019-07-09 Research & Business Foundation Sungkyunkwan University Method and apparatus of per-block-group journaling for ordered mode journaling file system
US11487663B2 (en) 2018-09-27 2022-11-01 Samsung Electronics Co., Ltd. Method of operating storage device, storage device performing the same and storage system including the same

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101629270B1 (en) * 2014-07-10 2016-06-10 국방과학연구소 System for multi-layer architecture base on distributed battlefield simulation management
CN108733309B (en) * 2017-04-17 2021-06-11 伊姆西Ip控股有限责任公司 Storage management method, apparatus and computer readable medium
CN114237500B (en) * 2021-12-09 2024-08-09 北京美信时代科技有限公司 Method and system for improving writing efficiency through caching transaction

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5341381A (en) 1992-01-21 1994-08-23 Tandem Computers, Incorporated Redundant array parity caching system
US20050223180A1 (en) 2004-03-31 2005-10-06 Philip Derbeko Accelerating the execution of I/O operations in a storage system
US7415488B1 (en) 2004-12-31 2008-08-19 Symantec Operating Corporation System and method for redundant storage consistency recovery
JP2008225616A (en) 2007-03-09 2008-09-25 Hitachi Ltd Storage system, remote copy system and data restoration method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5341381A (en) 1992-01-21 1994-08-23 Tandem Computers, Incorporated Redundant array parity caching system
US20050223180A1 (en) 2004-03-31 2005-10-06 Philip Derbeko Accelerating the execution of I/O operations in a storage system
US7415488B1 (en) 2004-12-31 2008-08-19 Symantec Operating Corporation System and method for redundant storage consistency recovery
JP2008225616A (en) 2007-03-09 2008-09-25 Hitachi Ltd Storage system, remote copy system and data restoration method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10346368B2 (en) 2014-06-30 2019-07-09 Research & Business Foundation Sungkyunkwan University Method and apparatus of per-block-group journaling for ordered mode journaling file system
US11487663B2 (en) 2018-09-27 2022-11-01 Samsung Electronics Co., Ltd. Method of operating storage device, storage device performing the same and storage system including the same

Also Published As

Publication number Publication date
KR20100094157A (en) 2010-08-26

Similar Documents

Publication Publication Date Title
US7383290B2 (en) Transaction processing systems and methods utilizing non-disk persistent memory
US8074035B1 (en) System and method for using multivolume snapshots for online data backup
KR101824295B1 (en) Cache management including solid state device virtualization
US7310711B2 (en) Hard disk drive with support for atomic transactions
US7325110B2 (en) Method for acquiring snapshot
US6883114B2 (en) Block device driver enabling a ruggedized file system
US7899800B2 (en) Systems and methods for providing nonlinear journaling
US7822932B2 (en) Systems and methods for providing nonlinear journaling
US7676691B2 (en) Systems and methods for providing nonlinear journaling
US7752402B2 (en) Systems and methods for allowing incremental journaling
CN107735774B (en) SMR perception only adds file system
JP5445463B2 (en) Computer system, data storage method and program
US20060227585A1 (en) Computer system, disk apparatus and data update control method
KR20170021287A (en) A device controller and method for performing a plurality of write transactions atomically within a nonvolatile data storage device
US9563566B2 (en) Device and method for integrated data management for nonvolatile buffer cache and nonvolatile storage
JP2004227568A (en) Communication link-attached persistent memory device
JP4561168B2 (en) Data processing system and method, and processing program therefor
KR20060044631A (en) Communication-link-attached persistent memory system
US9990150B2 (en) Method to provide transactional semantics for updates to data structures stored in a non-volatile memory
CN108431783A (en) Access request processing method, device and computer system
KR100981064B1 (en) A method to maintain software raid consistency using journaling file system
US20140331007A1 (en) Virtual library controller and control method
CN108431784A (en) Access request processing method, device and computer system
JPH11120057A (en) File backup method
JP2006099802A (en) Storage controller, and control method for cache memory

Legal Events

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

Payment date: 20130830

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140827

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee