KR101553028B1 - Variable processing file system and file variable processing method based on fixed block - Google Patents
Variable processing file system and file variable processing method based on fixed block Download PDFInfo
- Publication number
- KR101553028B1 KR101553028B1 KR1020140107590A KR20140107590A KR101553028B1 KR 101553028 B1 KR101553028 B1 KR 101553028B1 KR 1020140107590 A KR1020140107590 A KR 1020140107590A KR 20140107590 A KR20140107590 A KR 20140107590A KR 101553028 B1 KR101553028 B1 KR 101553028B1
- Authority
- KR
- South Korea
- Prior art keywords
- file
- block
- stored
- variable
- data
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 고정 블록에 기반을 둔 가변 처리 파일 시스템 및 파일 가변 처리 방법에 관한 것으로, 본 발명에 따른 고정 블록에 기반을 둔 가변 처리 파일 시스템은 파일 데이터를 저장하기 위한 불휘발성 메모리부와, 불휘발성 메모리부에 최초로 파일을 저장하는 경우에는 복수의 고정 블록들로 파일 데이터를 저장하며, 불휘발성 메모리부에 저장된 복수의 고정 블록들 중 적어도 하나의 블록에 저장된 파일 데이터가 변경되는 경우에는 변경된 블록을 가변 블록으로 처리하여 저장하는 파일 관리부를 포함함으로써, 파일 데이터의 변경에 따른 파일 저장을 빠르게 수행하게 할 수 있다.The present invention relates to a variable processing file system and a file variable processing method based on a fixed block, and a variable processing file system based on a fixed block according to the present invention includes a nonvolatile memory unit for storing file data, When the file data is stored in the nonvolatile memory unit in the first place, the file data is stored in the plurality of fixed blocks. When the file data stored in at least one of the plurality of fixed blocks stored in the nonvolatile memory unit is changed, To a variable block, and stores the processed data in a variable block. Thus, it is possible to quickly perform file storage according to a change of file data.
Description
본 발명은 고정 블록에 기반을 둔 가변 처리 파일 시스템 및 파일 가변 처리 방법에 관한 것으로, 고정 크기의 블록에다 가변 크기의 파일 데이터의 저장을 가능케 하는 고정 블록에 기반을 둔 가변 처리 파일 시스템 및 파일 가변 처리 방법에 관한 것이다.The present invention relates to a variable processing file system and a variable file processing method based on a fixed block, and more particularly, to a variable processing file system and a file variable processing method, which are based on a fixed block that enables storage of variable- And a method of processing the same.
파일 시스템은 컴퓨터 시스템에서 운영 체제, 다양한 실행 파일 그리고 사용자의 데이터를 저장하는 역할을 담당하고 있다. 사용자 영역에서 파일은 바이트 스트림(byte stream)으로 간주되며 파일 핸들을 통해 파일 데이터를 읽거나 쓰는 작업을 수행하게 된다. The file system is responsible for storing the operating system, various executables, and user data in the computer system. In the user area, a file is regarded as a byte stream and is used to read or write file data through a file handle.
사용자 영역에서 파일에 대한 읽기/쓰기 요청은 커널 영역의 파일 시스템으로 전달되며 최종적으로는 블록 디바이스에 저장된 데이터 블록에 대한 읽기/쓰기 요청으로 변환한다. 따라서 사용자 영역에서 처리되는 바이트 스트림이 디바이스 수준에서는 블록 단위로 변환되므로 파일에 대한 오퍼레이션에 있어서 다양한 문제점을 유발하고 있다. The read / write request for the file in the user area is transferred to the file system of the kernel area, and finally converted to a read / write request for the block of data stored in the block device. Therefore, the byte stream processed in the user area is converted into a block unit at the device level, which causes various problems in the operation of the file.
예를 들어, 파일의 일부 내용을 사용자 영역의 메모리 버퍼로 읽어온 후에, 버퍼의 중간에 한 바이트의 데이터를 추가하거나 삭제하는 작업을 수행하는 경우를 설명한다. 이 경우 사용자 영역에서는 변경하고자 하는 영역에 파일 오프셋을 이동한 후 새로운 바이트를 삽입하거나 삭제하면서 데이터 변경을 쉽게 처리할 수 있다, 하지만, 이와 같은 변경 사항을 파일 시스템에 저장하는 경우에는 새로운 문제를 야기하게 된다. 메모리 버퍼 상에 존재하는 바이트 스트림은 최종적으로 디스크의 블록에 저장되어야 하는데, 한 바이트의 데이터 변경은 연속되는 뒷부분의 모든 데이터 블록의 변경을 요구하게 된다.For example, a case in which a portion of a file is read into a memory buffer of a user area, and then a byte of data is added or deleted in the middle of the buffer will be described. In this case, it is possible to easily change the data while moving the file offset to the area to be changed in the user area and inserting or deleting the new byte. However, if such a change is stored in the file system, . The byte stream present on the memory buffer must ultimately be stored in a block on the disk, and the data change of one byte will require the modification of all subsequent data blocks in succession.
이러한 문제는 바이트 단위의 삽입 또는 삭제뿐만 아니라 블록 단위로 데이터의 삽입 또는 삭제가 발생이 되는 경우에도 동일하게 발생한다. 예를 들어, 데스크톱 컴퓨터에서 널리 사용되고 있는 Winzip이나 WinRAR와 같은 응용 프로그램은 다수의 서브 파일(sub-file)이 하나의 파일을 구성하는 구조를 가지고 있으며, 각 서브 파일은 블록 경계(block-aligned) 구조를 가진다. 따라서 서브 파일을 삭제하거나 삽입하는 과정은 연속된 블록을 삽입하거나 삭제하는 작업에 해당된다. 하지만, 대부분의 파일 시스템은 이와 같은 블록 단위의 데이터 삽입 또는 삭제에 대한 연산을 고려하지 않고 일반 파일과 동일하게 파일 수정 작업을 처리한다. This problem occurs in the same way when insertion or deletion of data occurs in units of blocks as well as insertion or deletion in units of bytes. For example, an application such as Winzip or WinRAR, which is widely used on a desktop computer, has a structure in which a plurality of sub-files constitute one file, and each sub-file is block-aligned. Structure. Therefore, the process of deleting or inserting a subfile corresponds to a process of inserting or deleting consecutive blocks. Most file systems, however, do not consider the operations of inserting or deleting data in block units, and process file modification operations like ordinary files.
상술한 문제점을 해결하기 위해, 본 발명은 고정 크기의 블록에다 가변 크기의 파일 데이터의 저장을 가능케 하는 고정 블록에 기반을 둔 가변 처리 파일 시스템 및 파일 가변 처리 방법을 제공하는 것을 목적으로 한다.In order to solve the above-described problems, it is an object of the present invention to provide a variable processing file system and a variable file processing method based on a fixed block which enables storage of variable-size file data on a fixed-size block.
상술한 목적을 달성하기 위해, 본 발명의 일실시예에 따른 고정 블록에 기반을 둔 가변 처리 파일 시스템은 파일 데이터를 저장하기 위한 불휘발성 메모리부와, 상기 불휘발성 메모리부에 최초로 파일을 저장하는 경우에는 복수의 고정 블록들로 파일 데이터를 저장하며, 상기 불휘발성 메모리부에 저장된 복수의 고정 블록들 중 적어도 하나의 블록에 저장된 파일 데이터가 변경되는 경우에는 변경된 블록을 가변 블록으로 처리하여 저장하는 파일 관리부를 제공한다.According to an aspect of the present invention, there is provided a variable processing file system based on a fixed block according to an embodiment of the present invention includes a nonvolatile memory unit for storing file data, In a case where file data stored in at least one block among a plurality of fixed blocks stored in the nonvolatile memory unit is changed, the changed block is processed as a variable block and stored And a file management unit.
상기 불휘발성 메모리부는 파일 관리 영역과 데이터 저장 영역을 포함하고, 상기 파일 관리부는 상기 불휘발성 메모리부에 최초로 파일을 저장하는 경우에는 상기 파일 관리 영역에 고정 블록 정보를 저장하고 상기 고정 블록 정보에 할당된 데이터 저장 영역에 파일 데이터를 저장하며, 상기 불휘발성 메모리부에 저장된 복수의 고정 블록들 중 적어도 하나의 블록에 저장된 파일 데이터가 변경되는 경우에는 상기 파일 관리 영역에 변경된 블록에 대한 블록 가변 정보를 더 저장하고 변경된 블록에 대해서만 해당하는 파일 데이터를 저장할 수 있다.Wherein the nonvolatile memory unit includes a file management area and a data storage area, and when the file is first stored in the nonvolatile memory unit, the nonvolatile memory unit stores the fixed block information in the file management area, Wherein when the file data stored in at least one block among the plurality of fixed blocks stored in the nonvolatile memory unit is changed, the block variable information for the changed block in the file management area is stored in the file management area, It is possible to store the corresponding file data only for the blocks which are further stored and changed.
상기 고정 블록 정보는 각 블록에 대한 상기 데이터 저장 영역의 위치 정보를 포함하며, 상기 블록 가변 정보는 변경된 블록의 개수와 변경된 블록에 저장되는 파일 데이터의 바이트수를 포함할 수 있다.The fixed block information includes position information of the data storage area for each block, and the block variable information may include the number of changed blocks and the number of bytes of file data stored in the changed block.
상기 고정 블록에 기반을 둔 가변 처리 파일 시스템은 상기 파일 관리부에 의해 상기 불휘발성 메모리부에 최초로 파일을 저장하는 경우에는 저장될 하나의 파일 데이터를 블록 크기보다 작은 소정 단위의 크기로 구분하여 복수의 해시값들을 추출하고, 추출된 복수의 해시값들과 상기 불휘발성 메모리부에 저장된 파일 데이터들과 관련된 해시값들을 이용하여 파일 유사도를 측정하는 파일 유사도 처리부를 더 포함할 수 있다.In the variable-processing file system based on the fixed block, when the file is first stored in the non-volatile memory unit by the file management unit, one file data to be stored is divided into a predetermined unit size smaller than the block size, And a file similarity processor for extracting the hash values and measuring the file similarity using the extracted hash values and the hash values associated with the file data stored in the nonvolatile memory.
상기 파일 관리부는 상기 파일 유사도 처리부에서 측정된 파일 유사도를 이용하여 중복 블록들에 대해서는 인덱스를 생성하고 바이트-시프트가 발생하지 않도록 중복 블록들의 앞부분에 존재하는 일부 파일 데이터에 대해서는 블록 가변으로 처리할 수 있다.The file management unit may generate indexes for the redundant blocks using the file similarity measured by the file similarity processing unit and process some file data existing at the beginning of the redundant blocks as a block variable so that no byte- have.
본 발명의 다른 실시예에 따른 고정 블록에 기반을 둔 파일 가변 처리 방법은 불휘발성 메모리부에 최초로 파일을 저장하는 경우에는 복수의 고정 블록들로 파일 데이터를 저장하는 단계와, 상기 불휘발성 메모리부에 저장된 복수의 고정 블록들 중 적어도 하나의 블록에 저장된 파일 데이터가 변경되는 경우에는 변경된 블록을 가변 블록으로 처리하여 저장하는 단계를 제공함으로써, 상술한 목적을 달성할 수 있다.According to another aspect of the present invention, there is provided a method of variable file processing based on a fixed block, comprising the steps of: storing file data in a plurality of fixed blocks when a file is first stored in the non-volatile memory; When the file data stored in at least one block among the plurality of fixed blocks stored in the storage unit is changed, the modified block is processed as a variable block and stored, thereby achieving the above object.
상술한 구성에 의해, 본 발명은 고정 크기의 블록에다 가변 크기의 파일 데이터의 저장을 가능케 함으로써, 파일 데이터의 변경에 따른 파일 저장을 빠르게 수행하게 할 수 있다.According to the above-described structure, it is possible to store file data of a variable size in a fixed size block, thereby enabling file storage according to a change of file data to be performed quickly.
또한, 본 발명은 저장 매체의 데이터 영역에 대한 기록을 최소화함으로써 반도체 타입의 불휘발성 메모리인 플래시 메모리 등의 수명을 연장할 수 있다. In addition, the present invention can extend the lifetime of a flash memory or the like, which is a semiconductor type nonvolatile memory, by minimizing the recording of data in the data area of the storage medium.
도 1은 본 발명의 일실시예에 따른 고정 블록에 기반을 둔 가변 처리 파일 시스템의 전체적인 블록도를 도시하는 도면이다.
도 2a 내지 도 2c는 본 발명에 따른 고정 블록에 기반을 둔 가변 처리를 설명하기 위한 도면이다.
도 3은 본 발명에 따른 메타데이터의 구현예를 도시하는 도면이다.
도 4a 및 도 4b는 본 발명에 따른 고정 블록에 기반을 둔 가변 처리 파일 시스템에서의 중복 데이터 처리를 설명하기 위한 도면이다.
도 5는 도 1에 도시된 파일 유사도 처리부를 좀 더 상세하게 도시하는 도면이다.
도 6은 본 발명의 다른 실시예에 따른 고정 블록에 기반을 둔 파일 가변 처리 방법의 흐름도를 도시하는 도면이다.FIG. 1 is a block diagram showing an overall configuration of a fixed block file-based variable processing file system according to an embodiment of the present invention.
Figs. 2A to 2C are diagrams for explaining variable processing based on a fixed block according to the present invention. Fig.
3 is a diagram showing an embodiment of metadata according to the present invention.
4A and 4B are diagrams for explaining redundant data processing in a variable processing file system based on a fixed block according to the present invention.
FIG. 5 is a diagram showing the file similarity processing unit shown in FIG. 1 in more detail.
FIG. 6 is a flowchart showing a file variable processing method based on a fixed block according to another embodiment of the present invention.
이하, 첨부된 도면을 참조하여 본 발명에 따른 고정 블록에 기반을 둔 가변 처리 파일 시스템 및 파일 가변 처리 방법의 바람직한 실시예를 설명한다. 참고로, 아래에서 본 발명을 설명함에 있어서, 본 발명의 구성요소를 지칭하는 용어들은 각각의 구성 요소들의 기능을 고려하여 명명된 것이므로, 본 발명의 기술적 구성요소를 한정하는 의미로 이해되어서는 안 될 것이다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, preferred embodiments of a fixed block file-based variable processing file system and a file variable processing method according to the present invention will be described with reference to the accompanying drawings. In the following description of the present invention, it is to be understood that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the technical scope of the present invention. Will be.
도 1은 본 발명의 일실시예에 따른 고정 블록에 기반을 둔 가변 처리 파일 시스템의 전체적인 블록도를 도시하는 도면이다.FIG. 1 is a block diagram showing an overall configuration of a fixed block file-based variable processing file system according to an embodiment of the present invention.
도 1에 도시된 바와 같이, 고정 블록에 기반을 둔 가변 처리 파일 시스템은 불휘발성 메모리부(110), 파일 관리부(120) 및 파일 유사도 처리부(130)를 포함한다.1, the fixed processing file system based on the fixed block includes a
불휘발성 메모리부(110)에는 파일 데이터를 저장하기 위해 파일 관리 영역(112)과 데이터 저장 영역(114)이 구분되어 있다. 여기서 불휘발성 메모리부(110)는 반도체 메모리인 플래시 메모리로 한정하기 위해 사용한 것이 아니며 하드 디스크 등을 포함한다.The
파일 관리 영역(112)에는 고정 길이의 블록 정보와 관련된 고정 블록 정보와 고정 길이의 블록에 가변 길이의 정보를 저장하기 위한 블록 가변 정보가 저장되며, 데이터 저장 영역(114)에는 파일 관리 영역(112)의 고정 블록 정보와 블록 가변 정보에 따라 파일 데이터가 저장된다. 한편, 고정 블록 정보에는 각 블록에 대한 데이터 저장 영역(114)의 위치 정보가 포함되며, 블록 가변 정보에는 변경된 블록의 개수와 변경된 블록에 저장되는 파일 데이터의 바이트수가 포함될 수 있다.In the
파일 관리부(120)는 불휘발성 메모리부(110)에 저장되는 파일 데이터를 관리하기 위해, 파일 생성 모듈(122), 파일 변경 검출 모듈(124), 블록 가변 처리 모듈(126) 및 인덱스 수정 모듈(128)을 포함한다.The
파일 생성 모듈(122)은 불휘발성 메모리부에 최초로 파일을 저장하는 경우 복수의 고정 블록들로 파일 데이터를 저장한다. 또한, 파일 생성 모듈(122)은 불휘발성 메모리부에 최초로 파일을 저장하는 경우 파일 관리 영역(112)에 고정 블록 정보를 저장하고 고정 블록 정보에 할당된 데이터 저장 영역(114)에 파일 데이터를 저장할 수 있다.The
파일 변경 검출 모듈(124)은 불휘발성 메모리부(110)에 저장된 파일 데이터가 독출된 후에 해당 파일 데이터에 변경이 있는지를 검출한다. 예를 들어 파일 변경 검출 모듈(124)은 사용자가 파일 데이터를 읽은 후 해당 파일 데이터의 소정 블록에 해당하는 바이트에 대한 삭제 등을 수행하였는지를 검출한다.The file
블록 가변 처리 모듈(126)은 파일 변경 검출 모듈(124)이 불휘발성 메모리부(110)에 저장된 복수의 고정 블록들 중 적어도 하나의 블록에 저장된 파일 데이터의 변경을 검출하면, 저장시 변경된 블록을 가변 블록으로 처리하여 저장한다. 또한, 블록 가변 처리 모듈(126)은 저장시 파일 관리 영역(112)에 변경된 블록에 대한 블록 가변 정보를 더 저장하고 변경된 블록에 대해서만 해당하는 파일 데이터를 저장할 수 있다. 또한 블록 가변 처리 모듈(126)은 인덱스 수정 모듈(128)에서 중복 블록들에 대해 인덱스 정보를 변경하고자 하는 경우 중복 블록들의 앞부분에 존재하는 일부 파일 데이터에 대해서는 블록 가변으로 처리할 수 있다.When the file
인덱스 수정 모듈은 파일 유사도 처리부(130)에서 측정된 파일 유사도를 이용하여 파일 데이터가 동일한 중복 블록들에 대해서는 데이터 저장 영역(114)에 해당 중복 블록을 저장하지 않고 파일 관리 영역(112)에다 저장된 중복 블록의 데이터 저장 영역(114)의 위치 정보로 인덱스를 수정하여 저장한다.The index modification module may use the file similarity measured by the
파일 유사도 처리부(130)는 불휘발성 메모리부(110)에 최초로 저장될 파일 데이터와 불휘발성 메모리부(110)에 이미 저장되어 있는 파일 데이터들 사이에 유사도를 판단하며, 이를 위해 해시값 추출 모듈(132) 및 유사도 비교 모듈(132)을 포함한다.The file
해시값 추출 모듈(132)은 파일 관리부(120)가 불휘발성 메모리부(110)에 최초로 파일을 저장하는 경우 저장될 하나의 파일 데이터를 블록 크기보다 작은 소정 단위의 크기로 구분하여 각 소정 단위의 크기마다 해시값을 추출한다.The hash
유사도 비교 모듈(132)은 해시값 추출 모듈(132)에서 추출된 복수의 해시값들과 불휘발성 메모리부(110)에 저장된 파일 데이터들과 관련된 해시값들을 비교하여 동일한 해시값이 있는지를 확인한다.The
이하에서는 본 발명의 실시예들을 보다 상세하게 설명한다.Hereinafter, embodiments of the present invention will be described in more detail.
도 2a 내지 도 2c는 본 발명에 따른 고정 블록에 기반을 둔 가변 처리를 설명하기 위한 도면이다.Figs. 2A to 2C are diagrams for explaining variable processing based on a fixed block according to the present invention. Fig.
도 2a에는 종래의 파일 시스템의 개념도가 도시되어 있다. 파일은 바이트 스트림으로 실제 불휘발성 메모리부(110)에 저장이 될 때에는 청킹의 단계를 거쳐서 저장이 되게 된다. 이 때, INODE는 파일의 정보와 함께 각 블록의 위치를 기록하는 정보를 가진다. 여기서 각 블록의 고정 크기는 예를 들면 512바이트일 수 있다. FIG. 2A is a conceptual diagram of a conventional file system. When the file is stored in the
도 2b에는 저장된 파일 데이터를 수정하는 종래의 파일 시스템의 개념도가 도시되어 있다. 도 2b에 도시된 바와 같이, "K"가 삭제되면 청킹 단계에서 3번 블록부터 내부 파일 데이터에 변화기 있기 때문에 불휘발성 메모리부(110)에 3번 블록부터 변경되어 저장이 되게 된다. 이 경우 파일 시스템에 따라서 기존 블록을 무효화하고 새로운 블록을 할당받아 파일 데이터가 저장될 수도 있고, 기존의 블록을 덮어씌우는 형태로 저장될 수 있다.2B is a conceptual diagram of a conventional file system for modifying stored file data. As shown in FIG. 2B, when the "K" is deleted, since the block is changed from the third block to the internal file data in the chunking step, the third block is changed and stored in the
도 2c에는 본 발명에 따른 고정 블록에 기반을 둔 가변을 이용하여 파일 데이터를 수정하는 개념도가 도시되어 있다. 도 2c에 도시된 바와 같이, "K"가 삭제되면 청킹 단계에서 3번 블록에 512바이트보다 작은 크기의 파일 데이터 크기를 담게 된다. 그리고 INODE에서는 변경된 내용에 대해서 블록 인덱스를 수정하게 된다. 이와 같이 본 발명에 따라 파일 데이터를 저장하게 되는 경우에는 데이터 블록에서 3번째 블록만 변경이 되고 나머지 이후에 있는 블록에는 변경이 발생하지 않게 된다.FIG. 2C is a conceptual diagram for modifying file data using a variable based on a fixed block according to the present invention. As shown in FIG. 2C, when the "K" is deleted, the file data size smaller than 512 bytes is stored in the third block in the chunking step. And INODE modifies the block index on the changed contents. In the case of storing file data according to the present invention, only the third block in the data block is changed, and no change occurs in the remaining blocks.
도 3은 본 발명에 따른 메타데이터의 구현예를 도시하는 도면이다.3 is a diagram showing an embodiment of metadata according to the present invention.
INODE에는 파일 입출력을 위한 기본 정보가 저장되게 된다. 본 발명에서는 기존의 INODE를 확장하여 고정 블록에 기반을 두어 블록의 가변 처리를 지원할 수 있도록 구현한다. 도 3에 도시된 바와 같이, 본 발명에 따른 메타데이터 정보는 기존의 고정 블록에 대한 정보들(B0, B1, B2 및 B3)뿐만 아니라 고정 블록의 가변 처리와 관련하여 2가지 정보가 추가된다. VB(variable block)에는 몇 개의 블록 가변을 가지고 있는지가 기록된다. VB가 1이면, 파일 데이터에서 블록의 가변 처리에 의해 변경이 발생한 블록이 1 블록임을 나타낸다. 그리고 VBI(variable block index)는 블록에 대한 가변 처리가 발생한 블록의 인덱스를 가리키는데, 도 3에서는 V1, V2, V3 및 V4로 도시되어 있다.INODE stores basic information for file I / O. In the present invention, an existing INODE is extended to be based on a fixed block to support variable processing of the block. As shown in FIG. 3, in the metadata information according to the present invention, two pieces of information are added in addition to the information (B0, B1, B2, and B3) about the existing fixed block as well as the variable processing of the fixed block. A variable block (VB) records how many block variables it has. If VB is 1, it indicates that the block in which the change has been made by the variable process of the block in the file data is one block. A variable block index (VBI) indicates an index of a block in which variable processing for a block has occurred. In FIG. 3, V1, V2, V3 and V4 are shown.
도 3에 도시된 바와 같이 3번째 블록에서 파일 데이터의 변경으로 16바이트가 삭제되었다고 가정한다. 이 경우 53번에 위치한 블록에는 496바이트만 저장이 되고 나머지 16바이트는 의미가 없는 데이터가 저장된다. 이를 파일 시스템에서 참조하기 위해서는 INODE에 해당 정보가 기술되어야 한다. 고정 블록에 대한 가변 처리가 1개 생성되었기 때문에 VB에 1이 저장된다. 그리고 V1에는 53번 블록이 고정 블록에 대한 가변 처리가 있는 블록임을 알려주고 또한 53번 블록에는 496바이트가 기록되어 있음에 대한 정보를 저장한다.As shown in FIG. 3, it is assumed that 16 bytes have been deleted due to the change of the file data in the third block. In this case, only 496 bytes are stored in the block located at 53, and the remaining 16 bytes are meaningless data. In order to refer to this in the file system, the corresponding information must be described in the INODE. 1 is stored in VB because one variable process is generated for the fixed block. In V1, it is informed that
도 3에서는 고정 블록에 대한 가변 처리를 최대 4개로 제한하였지만, 필요에 따라서 최대 개수를 증가시킬 수 있다. 하지만 최대 개수 이상의 고정 블록에 대한 가변 처리가 필요한 경우에는 강제로 가비지 컬렉션을 수행하여 고정 블록에 대한 가변 처리를 모두 제거하는 과정을 거칠 수 있다.In FIG. 3, variable processing for the fixed block is limited to a maximum of four, but the maximum number can be increased as needed. However, when variable processing is required for a fixed number of blocks or more, a process of forcibly performing garbage collection and removing all the variable processing for a fixed block may be performed.
도 4a 및 도 4b는 본 발명에 따른 고정 블록에 기반을 둔 가변 처리 파일 시스템에서의 중복 데이터 처리를 설명하기 위한 도면이다.4A and 4B are diagrams for explaining redundant data processing in a variable processing file system based on a fixed block according to the present invention.
도 4a에는 종래의 파일 시스템에서의 중복 데이터 처리 방식이 도시되어 있다. 도 4a에 도시된 바와 같이, 새로운 파일이 생성되는 경우 종래의 파일 시스템에서는 중복된 영역이 4개 블록이나 존재함에도 불구하고 중복을 제거할 수 없다. 왜냐하면 중복 데이터가 존재하지만, 바이트-시프트 현상으로 블록 단위별로 공유가 불가능하기 때문이다. FIG. 4A shows a redundant data processing method in a conventional file system. As shown in FIG. 4A, when a new file is created, duplication can not be removed even though there are four blocks in the conventional file system. Because there is redundant data, it is impossible to share block by block due to byte-shift phenomenon.
도 4b에는 본 발명에 따른 고정 블록에 기반을 둔 가변 처리를 이용하여 중복 데이터를 처리하는 방식이 도시되어 있다. 도 4b에 도시된 바와 같이, 본 발명으로 구현된 고정 블록에 기반을 둔 가변 처리 파일 시스템을 사용하는 경우에는 중복 블록을 기준으로 청킹을 수행하여 4개의 블록에 대해서 중복을 찾아낼 수 있으며, 이 중복된 4개의 블록에 대해서는 새롭게 불휘발성 메모리에 저장하지 않고 기존 파일의 블록으로 인덱스를 수정하는 것으로 불휘발성 메모리에의 저장을 대신할 수 있다.FIG. 4B shows a method of processing redundant data using variable processing based on a fixed block according to the present invention. As shown in FIG. 4B, when the variable processing file system based on the fixed block implemented by the present invention is used, chunking can be performed on the basis of redundant blocks to find redundancy for four blocks. It is possible to replace the redundant four blocks by storing them in the nonvolatile memory by modifying the index into blocks of the existing file without storing them in the nonvolatile memory.
파일 유사도는 파일간의 유사한 정도를 나타내는 수치로, 유사도 정보를 이용하여 효율적으로 중복 데이터를 제거할 수 있다. 중복 제거는 새로운 파일을 저장할 때 다른 파일에서 동일한 부분을 찾아 동일한 부분은 저장하지 않고 서로 다른 부분에 대해서만 저장을 하는 기법이다. 이에 파일의 유사도 정보는 높은 정확도가 요구된다.The file similarity is a numerical value indicating the degree of similarity between files, and redundant data can be efficiently removed using similarity information. Deduplication is a technique in which when a new file is stored, the same portion is searched for in another file, and the same portion is not stored but only the different portion is stored. Therefore, similarity information of the file requires high accuracy.
도 5는 도 1에 도시된 파일 유사도 처리부를 좀 더 상세하게 도시하는 도면이다.FIG. 5 is a diagram showing the file similarity processing unit shown in FIG. 1 in more detail.
도 5에 도시된 바와 같이, 파일 유사도 처리부(130)는 해시값 추출 모듈 및 유사도 비교 모듈(132)을 포함하며, 파일 데이터의 유사도 처리를 위해 불휘발성 메모리부(110)인 HDD(510)와, 새로운 파일 데이터가 생성되어 저장되어 있는 휘발성 메모리와 관련된 파일 생성 메모리(520)와, 및 파일에 대한 해시값이 저장되어 있는 휘발성 메모리와 관련된 해시값 저장 메모리(530)에 연결되어 있다. 여기서 파일 생성 메모리(520)와 해시값 저장 메모리(530)는 별개의 메모리일 수 있지만 하나의 메모리로 이루어질 수 있다.5, the file
파일 관리부(120)의 파일 생성 모듈(122)이 파일 생성 메모리(520)에 저장되어 있는 파일을 HDD(510)에 저장하고 하면, 해시값 추출 모듈(132)은 파일 생성 메모리(520)에 저장되어 있는 파일 데이터를 읽어 해시값을 추출한다. 이 경우 해시값 추출 모듈(132)은 파일 데이터를 블록 크기보다 작은 소정 단위의 크기로 구분하여 각 소정 단위의 크기마다 해시값을 추출할 수 있다. 해시값 추출 모듈(132)에서 추출된 해시값들은 해시값 저장 메모리(530)에 저장될 수 있다.When the
유사도 비교 모듈(132)은 해시값 추출 모듈(132)에서 추출된 복수의 해시값들과 해시값 저장 메모리(530)에 저장된 각 파일 데이터와 관련된 해시값들을 비교하여 동일한 해시값이 있는지를 확인한다. 해시값 저장 메모리(530)에 저장된 각 파일 데이터와 관련된 해시값들은 HDD(510)로 읽어 올 수 있다. The
이러한 파일 유사도 처리를 위해 SDHASH(similarity digest hashing) 기법 또는 SSDEEP 기법을 이용할 수 있다. The similarity digest hashing (SDHASH) scheme or the SSDEEP scheme can be used to process the file similarity.
SDHASH는 라빈 핑거프린트(rabin fingerprint)를 이용한 임의의 청크 크기를 선택하는 대신에 새넌 엔트로피를 이용하여 확률적인 특징점(feature)을 선택하는데, 특징점 선택이 데이터의 특정 부분에 치우치지 않고 전체적으로 고른 선택이 가능하여 신뢰성이 향상된다. 선택된 특징점들은 블룸 필터를 이용하여 통계적 기반의 파일 유사도를 측정한다. 64바이트 크기로 된 특징점들은 주어진 임계값 이상의 인기도 점수가 포함된 특징점을 선택하여 불룸 필터 생성에 사용한다. 또한, 선택된 특징점 중에서 100 이하 990 초과 값을 가지는 특징점은 제외하여 블룸 필터의 긍정 오류율을 낮춘다.Instead of choosing arbitrary chunk sizes using a rabin fingerprint, SDHASH uses stochastic features using the newness entropy, so that the feature point selection does not shift to a specific part of the data, Reliability is improved. The selected feature points measure the statistical based file similarity using Bloom filter. The 64-byte minutiae are used to generate the minutiae by selecting the minutiae that contain the popularity score above a given threshold value. In addition, among the selected minutiae, minutiae which have a value of more than 100 and less than 990 are excluded, thereby lowering the positive error rate of the Bloom filter.
SDHASH에서 블룸 필터는 256바이트 크기로 고정되어 생성된다. 생성된 블룸 필터 1개당 128개의 특징점 값들이 할당된다. 특징점들이 128개를 초과하면 새로운 블룸 필터가 추가되어 특징점 값들이 할당된다. 각 특징점들은 SHA-1 해시 함수를 이용하여 160비트 크기의 해시값으로 계산된다. SDHASH의 비교 과정은 생성된 모든 블룸 필터들을 하나씩 비교하여 전체 블룸 필터 비교 값들의 평균으로 파일 유사도를 측정한다.In SDHASH, the Bloom filter is generated with a fixed size of 256 bytes. 128 feature point values are assigned to each generated bloom filter. If the number of minutiae exceeds 128, a new Bloom filter is added and minutiae values are assigned. Each feature point is computed as a 160-bit hash value using the SHA-1 hash function. The SDHASH comparison process compares all generated Bloom filters one by one and measures the file similarity by averaging all Bloom filter comparison values.
SSDEEP는 2개의 해시 방법을 이용하여 파일 유사도 측정을 수행한다. 롤링 해시(rolling hash) 함수는 파일 내용을 한 바이트씩 이동하며 해시값을 생성한다. 생성된 롤링 해시값을 이용하여 파일 내부의 경계점인 트리거 위치를 계산한다. 트리거 위치가 발견되면 파일의 시작 위치부터 트리거 위치까지 하나의 청크로 처리하고 해당 정크는 MD5 해시 함수를 이용하여 정크 해시값을 생성한다. 생성된 청크 해시값은 Base64 인코딩을 사용하여 비트 스트링으로 변환되고 변환된 비트 스트링의 마지막 6비트 값을 추출한 후 각 비트 스트링의 비트 값을 연결하여 파일 다이제스트를 생성한다. SSDEEP performs file similarity measurement using two hash methods. The rolling hash function moves the contents of the file one byte at a time and generates a hash value. Calculate the trigger position, which is the boundary point inside the file, using the generated rolling hash value. If a trigger location is found, it is treated as a single chunk from the beginning of the file to the trigger location, and the junk generates a junk hash using the MD5 hash function. The generated chunk hash value is converted into a bit string using Base64 encoding, extracts the last 6 bits of the converted bit string, and concatenates the bit values of each bit string to generate a file digest.
파일 유사도 처리부(130)는 상술한 기법으로 처리된 각 파일의 유사도 값을 INODE에 스트링 형태로 유지할 수 있다. 따라서 파일 유사도 처리부(130)는 새로운 파일이 유입되거나 생성이 되는 경우에, 해시 스트링의 비교를 통하여 가장 유사한 파일을 찾아낼 수 있으며, 파일 관리부(120)는 원본 파일과 유입되는 파일 간의 중복 블록을 찾아내어 공유시키는 작업을 진행할 수 있다. The file similarity
한편, 파일 유사도 처리부(130)는 고정 블록에 기반을 두어 파일 유사도를 고정 분할 기법으로 처리하면 중복 블록의 앞부분에 존재하는 데이터에 대해서는 가변 분할 기법을 적용할 수 있다. 이에 의해 유사 파일에 대해서 효과적인 파일 데이터 저장이 가능하고 입출력 오버헤드를 상당히 감소시킬 수 있다.On the other hand, if the file
도 6은 본 발명의 다른 실시예에 따른 고정 블록에 기반을 둔 파일 가변 처리 방법의 흐름도를 도시하는 도면이다.FIG. 6 is a flowchart showing a file variable processing method based on a fixed block according to another embodiment of the present invention.
파일 관리부(120)가 파일을 불휘발성 메모리에 저장하고자 하는 경우 파일 생성 모듈(122)은 해당 파일이 불휘발성 메모리에 최초로 저장되는 파일인지를 확인한다(S602). 파일 관리부(120)가 파일을 불휘발성 메모리에 최초로 저장하는 것이면, 해시값 추출 모듈(132)은 저장하고자 하는 하나의 파일 데이터를 블록 크기보다 작은 소정 단위의 크기로 구분하여 복수의 해시값들을 추출한다(S604).If the
유사도 비교 모듈(132)은 해시값 추출 모듈(132)에서 추출된 복수의 해시값들과 불휘발성 메모리부(110)에 저장된 파일 데이터들과 관련된 해시값들을 비교하여 파일 유사도를 측정한다(S606). 인덱스 수정 모듈(128)은 유사도 비교 모듈(132)에서 측정된 파일 유사도를 이용하여 중복 블록들에 대해서는 인덱스를 생성한다(S608). 그리고 블록 가변 처리 모듈(126)은 바이트-시프트가 발생하지 않도록 중복 블록들의 앞부분에 존재하는 일부 파일 데이터에 대해서는 블록 가변으로 처리한다(S610).The
파일 변경 검출 블록은 불휘발성 메모리에 저장하고자 하는 파일에 변경이 있는지를 검출한다(S612). 파일에 변경이 있으면, 블록 가변 처리 모듈(126)은 파일 관리 영역(112)에 변경된 블록에 대한 블록 가변 정보를 더 저장하고(S614) 변경된 블록에 대해서만 해당하는 파일 데이터를 저장한다(S616).The file change detection block detects whether there is a change in the file to be stored in the nonvolatile memory (S612). If there is a change in the file, the block
본 발명의 보호 범위는 이하 특허청구범위에 의하여 해석되어야 마땅할 것이다. 또한, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것인 바, 본 발명과 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The scope of protection of the present invention should be interpreted according to the claims. It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit and scope of the invention as defined by the appended claims. It should be interpreted that it is included in the scope of right.
110: 불휘발성 메모리부 112: 파일 관리 영역
114: 데이터 저장 영역 120: 파일 관리부
122: 파일 생성 모듈 124: 파일 변경 검출 모듈
126: 블록 가변 처리 모듈 128: 인덱스 수정 모듈
130: 파일 유사도 처리부 132: 해시값 추출 모듈
134: 유사도 비교 모듈 510: HDD
530: 파일 생성 메모리 530: 해시값 저장 메모리110: nonvolatile memory unit 112: file management area
114: Data storage area 120: File management part
122: file generation module 124: file change detection module
126: block variable processing module 128: index modification module
130: file similarity processing unit 132: hash value extraction module
134: Similarity comparison module 510: HDD
530: file generation memory 530: hash value storage memory
Claims (8)
상기 불휘발성 메모리부에 최초로 파일을 저장하는 경우에는 복수의 고정 블록들로 파일 데이터를 저장하며, 상기 불휘발성 메모리부에 저장된 복수의 고정 블록들 중 적어도 하나의 블록에 저장된 파일 데이터가 변경되는 경우에는 변경된 블록을 가변 블록으로 처리하여 저장하는 파일 관리부를 포함하고,
상기 불휘발성 메모리부는 파일 관리 영역과 데이터 저장 영역을 포함하고,
상기 파일 관리부는 상기 불휘발성 메모리부에 최초로 파일을 저장하는 경우에는 상기 파일 관리 영역에 고정 블록 정보를 저장하고 상기 고정 블록 정보에 할당된 데이터 저장 영역에 파일 데이터를 저장하며, 상기 불휘발성 메모리부에 저장된 복수의 고정 블록들 중 적어도 하나의 블록에 저장된 파일 데이터가 변경되는 경우에는 상기 파일 관리 영역에 변경된 블록에 대한 블록 가변 정보를 더 저장하고 변경된 블록에 대해서만 해당하는 파일 데이터를 저장하는 것을 특징으로 하는 고정 블록에 기반을 둔 가변 처리 파일 시스템. A non-volatile memory unit for storing file data, and
When the file is initially stored in the nonvolatile memory unit, the file data is stored in the plurality of fixed blocks. When the file data stored in at least one of the plurality of fixed blocks stored in the nonvolatile memory unit is changed And a file manager for processing and storing the changed block as a variable block,
Wherein the nonvolatile memory unit includes a file management area and a data storage area,
Wherein the file management unit stores the fixed block information in the file management area and the file data in the data storage area allocated to the fixed block information when the file is initially stored in the nonvolatile memory unit, When the file data stored in at least one block among the plurality of fixed blocks stored in the file management area is changed, the block variable information for the changed block is further stored in the file management area, and the file data corresponding to the changed block is stored Based variable block file system.
상기 고정 블록 정보는 각 블록에 대한 상기 데이터 저장 영역의 위치 정보를 포함하며,
상기 블록 가변 정보는 변경된 블록의 개수와 변경된 블록에 저장되는 파일 데이터의 바이트수를 포함하는 것을 특징으로 하는 고정 블록에 기반을 둔 가변 처리 파일 시스템. The method according to claim 1,
Wherein the fixed block information includes position information of the data storage area for each block,
Wherein the block variable information includes a number of changed blocks and a number of bytes of file data stored in the changed block.
상기 파일 관리부에 의해 상기 불휘발성 메모리부에 최초로 파일을 저장하는 경우에는 저장될 하나의 파일 데이터를 블록 크기보다 작은 소정 단위의 크기로 구분하여 복수의 해시값들을 추출하고, 추출된 복수의 해시값들과 상기 불휘발성 메모리부에 저장된 파일 데이터들과 관련된 해시값들을 이용하여 파일 유사도를 측정하는 파일 유사도 처리부를 더 포함하는 것을 특징으로 고정 블록에 기반을 둔 가변 처리 파일 시스템. The method according to claim 1 or 3,
When the file is first stored in the nonvolatile memory unit by the file management unit, one file data to be stored is divided into a predetermined unit size smaller than the block size to extract a plurality of hash values, and a plurality of extracted hash values And a file similarity processor for measuring file similarity using hash values associated with the file data stored in the nonvolatile memory unit.
상기 파일 관리부는 상기 파일 유사도 처리부에서 측정된 파일 유사도를 이용하여 중복 블록들에 대해서는 인덱스를 생성하고 바이트-시프트가 발생하지 않도록 중복 블록들의 앞부분에 존재하는 일부 파일 데이터에 대해서는 블록 가변으로 처리하는 것을 특징으로 하는 고정 블록에 기반을 둔 가변 처리 파일 시스템. 5. The method of claim 4,
The file management unit generates an index for the redundant blocks using the file similarity measured by the file similarity processing unit and processes some file data existing in the front part of the redundant blocks as a block variable so that no byte-shift occurs A variable processing file system based on a fixed block that features.
상기 불휘발성 메모리부에 저장된 복수의 고정 블록들 중 적어도 하나의 블록에 저장된 파일 데이터가 변경되는 경우에는 변경된 블록을 가변 블록으로 처리하여 저장하는 단계를 포함하고,
상기 불휘발성 메모리부는 파일 관리 영역과 데이터 저장 영역을 포함하고,
상기 복수의 고정 블록들로 파일 데이터를 저장하는 단계는 상기 불휘발성 메모리부에 최초로 파일을 저장하는 경우에는 상기 파일 관리 영역에 고정 블록 정보를 저장하고 상기 고정 블록 정보에 할당된 데이터 저장 영역에 파일 데이터를 저장하고,
상기 변경된 블록을 가변 블록으로 처리하여 저장하는 단계는 상기 불휘발성 메모리부에 저장된 복수의 고정 블록들 중 적어도 하나의 블록에 저장된 파일 데이터가 변경되는 경우에는 상기 파일 관리 영역에 변경된 블록에 대한 블록 가변 정보를 더 저장하고 변경된 블록에 대해서만 해당하는 파일 데이터를 저장하는 것을 특징으로 하는 고정 블록에 기반을 둔 파일 가변 처리 방법. Storing the file data in a plurality of fixed blocks when the file is initially stored in the non-volatile memory section; and
If the file data stored in at least one of the plurality of fixed blocks stored in the nonvolatile memory unit is changed, processing the modified block as a variable block and storing the modified block,
Wherein the nonvolatile memory unit includes a file management area and a data storage area,
Wherein the step of storing the file data in the plurality of fixed blocks comprises the steps of storing the fixed block information in the file management area when the file is first stored in the nonvolatile memory part, Storing the data,
Wherein when the file data stored in at least one of the plurality of fixed blocks stored in the nonvolatile memory unit is changed, the step of processing and storing the changed block as a variable block includes: And storing the file data corresponding only to the changed block. The method of claim 1,
상기 불휘발성 메모리부에 최초로 파일을 저장하는 경우에는 저장될 하나의 파일 데이터를 블록 크기보다 작은 소정 단위의 크기로 구분하여 복수의 해시값들을 추출하는 단계와,
상기 복수의 해시값들을 추출하는 단계에서 추출된 복수의 해시값들과 상기 불휘발성 메모리부에 저장된 파일 데이터들과 관련된 해시값들을 이용하여 파일 유사도를 측정하는 단계와, 및
상기 파일 유사도를 측정하는 단계에서 측정된 파일 유사도를 이용하여 중복 블록들에 대해서는 인덱스를 생성하고 바이트-시프트가 발생하지 않도록 중복 블록들의 앞부분에 존재하는 일부 파일 데이터에 대해서는 블록 가변으로 처리하는 단계를 더 포함하는 것을 특징으로 하는 고정 블록에 기반을 둔 파일 가변 처리 방법. The method according to claim 6,
Dividing one file data to be stored into a predetermined unit size smaller than a block size to extract a plurality of hash values when the file is first stored in the nonvolatile memory unit,
Measuring file similarity using a plurality of hash values extracted in the extracting of the plurality of hash values and hash values related to file data stored in the non-volatile memory unit; and
An index is generated for the redundant blocks by using the file similarity measured in the step of measuring the file similarity and a process for processing some file data existing in the front part of the redundant blocks in a block variable manner so as to prevent the byte- Wherein the fixed-block-based variable-processing method further comprises:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140107590A KR101553028B1 (en) | 2014-08-19 | 2014-08-19 | Variable processing file system and file variable processing method based on fixed block |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140107590A KR101553028B1 (en) | 2014-08-19 | 2014-08-19 | Variable processing file system and file variable processing method based on fixed block |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101553028B1 true KR101553028B1 (en) | 2015-09-15 |
Family
ID=54248251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140107590A Expired - Fee Related KR101553028B1 (en) | 2014-08-19 | 2014-08-19 | Variable processing file system and file variable processing method based on fixed block |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101553028B1 (en) |
-
2014
- 2014-08-19 KR KR1020140107590A patent/KR101553028B1/en not_active Expired - Fee Related
Non-Patent Citations (2)
Title |
---|
[논문] 유영준 외 3명. "비율 기반 대표 해시 기법을 이용한 파일 유사도 평가 시스템". 한국정보기술학회논문지 12(04) pp.81-88, 2014.4.* |
[카탈로그] "데이터 중복 제거 기술에 대한 배경 지식 : 기술백서". Quantum. 2014.7.* |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9880746B1 (en) | Method to increase random I/O performance with low memory overheads | |
US8959089B2 (en) | Data processing apparatus and method of processing data | |
US8639669B1 (en) | Method and apparatus for determining optimal chunk sizes of a deduplicated storage system | |
US9141633B1 (en) | Special markers to optimize access control list (ACL) data for deduplication | |
US8712963B1 (en) | Method and apparatus for content-aware resizing of data chunks for replication | |
US10380073B2 (en) | Use of solid state storage devices and the like in data deduplication | |
US8914338B1 (en) | Out-of-core similarity matching | |
US9367448B1 (en) | Method and system for determining data integrity for garbage collection of data storage systems | |
US9424185B1 (en) | Method and system for garbage collection of data storage systems | |
US9183218B1 (en) | Method and system to improve deduplication of structured datasets using hybrid chunking and block header removal | |
US11507539B2 (en) | Apparatus and method for storing received data blocks as deduplicated data blocks | |
US8756249B1 (en) | Method and apparatus for efficiently searching data in a storage system | |
EP2361417A2 (en) | Methods and apparatus for content-aware data partitioning and data de-duplication | |
CN102799598A (en) | Data recovery methods for deduplication | |
KR20150122533A (en) | Method for generating secondary index and apparatus for storing secondary index | |
US11609849B2 (en) | Deduplication system threshold based on a type of storage device | |
Laurenson | Performance analysis of file carving tools | |
CN105917304A (en) | Apparatus and method for data deduplication | |
CN113767378A (en) | File system metadata deduplication | |
CN113366463B (en) | Systems, methods and apparatus for eliminating copies and value redundancy in computer memory | |
CN106648991A (en) | Duplicated data deletion method in data recovery system | |
US20140032507A1 (en) | De-duplication using a partial digest table | |
KR101729624B1 (en) | Variable block processing file system and file variable block processing method based on fixed block | |
KR101553028B1 (en) | Variable processing file system and file variable processing method based on fixed block | |
US20240143213A1 (en) | Fingerprint tracking structure for storage system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
St.27 status event code: A-0-1-A10-A12-nap-PA0109 |
|
PA0201 | Request for examination |
St.27 status event code: A-1-2-D10-D11-exm-PA0201 |
|
D13-X000 | Search requested |
St.27 status event code: A-1-2-D10-D13-srh-X000 |
|
D14-X000 | Search report completed |
St.27 status event code: A-1-2-D10-D14-srh-X000 |
|
PE0902 | Notice of grounds for rejection |
St.27 status event code: A-1-2-D10-D21-exm-PE0902 |
|
E13-X000 | Pre-grant limitation requested |
St.27 status event code: A-2-3-E10-E13-lim-X000 |
|
P11-X000 | Amendment of application requested |
St.27 status event code: A-2-2-P10-P11-nap-X000 |
|
P13-X000 | Application amended |
St.27 status event code: A-2-2-P10-P13-nap-X000 |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
St.27 status event code: A-1-2-D10-D22-exm-PE0701 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
St.27 status event code: A-2-4-F10-F11-exm-PR0701 |
|
PR1002 | Payment of registration fee |
St.27 status event code: A-2-2-U10-U11-oth-PR1002 Fee payment year number: 1 |
|
PG1601 | Publication of registration |
St.27 status event code: A-4-4-Q10-Q13-nap-PG1601 |
|
P14-X000 | Amendment of ip right document requested |
St.27 status event code: A-5-5-P10-P14-nap-X000 |
|
R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |
|
FPAY | Annual fee payment |
Payment date: 20180712 Year of fee payment: 4 |
|
PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 4 |
|
FPAY | Annual fee payment |
Payment date: 20190703 Year of fee payment: 5 |
|
PR1001 | Payment of annual fee |
St.27 status event code: A-4-4-U10-U11-oth-PR1001 Fee payment year number: 5 |
|
PC1903 | Unpaid annual fee |
St.27 status event code: A-4-4-U10-U13-oth-PC1903 Not in force date: 20200909 Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE |
|
PC1903 | Unpaid annual fee |
St.27 status event code: N-4-6-H10-H13-oth-PC1903 Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE Not in force date: 20200909 |
|
PN2301 | Change of applicant |
St.27 status event code: A-5-5-R10-R13-asn-PN2301 St.27 status event code: A-5-5-R10-R11-asn-PN2301 |
|
R18-X000 | Changes to party contact information recorded |
St.27 status event code: A-5-5-R10-R18-oth-X000 |