[go: up one dir, main page]

KR102777675B1 - Method and device for preventing data fragmentation of large amount of data for streaming - Google Patents

Method and device for preventing data fragmentation of large amount of data for streaming Download PDF

Info

Publication number
KR102777675B1
KR102777675B1 KR1020210190112A KR20210190112A KR102777675B1 KR 102777675 B1 KR102777675 B1 KR 102777675B1 KR 1020210190112 A KR1020210190112 A KR 1020210190112A KR 20210190112 A KR20210190112 A KR 20210190112A KR 102777675 B1 KR102777675 B1 KR 102777675B1
Authority
KR
South Korea
Prior art keywords
file
container
fragmentation
streaming
files
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.)
Active
Application number
KR1020210190112A
Other languages
Korean (ko)
Other versions
KR20230100337A (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 KR1020210190112A priority Critical patent/KR102777675B1/en
Publication of KR20230100337A publication Critical patent/KR20230100337A/en
Application granted granted Critical
Publication of KR102777675B1 publication Critical patent/KR102777675B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/1724Details of de-fragmentation performed by the file system
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/162Delete operations
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools

Landscapes

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

Abstract

본 발명에 따른 스트리밍용 대용량 데이터의 단편화 방지 방법은, 저장 매체에 대한 파일 사전 할당(File Pre-allocation) 프로세스를 통해 재사용 가능한 컨테이너 파일들을 작성하는 저장 매체 초기화 단계; 데이터 저장시, 상기 저장 매체 초기화 단계를 통해 생성된 컨테이너 파일들 중 할당되지 않은 컨테이너 파일에 대한 링크 파일을 생성하여 해당 컨테이너 파일을 할당하여 사용하는 파일 할당 단계; 및 사용 완료에 따른 파일 반환시, 해당 컨테이너 파일에 대한 링크 파일을 삭제하는 파일 반환 단계;를 포함한다. The method for preventing fragmentation of large-capacity data for streaming according to the present invention includes a storage medium initialization step of creating reusable container files through a file pre-allocation process for a storage medium; a file allocation step of creating link files for unallocated container files among the container files created through the storage medium initialization step when storing data and allocating and using the corresponding container files; and a file return step of deleting the link files for the corresponding container files when returning files upon completion of use.

Description

스트리밍용 대용량 데이터의 단편화 방지 방법 및 장치{METHOD AND DEVICE FOR PREVENTING DATA FRAGMENTATION OF LARGE AMOUNT OF DATA FOR STREAMING}{METHOD AND DEVICE FOR PREVENTING DATA FRAGMENTATION OF LARGE AMOUNT OF DATA FOR STREAMING}

본 발명은 비휘발성 저장 매체에 스트리밍용 대용량 데이터를 저장하는데 있어 단편화를 방지하기 위한 기술에 관한 것이다. The present invention relates to a technique for preventing fragmentation when storing large-capacity data for streaming in a non-volatile storage medium.

데이터를 취급하는 과정에서 데이터의 저장 및 삭제가 반복되면 저장 매체의 공간이 여러 조각으로 나뉘는 단편화가 발생될 수 있다. 특히, 스트리밍용 대용량 데이터를 취급하는 파일 시스템은 유휴 시간이 존재하지 않은 경우가 많으며, 그로 인한 단편화가 더욱 심각해질 수 있다. In the process of handling data, if data is repeatedly saved and deleted, fragmentation may occur, where the space of the storage medium is divided into several pieces. In particular, file systems that handle large amounts of data for streaming often do not have idle time, and fragmentation due to this can become more serious.

이에, 단편화가 발생하지 않는 데이터 저장 방식이 요구 되지만 기존의 파일시스템(예 : ext4 등)을 사용하는 경우 필연적으로 단편화가 발생하게 되며, 발생된 단편화의 제거는 쉽지 않은 실정이다. Accordingly, a data storage method that does not cause fragmentation is required, but when using existing file systems (e.g. ext4, etc.), fragmentation inevitably occurs, and removing the fragmentation that has occurred is not easy.

현재, 비휘발성 저장 매체에 스트리밍용 대용량 데이터를 저장하는데 있어 기존의 파일시스템을 사용하면서도 단편화를 효과적으로 방지할 수 있는 기술의 개발이 필요하다 할 것이다. Currently, there is a need to develop a technology that can effectively prevent fragmentation while using existing file systems to store large amounts of streaming data on non-volatile storage media.

한국공개특허 10-2015-0137661호Korean Patent Publication No. 10-2015-0137661

본 발명은 상술된 문제점을 해결하기 위해 도출된 것으로, 비휘발성 저장 매체에 스트리밍용 대용량 데이터를 저장하는데 있어 기존의 파일시스템을 사용하면서도 단편화를 효과적으로 방지할 수 있는 단편화 방지 방법 및 장치을 제공하고자 한다. The present invention has been made to solve the above-described problems, and aims to provide a fragmentation prevention method and device capable of effectively preventing fragmentation while using an existing file system when storing large amounts of data for streaming in a non-volatile storage medium.

본 발명의 일 측면에 따른 스트리밍용 대용량 데이터의 단편화 방지 방법은, 저장 매체에 대한 파일 사전 할당(File Pre-allocation) 프로세스를 통해 재사용 가능한 컨테이너 파일들을 작성하는 저장 매체 초기화 단계; 데이터 저장시, 상기 저장 매체 초기화 단계를 통해 생성된 컨테이너 파일들 중 할당되지 않은 컨테이너 파일에 대한 링크 파일을 생성하여 해당 컨테이너 파일을 할당하여 사용하는 파일 할당 단계; 및 사용 완료에 따른 파일 반환시, 해당 컨테이너 파일에 대한 링크 파일을 삭제하는 파일 반환 단계;를 포함한다. A method for preventing fragmentation of large-capacity data for streaming according to one aspect of the present invention includes: a storage medium initialization step of creating reusable container files through a file pre-allocation process for a storage medium; a file allocation step of creating link files for unallocated container files among the container files created through the storage medium initialization step when storing data and allocating and using the corresponding container files; and a file return step of deleting the link files for the corresponding container files when returning files upon completion of use.

일 실시예에서, 상기 저장 매체 초기화 단계는, 저장 매체의 파티션을 설정하는 단계; 상기 설정된 파티션을 포맷하는 단계; 기정의된 크기 및 개수의 사전 할당 파일들(pre-allocated files)을 생성하는 단계; 및 모든 블록들을 폐기(discard or trim)하는 단계;를 포함할 수 있다. In one embodiment, the storage medium initialization step may include: setting up a partition of the storage medium; formatting the set partition; creating pre-allocated files of a predetermined size and number; and discarding or trimming all blocks.

일 실시예에서, 상기 저장 매체 초기화 단계는 초기화된 상기 컨테이너 파일들의 참조 카운트(usage count)를 제1 넘버로 정의하는 단계; 를 더 포함할 수 있다. In one embodiment, the storage medium initialization step may further include a step of defining a usage count of the initialized container files as a first number.

일 실시예에서, 상기 파일 할당 단계는 참조 카운트(usage count)가 제1 넘버로 정의된 컨테이너 파일을 검색하는 단계; 제1 넘버로 정의된 컨테이너 파일 중, 요구되는 사이즈를 갖는 컨테이너 파일을 할당하는 단계; 및 상기 할당된 컨테이너 파일에 대한 참조 카운트(usage count)를 제2 넘버로 변경하는 단계;를 포함할 수 있다.In one embodiment, the file allocation step may include: searching for a container file whose usage count is defined as a first number; allocating a container file having a required size among the container files defined as the first number; and changing the usage count for the allocated container file to a second number.

일 실시예에서, 상기 파일 반환 단계는 해당 컨테이너 파일에 대한 링크 파일을 삭제하여 파일을 반환하는 단계; 및 해당 컨테이너 파일에 대한 참조 카운트(usage count)를 제1 넘버로 변경하는 단계;를 포함할 수 있다. In one embodiment, the file returning step may include: returning the file by deleting a link file for the corresponding container file; and changing a usage count for the corresponding container file to a first number.

일 실시예에서, 상기 파일 반환 단계는 반환되는 파일을 구성하는 블록들에 대한 정보를 수집하는 단계; 및 상기 수집된 정보에 기초하여 해당 블록들을 폐기(discard or trim)하는 단계;를 포함할 수 있다. In one embodiment, the file returning step may include: collecting information about blocks constituting the returned file; and discarding or trimming the blocks based on the collected information.

본 발명의 다른 일 측면에 따른 스트리밍용 대용량 데이터의 단편화 방지 장치는, 데이터 저장을 지원하는 저장 매체; 및 저장 매체에 데이터를 저장하는 프로세서;를 포함한다. 여기에서, 상기 프로세서는, 저장 매체에 대한 파일 사전 할당(File Pre-allocation) 프로세스를 통해 재사용 가능한 컨테이너 파일들을 작성하는 저장 매체 초기화부와, 데이터 저장시, 상기 저장 매체 초기화부를 통해 생성된 컨테이너 파일들 중 할당되지 않은 컨테이너 파일에 대한 링크 파일을 생성하여 해당 컨테이너 파일을 할당하여 사용하는 파일 할당부와, 사용 완료에 따른 파일 반환시, 해당 컨테이너 파일에 대한 링크 파일을 삭제하는 파일 반환부를 포함할 수 있다. According to another aspect of the present invention, a device for preventing fragmentation of large-capacity data for streaming includes: a storage medium that supports data storage; and a processor that stores data in the storage medium. Here, the processor may include: a storage medium initialization unit that creates reusable container files through a file pre-allocation process for the storage medium; a file allocation unit that creates a link file for an unallocated container file among the container files created through the storage medium initialization unit when storing data, and allocates and uses the corresponding container file; and a file return unit that deletes the link file for the corresponding container file when returning the file upon completion of use.

본 발명에 따르면, 비휘발성 저장 매체에 스트리밍용 대용량 데이터를 저장하는데 있어 기존의 파일시스템을 사용하면서도 단편화를 효과적으로 방지할 수 있는 장점이 있다. According to the present invention, there is an advantage in that fragmentation can be effectively prevented while using an existing file system to store large amounts of data for streaming in a non-volatile storage medium.

본 발명에 따르면, 스트리밍용 대용량 데이터를 저장하고 처리하는 임베디드 장비또는 네트워크 서버에 구비되는 저장 매체를 유휴 시간(예 : 장비 점검 등) 없이 운용할 수 있는 장점이 있다. According to the present invention, there is an advantage in that a storage medium equipped in an embedded device or network server that stores and processes large-capacity data for streaming can be operated without idle time (e.g., equipment inspection, etc.).

도 1은 본 발명에 따른 단편화 방지 장치을 설명하기 위한 참조도이다.
도 2 내지 7은 본 발명의 다양한 실시예에 따른 단편화 방지 방법을 설명하기 위한 참조도이다.
Figure 1 is a reference diagram for explaining a fragmentation prevention device according to the present invention.
Figures 2 to 7 are reference diagrams for explaining fragmentation prevention methods according to various embodiments of the present invention.

본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.The present invention can be modified in various ways and has various embodiments, and specific embodiments are illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the present invention to specific embodiments, and it should be understood that it includes all modifications, equivalents, and substitutes included in the spirit and technical scope of the present invention. In describing the present invention, if it is determined that a specific description of a related known technology may obscure the gist of the present invention, the detailed description thereof will be omitted.

제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. The terms first, second, etc. may be used to describe various components, but the components should not be limited by the terms. The terms are used only to distinguish one component from another.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 이하, 본 발명의 실시예를 첨부한 도면들을 참조하여 상세히 설명하기로 한다. The terminology used in this application is only used to describe specific embodiments and is not intended to limit the present invention. The singular expression includes the plural expression unless the context clearly indicates otherwise. In this application, it should be understood that the terms "comprise" or "have" and the like are intended to specify that a feature, number, step, operation, component, part or combination thereof described in the specification is present, but do not exclude in advance the possibility of the presence or addition of one or more other features, numbers, steps, operations, components, parts or combinations thereof. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명에 따른 단편화 방지 장치을 설명하기 위한 참조도이고, 도 2 내지 7은 본 발명의 다양한 실시예에 따른 단편화 방지 방법을 설명하기 위한 참조도이다. FIG. 1 is a reference diagram for explaining a fragmentation prevention device according to the present invention, and FIGS. 2 to 7 are reference diagrams for explaining a fragmentation prevention method according to various embodiments of the present invention.

우선, 도 1을 참조하면, 단편화 방지 장치는 프로세서(100) 및 저장 매체(200)를 포함하여 구성될 수 있다. First, referring to FIG. 1, the fragmentation prevention device may be configured to include a processor (100) and a storage medium (200).

본 발명에 따른 저장 매체(200)는 비휘발성 저장 매체에 해당할 수 있으며, 예를 들어, HDD, SSD 및 SDCARD 중 어느 하나에 해당할 수 있다. 한편, 본 발명에 따른 저장 매체(200)는 이하에서 설명하는 단편화 방법이 구현 가능한 파일 시스템이 구비된 저장 매체로, 본 발명의 명확한 설명을 위해 ext4 파일 시스템을 예시로 하여 설명하나, 이러한 예시는 본 발명의 권리범위를 한정하고자 하는 것은 아니다. The storage medium (200) according to the present invention may correspond to a nonvolatile storage medium, and may correspond to, for example, one of HDD, SSD, and SDCARD. Meanwhile, the storage medium (200) according to the present invention is a storage medium equipped with a file system capable of implementing the fragmentation method described below. For the purpose of a clear explanation of the present invention, the ext4 file system is used as an example, but this example is not intended to limit the scope of the rights of the present invention.

프로세서(100)는 저장 매체(200)에 데이터 저장 프로세스를 수행하며, 저장 매체 초기화부(110), 파일 할당부(120) 및 파일 반환부(130)를 포함하여 구성된다. The processor (100) performs a data storage process in a storage medium (200) and is configured to include a storage medium initialization unit (110), a file allocation unit (120), and a file return unit (130).

저장 매체 초기화부(110)는 저장 매체(200)에 대한 파일 사전 할당(File Pre-allocation) 프로세스를 통해 재사용 가능한 컨테이너 파일들을 작성한다(저장 매체 초기화 단계). The storage medium initialization unit (110) creates reusable container files through a file pre-allocation process for the storage medium (200) (storage medium initialization step).

일 실시예에서, 저장 매체 초기화 단계는 도 2에 도시된 바와 같이, 저장 매체(200)의 파티션을 설정하는 단계(S210), 설정된 파티션을 포맷하는 단계(S220), 기정의된 크기 및 개수의 사전 할당 파일들(pre-allocated files)을 생성하는 단계(S230) 및 모든 블록들을 폐기(discard or trim)하는 단계(S240)로 진행될 수 있다. In one embodiment, the storage medium initialization step may proceed as follows: a step of setting a partition of the storage medium (200) (S210), a step of formatting the set partition (S220), a step of creating pre-allocated files of a predefined size and number (S230), and a step of discarding or trimming all blocks (S240), as illustrated in FIG. 2.

저장 매체 초기화 단계에서, 저장 매체 초기화부(110)는 초기화된 컨테이너 파일들의 참조 카운트(usage count)를 제1 넘버로 정의할 수 있다. 예를 들어, 도 3에 도시된 바와 같이, 저장 매체 초기화부(110)는 파일 사전 할당(File Pre-allocation) 프로세스를 통해 재사용 가능한 다수의 컨테이너 파일들(FILE1, … FILE7, …)을 기정의된 크기 단위로 작성하고, 컨테이너 파일들의 참조 카운트(usage count)를 1로 정의할 수 있다. 한편, ext4 파일 시스템에서 파일 참조 카운트(usage count)는 inode link count로 구현될 수 있다. In the storage medium initialization step, the storage medium initialization unit (110) can define the reference count (usage count) of the initialized container files as the first number. For example, as illustrated in FIG. 3, the storage medium initialization unit (110) can create a plurality of reusable container files (FILE1, ... FILE7, ...) in predefined size units through a file pre-allocation process, and define the reference count (usage count) of the container files as 1. Meanwhile, in the ext4 file system, the file reference count (usage count) can be implemented as an inode link count.

파일 할당부(120)는 데이터 저장시 저장 매체 초기화부(110)를 통해 생성된 컨테이너 파일들 중 할당되지 않은 컨테이너 파일에 대한 링크 파일을 생성하여 해당 컨테이너 파일을 할당하여 사용한다(파일 할당 단계). 여기에서, 링크 파일은 특정 데이터가 저장 매체(200)에 저장된 위치 정보를 포함하는 파일로, 예를 들어 ext4 파일 시스템에서 hard link file로 구현될 수 있다. The file allocation unit (120) creates a link file for an unallocated container file among the container files created through the storage medium initialization unit (110) when storing data, and allocates and uses the container file (file allocation step). Here, the link file is a file that includes information on the location where specific data is stored in the storage medium (200), and can be implemented as a hard link file in an ext4 file system, for example.

일 실시예에서, 파일 할당 단계는 도 4에 도시된 바와 같이, 참조 카운트(usage count)가 제1 넘버로 정의된 컨테이너 파일을 검색하는 단계(S410) 및 제1 넘버로 정의된 컨테이너 파일이 존재하면, 제1 넘버로 정의된 컨테이너 파일 중, 요구되는 사이즈를 갖는 컨테이너 파일을 할당하는 단계(S420)로 진행될 수 있다. 여기에서, 제1 넘버로 정의된 컨테이너 파일이 존재하지 않으면, 파일 반환 단계(S430)를 진행할 수 있다. In one embodiment, the file allocation step may proceed with a step (S410) of searching for a container file whose reference count (usage count) is defined as a first number, as illustrated in FIG. 4, and a step (S420) of allocating a container file having a required size among the container files defined as the first number, if the container file defined as the first number exists. Here, if the container file defined as the first number does not exist, a file return step (S430) may be performed.

파일 할당 단계에서, 파일 할당부(120)는 할당된 컨테이너 파일에 대한 참조 카운트(usage count)를 제2 넘버로 변경할 수 있다. 예를 들어, 도 5에 도시된 바와 같이, 특정 컨테이너 파일들(FILE2, FILE3, FILE7)이 할당되면 파일 할당부(120)는 할당된 컨테이너 파일들(FILE2, FILE3, FILE7)의 참조 카운트(usage count)를 1에서 2로 변경할 수 있다. In the file allocation step, the file allocation unit (120) can change the reference count (usage count) for the allocated container file to a second number. For example, as illustrated in FIG. 5, when specific container files (FILE2, FILE3, FILE7) are allocated, the file allocation unit (120) can change the reference count (usage count) of the allocated container files (FILE2, FILE3, FILE7) from 1 to 2.

파일 반환부(130)는 사용 완료에 따른 파일 반환시, 해당 컨테이너 파일에 대한 링크 파일을 삭제한다(파일 반환 단계). The file return unit (130) deletes the link file for the container file when the file is returned upon completion of use (file return step).

일 실시예에서, 파일 반환 단계는 도 6에 도시된 바와 같이, 참조 카운트(usage count)가 제2 넘버(예 : 2)로 정의된 컨테이너 파일을 검색하는 단계(S610), 제2 넘버로 정의된 컨테이너 파일에 대한 링크 파일을 삭제하여 파일을 반환하는 단계(S620) 및 반환되는 파일을 구성하는 블록들을 폐기(discard or trim)하는 단계(S630)로 진행될 수 있다. In one embodiment, the file return step may proceed as follows: a step (S610) of searching for a container file whose usage count is defined as a second number (e.g., 2), a step (S620) of returning a file by deleting a link file for the container file defined as the second number, and a step (S630) of discarding or trimming blocks constituting the returned file, as illustrated in FIG. 6.

파일 반환 단계에서, 파일 반환부(130)는 반환되는 컨테이너 파일에 대한 참조 카운트(usage count)를 제1 넘버로 변경할 수 있다. 예를 들어, 도 7에 도시된 바와 같이, 특정 컨테이너 파일들(FILE7)이 반환되면 파일 반환부(130)는 반환된 컨테이너 파일들(FILEFILE7)의 참조 카운트(usage count)를 2에서 1로 변경할 수 있다. 여기에서, 파일 반환부(130)는 반환되는 파일을 구성하는 블록들에 대한 정보를 수집하고, 수집된 정보에 기초하여 해당 블록들을 폐기(discard or trim)할 수 있다. In the file return step, the file return unit (130) can change the reference count (usage count) for the returned container file to the first number. For example, as shown in FIG. 7, when specific container files (FILE7) are returned, the file return unit (130) can change the reference count (usage count) of the returned container files (FILEFILE7) from 2 to 1. Here, the file return unit (130) can collect information on blocks composing the returned file and discard (or trim) the corresponding blocks based on the collected information.

본 발명의 단편화 방지 장치 및 방법에 따르면, 파일 사전 할당(File Pre-allocation) 프로세스를 통해 재사용 가능한 컨테이너 파일들을 작성함으로써, 런타임 할당(run-time allocation) 및 삭제를 회피하여 단편화를 방지할 수 있다. 또한, 파일 반환시에 반환 파일이 사용하는 블록을 폐기(discard or trim)함으로써, 데이터 기록 중 삭제로 인한 쓰기 지연을 방지할 수 있다. According to the fragmentation prevention device and method of the present invention, by creating reusable container files through a file pre-allocation process, fragmentation can be prevented by avoiding run-time allocation and deletion. In addition, by discarding or trimming blocks used by the returned file when returning the file, write delay due to deletion during data recording can be prevented.

상기한 본 발명의 바람직한 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대해 통상의 지식을 가진 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 하기의 특허청구범위에 속하는 것으로 보아야 할 것이다.The above preferred embodiments of the present invention have been disclosed for the purpose of illustration, and those skilled in the art with common knowledge of the present invention will be able to make various modifications, changes, and additions within the spirit and scope of the present invention, and such modifications, changes, and additions should be considered to fall within the scope of the following claims.

100 : 프로세서
110 : 저장 매체 초기화부
120 : 파일 할당부
130 : 파일 반환부
200 : 저장 매체
100 : Processor
110: Initialize storage media
120 : File allocation section
130 : File return section
200 : Storage medium

Claims (7)

단편화 방지 장치의 스트리밍용 대용량 데이터의 단편화 방지 방법에 있어서,
상기 단편화 방지 장치의 저장 매체 초기화부가 저장 매체에 대한 파일 사전 할당(File Pre-allocation) 프로세스를 통해 재사용 가능한 컨테이너 파일들을 작성하는 저장 매체 초기화 단계;
상기 단편화 방지 장치의 파일 할당부가 데이터 저장시, 상기 저장 매체 초기화 단계를 통해 생성된 컨테이너 파일들 중 할당되지 않은 컨테이너 파일에 대한 링크 파일을 생성하여 해당 컨테이너 파일을 할당하여 사용하는 파일 할당 단계; 및
상기 단편화 방지 장치의 파일 반환부가 사용 완료에 따른 파일 반환시, 해당 컨테이너 파일에 대한 링크 파일을 삭제하는 파일 반환 단계;
를 포함하며,
상기 저장 매체 초기화 단계는
초기화된 상기 컨테이너 파일들의 참조 카운트(usage count)를 제1 넘버로 정의하는 단계;
를 더 포함하는 것을 특징으로 하는 스트리밍용 대용량 데이터의 단편화 방지 방법.
In a method for preventing fragmentation of large volume data for streaming by a fragmentation prevention device,
A storage media initialization step in which the storage media initialization unit of the above fragmentation prevention device creates reusable container files through a file pre-allocation process for the storage media;
A file allocation step in which the file allocation section of the fragmentation prevention device creates a link file for an unallocated container file among the container files created through the storage medium initialization step when storing data, and allocates and uses the container file; and
A file return step for deleting a link file for the corresponding container file when the file return section of the above fragmentation prevention device returns a file upon completion of use;
Including,
The above storage media initialization step is
A step of defining the reference count (usage count) of the initialized container files as a first number;
A method for preventing fragmentation of large volume data for streaming, characterized by further including:
제1항에 있어서, 상기 저장 매체 초기화 단계는,
저장 매체의 파티션을 설정하는 단계;
상기 설정된 파티션을 포맷하는 단계;
기정의된 크기 및 개수의 사전 할당 파일들(pre-allocated files)을 상기 포맷된 파티션에 생성하는 단계; 및
상기 사전 할당 파일이 사용하는 모든 블록들을 폐기(discard or trim)하는 단계;
를 포함하는 것을 특징으로 하는 스트리밍용 대용량 데이터의 단편화 방지 방법.
In the first paragraph, the storage medium initialization step,
Steps to set up partitions on the storage media;
Step of formatting the above-set partition;
A step of creating pre-allocated files of a predetermined size and number in the formatted partition; and
A step of discarding or trimming all blocks used by the above pre-allocated file;
A method for preventing fragmentation of large volume data for streaming, characterized by including a.
삭제delete 제1항에 있어서, 상기 파일 할당 단계는
참조 카운트(usage count)가 제1 넘버로 정의된 컨테이너 파일을 검색하는 단계;
제1 넘버로 정의된 컨테이너 파일 중, 요구되는 사이즈를 갖는 컨테이너 파일을 할당하는 단계; 및
상기 할당된 컨테이너 파일에 대한 참조 카운트(usage count)를 제2 넘버로 변경하는 단계;
를 포함하는 것을 특징으로 하는 스트리밍용 대용량 데이터의 단편화 방지 방법.
In the first paragraph, the file allocation step
A step of searching for a container file whose reference count (usage count) is defined as the first number;
A step of allocating a container file having a required size among the container files defined by the first number; and
A step of changing the reference count (usage count) for the allocated container file to a second number;
A method for preventing fragmentation of large volume data for streaming, characterized by including a.
제4항에 있어서, 상기 파일 반환 단계는
해당 컨테이너 파일에 대한 링크 파일을 삭제하여 파일을 반환하는 단계; 및
해당 컨테이너 파일에 대한 참조 카운트(usage count)를 제1 넘버로 변경하는 단계;
를 포함하는 것을 특징으로 하는 스트리밍용 대용량 데이터의 단편화 방지 방법.
In the fourth paragraph, the file return step
Step of returning the file by deleting the link file for the container file; and
A step of changing the reference count (usage count) for the corresponding container file to the first number;
A method for preventing fragmentation of large volume data for streaming, characterized by including a.
제4항에 있어서, 상기 파일 반환 단계는
반환되는 파일을 구성하는 블록들에 대한 정보를 수집하는 단계; 및
상기 수집된 정보에 기초하여 해당 블록들을 폐기(discard or trim)하는 단계;
를 포함하는 것을 특징으로 하는 스트리밍용 대용량 데이터의 단편화 방지 방법.
In the fourth paragraph, the file return step
A step of collecting information about the blocks that make up the returned file; and
A step of discarding or trimming the blocks based on the collected information;
A method for preventing fragmentation of large volume data for streaming, characterized by including a.
스트리밍용 대용량 데이터의 단편화 방지 장치에 있어서,
데이터 저장을 지원하는 저장 매체; 및 저장 매체에 데이터를 저장하는 프로세서;를 포함하되,
상기 프로세서는,
저장 매체에 대한 파일 사전 할당(File Pre-allocation) 프로세스를 통해 재사용 가능한 컨테이너 파일들을 작성하는 저장 매체 초기화부와,
데이터 저장시, 상기 저장 매체 초기화부를 통해 생성된 컨테이너 파일들 중 할당되지 않은 컨테이너 파일에 대한 링크 파일을 생성하여 해당 컨테이너 파일을 할당하여 사용하는 파일 할당부와,
사용 완료에 따른 파일 반환시, 해당 컨테이너 파일에 대한 링크 파일을 삭제하는 파일 반환부를 포함하며,
상기 저장 매체 초기화부는
초기화된 상기 컨테이너 파일들의 참조 카운트(usage count)를 제1 넘버로 정의하는 것을 특징으로 하는 스트리밍용 대용량 데이터의 단편화 방지 장치.
In a device for preventing fragmentation of large volumes of data for streaming,
A storage medium supporting data storage; and a processor storing data in the storage medium;
The above processor,
A storage media initialization section that creates reusable container files through a file pre-allocation process for the storage media, and
When storing data, a file allocation unit creates a link file for an unallocated container file among the container files created through the storage media initialization unit and allocates and uses the container file;
When returning a file upon completion of use, it includes a file return section that deletes the link file for the container file.
The above storage media initialization part
A device for preventing fragmentation of large-capacity data for streaming, characterized in that the reference count (usage count) of the initialized container files is defined as a first number.
KR1020210190112A 2021-12-28 2021-12-28 Method and device for preventing data fragmentation of large amount of data for streaming Active KR102777675B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210190112A KR102777675B1 (en) 2021-12-28 2021-12-28 Method and device for preventing data fragmentation of large amount of data for streaming

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210190112A KR102777675B1 (en) 2021-12-28 2021-12-28 Method and device for preventing data fragmentation of large amount of data for streaming

Publications (2)

Publication Number Publication Date
KR20230100337A KR20230100337A (en) 2023-07-05
KR102777675B1 true KR102777675B1 (en) 2025-03-10

Family

ID=87158821

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210190112A Active KR102777675B1 (en) 2021-12-28 2021-12-28 Method and device for preventing data fragmentation of large amount of data for streaming

Country Status (1)

Country Link
KR (1) KR102777675B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117472188B (en) * 2023-12-07 2024-04-19 联通沃音乐文化有限公司 VR gesture information control device and method

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050050295A1 (en) 1997-11-12 2005-03-03 Noel Karen Lee Managing physical memory in a virtual memory computer
KR100562398B1 (en) 1997-10-31 2006-12-01 썬 마이크로시스템즈, 인코포레이티드 Method and apparatus for pre-processing and packaging class files
US8566371B1 (en) 2007-06-30 2013-10-22 Emc Corporation Reclaiming storage from a file system in a file server
KR101744685B1 (en) * 2015-12-31 2017-06-09 한양대학교 산학협력단 Protection method and apparatus for metadata of file
CN106951183A (en) * 2017-02-27 2017-07-14 南京杰迈视讯科技有限公司 A kind of web camera date storage method of high efficient and reliable
CN108446174A (en) 2018-03-06 2018-08-24 苏州大学 Multinuclear job scheduling method based on pre-allocation of resources and public guiding agency
CN110333887A (en) 2019-07-04 2019-10-15 郑州天迈科技股份有限公司 Vehicle-mounted machine picture recording module upgrades optimization system
CN111221472A (en) 2019-12-26 2020-06-02 天津中科曙光存储科技有限公司 Multi-block allocation strategy optimization method and system for disk space allocation

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150137661A (en) 2014-05-30 2015-12-09 성균관대학교산학협력단 Method and apparatus for fragmentation prevention of non-volatile memory for blackbox device
KR102094786B1 (en) * 2017-11-28 2020-03-31 지인정보기술 주식회사 File system and method of storing files based on the file system

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100562398B1 (en) 1997-10-31 2006-12-01 썬 마이크로시스템즈, 인코포레이티드 Method and apparatus for pre-processing and packaging class files
US20050050295A1 (en) 1997-11-12 2005-03-03 Noel Karen Lee Managing physical memory in a virtual memory computer
US8566371B1 (en) 2007-06-30 2013-10-22 Emc Corporation Reclaiming storage from a file system in a file server
KR101744685B1 (en) * 2015-12-31 2017-06-09 한양대학교 산학협력단 Protection method and apparatus for metadata of file
CN106951183A (en) * 2017-02-27 2017-07-14 南京杰迈视讯科技有限公司 A kind of web camera date storage method of high efficient and reliable
CN108446174A (en) 2018-03-06 2018-08-24 苏州大学 Multinuclear job scheduling method based on pre-allocation of resources and public guiding agency
CN110333887A (en) 2019-07-04 2019-10-15 郑州天迈科技股份有限公司 Vehicle-mounted machine picture recording module upgrades optimization system
CN111221472A (en) 2019-12-26 2020-06-02 天津中科曙光存储科技有限公司 Multi-block allocation strategy optimization method and system for disk space allocation

Also Published As

Publication number Publication date
KR20230100337A (en) 2023-07-05

Similar Documents

Publication Publication Date Title
CN107122131B (en) Thin provisioning method and device
US6636879B1 (en) Space allocation in a write anywhere file system
CN110399310B (en) Method and device for recovering storage space
CN107239412B (en) Storage space configuration method based on Thin-LUN, data writing method and storage equipment
CN106294352B (en) A kind of document handling method, device and file system
US20080320211A1 (en) Nonvolatile memory control device, nonvolatile memory control method, and storage device
US9933945B1 (en) Efficiently shrinking a dynamically-sized volume
US9940331B1 (en) Proactive scavenging of file system snaps
CN111209253B (en) Performance improving method and device for distributed storage device and distributed storage device
CN107122133B (en) Data storage method and device
CN103761053A (en) Data and method for data processing
CN108073507B (en) Processing method and device for kernel crash field data
KR102545067B1 (en) Method, system and computer-readable recording medium for storing metadata of log-structured file system
KR102777675B1 (en) Method and device for preventing data fragmentation of large amount of data for streaming
KR20170065427A (en) Data processing method and apparatus of solid state disk
US10268717B2 (en) System and method for reading file blocks
CN111382126B (en) System and method for deleting file and preventing file recovery
US6981116B2 (en) System and method for information control block tracking streams for universal disk format file systems
EP0116366A2 (en) Method for controlling storage of data sets in memory unit
US20160011792A1 (en) Media control device and control method
CN113157600A (en) Space allocation method of shingled hard disk, file storage system and server
CN115840731A (en) File processing method, computing device and computer storage medium
CN104951569B (en) File system and the file management method for using this document system
CN102981964B (en) The management method of data space and system
US20080022060A1 (en) Data recording apparatus, program product, and data recording method

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20211228

PA0201 Request for examination
PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20240712

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20250228

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20250304

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20250304

End annual number: 3

Start annual number: 1

PG1601 Publication of registration