KR101914260B1 - 파일 관리 방법 및 파일 시스템 - Google Patents

파일 관리 방법 및 파일 시스템 Download PDF

Info

Publication number
KR101914260B1
KR101914260B1 KR1020167032105A KR20167032105A KR101914260B1 KR 101914260 B1 KR101914260 B1 KR 101914260B1 KR 1020167032105 A KR1020167032105 A KR 1020167032105A KR 20167032105 A KR20167032105 A KR 20167032105A KR 101914260 B1 KR101914260 B1 KR 101914260B1
Authority
KR
South Korea
Prior art keywords
file
storage medium
management
access
access mode
Prior art date
Application number
KR1020167032105A
Other languages
English (en)
Other versions
KR20160145743A (ko
Inventor
준 수
광위 주
카이주 루오
Original Assignee
후아웨이 테크놀러지 컴퍼니 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 후아웨이 테크놀러지 컴퍼니 리미티드 filed Critical 후아웨이 테크놀러지 컴퍼니 리미티드
Publication of KR20160145743A publication Critical patent/KR20160145743A/ko
Application granted granted Critical
Publication of KR101914260B1 publication Critical patent/KR101914260B1/ko

Links

Images

Classifications

    • G06F17/30082
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/122File system administration, e.g. details of archiving or snapshots using management policies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1847File system types specifically adapted to static storage, e.g. adapted to flash memory or SSD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/185Hierarchical storage management [HSM] systems, e.g. file migration or policies thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • G06F3/0649Lifecycle management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems

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)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Abstract

파일 관리 방법 및 파일 시스템이 데이터 처리 기술 분야에 적용된다. 파일 시스템은, 파일의 IO 액세스 모드에 따라 파일의 저장 매체 및 파일 관리 그래뉼래리티를 동적으로 조정하기 위해, 파일을 조작하기 위한 IO 액세스 정보를 모니터링하고, 파일의 IO 액세스 모드를 결정하고, IO 액세스 모드에 따라 대응되는 파일 관리 정책을 결정하고, 최종적으로, 획득된 파일 관리 정책이 파일의 현재 관리 방식과 일치하지 않을 경우, 결정된 파일 관리 정책에 따라, 파일의 현재 관리 방식, 예를 들어 저장 매체 및 파일 관리 그래뉼래리티를 조정한다.

Description

파일 관리 방법 및 파일 시스템{FILE MANAGEMENT METHOD AND FILE SYSTEM}
본 발명은 데이터 처리 기술 분야에 관한 것으로, 보다 구체적으로는 파일 관리 방법 및 파일 시스템에 관한 것이다.
NAND 플래시(FLASH)의 적용과 상변환 메모리(Phase Change Memory, PCM)와 같은 새로운 저장 매체의 출현에 따라, 서로 다른 매체들은 서로 다른 판독 및 기록 특성을 갖는다. 이는 성능 향상을 위해, 파일 시스템으로 하여금 저장 매체에 저장된 파일을 관리하도록 서로 다른 그래뉼래리티(granularity)의 관리 방법을 사용할 것을 요구한다. 예를 들어, 거친(coarse) 그래뉼래리티를 관리에 사용할 경우에는 메타 데이터의 저장 오버헤드와 메타데이터 인덱스 탐색의 시간 지연이 절감될 수 있고, 조밀한(fine) 그래뉼래리티를 관리에 사용할 경우에는 데이터로의 유효한 액세스가 보장될 수 있으며, 대역폭이 낭비되지 않고, 데이터 이송(data migration)이 줄어든다.
종래 기술에서, 파일 시스템은 파일 명칭 또는 파일에 내장된(embeded) 정보에 따라 파일 유형을 식별하고, 상이한 그래뉼래리티의 저장 매체를 파일에 할당한다. 파일 유형이 결정된 후에 파일의 관리 모드가 또한 결정되며, 이는 상대적으로 고정된다.
본 발명의 실시예는, 파일의 IO 액세스 모드에 따라 파일의 현재 관리 방식의 동적 조정을 실현하는 파일 관리 방법 및 파일 시스템을 제공한다.
본 발명의 제1 양상은,
파일을 조작하기(operating) 위한 입출력(input/output, IO) 액세스 정보를 획득하는 단계;
상기 IO 액세스 정보에 대응되는 IO 액세스 모드를 결정하는 단계;
상기 결정된 IO 액세스 모드와 미리 설정된 모드 매칭 라이브러리(library)를 매칭하여 상기 결정된 IO 액세스 모드에 대응되는 파일 관리 정책(policy)을 획득하는 단계; 및
조정된 현재 관리 방식이 상기 결정된 IO 액세스 모드에 대응되는 파일 관리 정책과 일치될 수 있도록, 상기 파일의 현재 관리 방식이 상기 결정된 IO 액세스 모드에 대응되는 파일 관리 정책과 일치하지 않을 경우에 상기 파일의 현재 관리 방식을 조정하는 단계
를 포함하고,
상기 파일 관리 정책은 이하의 정보 - 파일 관리 그래뉼래리티(granularity) 및 파일 저장 매체 유형 - 중 적어도 한 부분을 포함하고, 상기 모드 매칭 라이브러리는 상기 IO 액세스 모드와 상기 파일 관리 정책 간의 관계(correspondence)을 포함하는,
파일 관리 방법을 제공한다.
본 발명의 제1 양상의 제1 실현 가능 방식에서는,
상기 IO 액세스 정보에 대응되는 IO 액세스 모드를 결정하는 단계가,
상기 IO 액세스 정보 내의 파일의 판독 작업 비율이 미리 설정된 값보다 클 경우, 상기 IO 액세스 모드가 판독 작업 모드인 것으로 결정하거나,
상기 IO 액세스 정보 내의 파일의 기록 작업 비율이 미리 설정된 값보다 클 경우, 상기 IO 액세스 모드가 기록 작업 모드인 것으로 결정하거나, 또는
상기 IO 액세스 정보 내의 파일의 기록 작업 비율과 판독 작업 비율 간의 차이가 미리 설정된 값보다 작을 경우, 상기 IO 액세스 모드가 판독/기록 하이브리드(hybrid) 작업 모드인 것으로 결정하는 것을 포함한다.
본 발명의 제1 양상 또는 제1 양상의 제1 실현 가능 방식을 참조한, 본 발명의 제1 양상의 제2 실현 가능 방식에서는,
상기 파일의 현재 관리 방식이 상기 결정된 IO 액세스 모드에 대응되는 파일 관리 정책과 일치하지 않을 경우에 상기 파일의 현재 관리 방식을 조정하는 단계가,
상기 획득된 파일 관리 정책에 포함된 상기 파일 관리 그래뉼래리티가 상기 파일의 현재 파일 관리 방식에서의 파일 관리 그래뉼래리티와 일치하지 않을 경우, 상기 파일의 관리 그래뉼래리티를 업데이트하는 단계; 및
업데이트된 메타데이터가 상기 업데이트된 관리 그래뉼래리티에 관한 정보를 포함할 수 있도록 상기 파일의 메타데이터를 업데이트하는 단계
를 포함한다.
본 발명의 제1 양상 또는 제1 양상의 제1 실현 가능 방식을 참조한, 본 발명의 제1 양상의 제3 실현 가능 방식에서는,
상기 파일의 현재 관리 방식이 상기 결정된 IO 액세스 모드에 대응되는 파일 관리 정책과 일치하지 않을 경우에 상기 파일의 현재 관리 방식을 조정하는 단계가,
상기 획득된 파일 관리 정책에 포함된 상기 파일 저장 매체 유형이 상기 파일의 현재 관리 방식에서의 저장 매체와 일치하지 않을 경우, 상기 파일을 저장하는 데에 사용되는 저장 블록을 타깃 저장 매체에 신청하는(apply) 단계;
상기 파일을 소스(source) 저장 매체에서 상기 신청된 저장 블록에게로 이송하는 단계; 및
새로운 메타 데이터가 상기 이송된 파일의 저장 정보를 포함할 수 있도록 상기 새로운 메타 데이터를 생성하는 단계
를 포함하며,
상기 타깃 저장 매체는 상기 파일 관리 정책에 포함된 파일 저장 매체 유형과 일치하는 저장 매체이고, 상기 파일이 현재 위치해 있는 저장 매체가 상기 소스 저장 매체이다.
본 발명의 제1 양상의 제3 실현 가능 방식을 참조한, 본 발명의 제1 양상의 제4 실현 가능 방식에서는,
조작되도록 요청된 파일이 상기 파일을 조작하기 위한 IO 액세스 요청에 따라 조작될 때, 조작되도록 요청된 상기 파일 내의 제1 파일 부분이 상기 소스 저장 매체 내에 저장되지 않고, 상기 IO 액세스 모드에 대응되는 파일 관리 정책 내의 파일 저장 매체 유형에 따라 제2 파일 부분이 상기 소스 저장 매체 내에 저장되는 경우, 상기 이송하는 단계 이후에 상기 타깃 저장 매체 내에서 상기 제1 파일 부분을 조작하고, 상기 소스 저장 매체 내에서 상기 제2 파일 부분을 조작하는 단계
를 더 포함한다.
본 발명의 제2 양상은,
파일을 조작하기 위한 입출력(input/output, IO) 액세스 정보를 획득하도록 구성된 정보 획득 유닛;
상기 정보 획득 유닛에 의해 획득된 IO 액세스 정보에 대응되는 IO 액세스 모드를 결정하도록 구성된 액세스 모드 결정 유닛;
상기 액세스 모드 결정 유닛에 의해 결정된 IO 액세스 모드와 미리 설정된 모드 매칭 라이브러리를 매칭하여 상기 결정된 IO 액세스 모드에 대응되는 파일 관리 정책을 획득하도록 구성된 관리 획득 유닛; 및
조정된 현재 관리 방식이 상기 결정된 IO 액세스 모드에 대응되는 파일 관리 정책과 일치될 수 있도록, 상기 파일의 현재 관리 방식이 상기 관리 획득 유닛에 의해 결정된 IO 액세스 모드에 대응되는 파일 관리 정책과 일치하지 않을 경우에 상기 파일의 현재 관리 방식을 조정하도록 구성된 조정 유닛
을 포함하고,
상기 파일 관리 정책은 이하의 정보 - 파일 관리 그래뉼래리티 및 파일 저장 매체 유형 - 중 적어도 한 부분을 포함하고, 상기 모드 매칭 라이브러리는 상기 IO 액세스 모드와 상기 파일 관리 정책 간의 관계을 포함하는,
파일 시스템을 제공한다.
본 발명의 제2 양상의 제1 실현 가능 방식에서,
상기 액세스 모드 결정 유닛은,
상기 정보 획득 유닛에 의해 획득된 IO 액세스 정보 내의 파일의 판독 작업 비율이 미리 설정된 값보다 클 경우, 상기 IO 액세스 모드가 판독 작업 모드인 것으로 결정하거나,
상기 정보 획득 유닛에 의해 획득된 IO 액세스 정보 내의 파일의 기록 작업 비율이 미리 설정된 값보다 클 경우, 상기 IO 액세스 모드가 기록 작업 모드인 것으로 결정하거나, 또는
상기 정보 획득 유닛에 의해 획득된 IO 액세스 정보 내의 파일의 기록 작업 비율과 판독 작업 비율 간의 차이가 미리 설정된 값보다 작을 경우, 상기 IO 액세스 모드가 판독/기록 하이브리드 작업 모드인 것으로 결정하도록 구성되어 있다.
본 발명의 제2 양상 또는 제2 양상의 제1 실현 가능 방식을 참조한, 본 발명의 제2 양상의 제2 실현 가능 방식에서는,
상기 조정 유닛이,
상기 획득된 파일 관리 정책에 포함된 상기 파일 관리 그래뉼래리티가 상기 파일의 현재 파일 관리 방식에서의 파일 관리 그래뉼래리티와 일치하지 않을 경우에 상기 파일의 관리 그래뉼래리티를 업데이트하고, 업데이트된 메타데이터가 상기 업데이트된 관리 그래뉼래리티에 관한 정보를 포함할 수 있도록 상기 파일의 메타데이터를 업데이트하도록 구성된 업데이트 유닛을 포함한다.
본 발명의 제2 양상 또는 제2 양상의 제1 실현 가능 방식을 참조한, 본 발명의 제2 양상의 제3 실현 가능 방식에서는,
상기 조정 유닛이,
상기 획득된 파일 관리 정책에 포함된 상기 파일 저장 매체 유형이 상기 파일의 현재 관리 방식에서의 저장 매체와 일치하지 않을 경우에 상기 파일을 저장하는 데에 사용되는 저장 블록을 타깃 저장 매체에 신청하고, 상기 파일을 소스 저장 매체에서 상기 신청된 저장 블록에게로 이송하도록 구성된 이송 유닛; 및
새로운 메타 데이터가 상기 이송 유닛에 의해 이송된 파일의 저장 정보를 포함할 수 있도록 상기 새로운 메타 데이터를 생성하도록 구성된 생성 유닛
을 포함하며,
상기 파일이 현재 위치해 있는 저장 매체가 상기 소스 저장 매체이고, 상기 타깃 저장 매체는 상기 파일 관리 정책에 포함된 파일 저장 매체 유형과 일치하는 저장 매체이다.
본 발명의 제2 양상의 제3 실현 가능 방식을 참조한, 본 발명의 제2 양상의 제4 실현 가능 방식에서는,
조작되도록 요청된 파일이 상기 파일을 조작하기 위한 IO 액세스 요청에 따라 조작될 때, 조작되도록 요청된 상기 파일 내의 제1 파일 부분이 상기 소스 저장 매체 내에 저장되지 않고, 상기 IO 액세스 모드에 대응되는 파일 관리 정책 내의 파일 저장 매체 유형에 따라 제2 파일 부분이 상기 소스 저장 매체 내에 저장되는 경우, 상기 이송 이후에 상기 타깃 저장 매체 내에서 상기 제1 파일 부분을 조작하고, 상기 소스 저장 매체 내에서 상기 제2 파일 부분을 조작하도록 구성되는 파일 조작 유닛을 더 포함한다.
본 발명의 제3 양상은,
상기 파일 시스템은 버스에 개별적으로 연결되어 있는 프로세서 및 다수의 메모리를 포함하고,
상기 프로세서는, 파일을 조작하기 위한 입출력(input/output, IO) 액세스 정보를 획득하고; 상기 획득된 IO 액세스 정보에 대응되는 IO 액세스 모드를 결정하고; 상기 결정된 IO 액세스 모드와 미리 설정된 모드 매칭 라이브러리를 매칭하여 상기 결정된 IO 액세스 모드에 대응되는 파일 관리 정책을 획득하고; 조정된 현재 관리 방식이 상기 결정된 IO 액세스 모드에 대응되는 파일 관리 정책과 일치될 수 있도록, 상기 파일의 현재 관리 방식이 상기 결정된 IO 액세스 모드에 대응되는 파일 관리 정책과 일치하지 않을 경우에 상기 파일의 현재 관리 방식을 조정하도록 구성되어 있고,
상기 파일 관리 정책은 이하의 정보 - 파일 관리 그래뉼래리티 및 파일 저장 매체 유형 - 중 적어도 한 부분을 포함하고, 상기 모드 매칭 라이브러리는 상기 IO 액세스 모드와 상기 파일 관리 정책 간의 관계을 포함하며,
상기 파일 저장 매체는 상기 메모리인,
파일 시스템을 제공한다.
본 발명의 제3 양상의 제1 실현 가능 방식에서,
상기 프로세서는,
상기 IO 액세스 정보 내의 파일의 판독 작업 비율이 미리 설정된 값보다 클 경우, 상기 IO 액세스 모드가 판독 작업 모드인 것으로 결정하거나,
상기 IO 액세스 정보 내의 파일의 기록 작업 비율이 미리 설정된 값보다 클 경우, 상기 IO 액세스 모드가 기록 작업 모드인 것으로 결정하거나, 또는
상기 IO 액세스 정보 내의 파일의 기록 작업 비율과 판독 작업 비율 간의 차이가 미리 설정된 값보다 작을 경우, 상기 IO 액세스 모드가 판독/기록 하이브리드(hybrid) 작업 모드인 것으로 결정하도록 구성되어 있다.
본 발명의 제3 양상 또는 제3 양상의 제1 실현 가능 방식을 참조한, 본 발명의 제3 양상의 제2 실현 가능 방식에서,
상기 프로세서는, 상기 획득된 파일 관리 정책에 포함된 상기 파일 관리 그래뉼래리티가 상기 파일의 현재 파일 관리 방식에서의 파일 관리 그래뉼래리티와 일치하지 않을 경우에 상기 파일의 관리 그래뉼래리티를 업데이트하고, 업데이트된 메타데이터가 상기 업데이트된 관리 그래뉼래리티에 관한 정보를 포함할 수 있도록 상기 파일의 메타데이터를 업데이트하도록 구성되어 있다.
본 발명의 제3 양상 또는 제3 양상의 제1 실현 가능 방식을 참조한, 본 발명의 제3 양상의 제3 실현 가능 방식에서,
상기 프로세서는, 상기 획득된 파일 관리 정책에 포함된 상기 파일 저장 매체 유형이 상기 메모리에 저장되어 있는 파일의 현재 관리 방식에서의 저장 매체와 일치하지 않을 경우에 상기 파일을 저장하는 데에 사용되는 저장 블록을 타깃 저장 매체에 신청하고, 상기 파일을 소스 저장 매체에서 상기 신청된 저장 블록에게로 이송하고, 새로운 메타 데이터가 상기 이송 유닛에 의해 이송된 파일의 저장 정보를 포함할 수 있도록 상기 새로운 메타 데이터를 생성하도록 구성되어 있고,
상기 파일이 현재 위치해 있는 저장 매체가 상기 소스 저장 매체이고, 상기 타깃 저장 매체는 상기 파일 관리 정책에 포함된 파일 저장 매체 유형과 일치하는 저장 매체이다.
본 발명의 제3 양상의 제3 실현 가능 방식을 참조한, 본 발명의 제3 양상의 제4 실현 가능 방식에서,
상기 프로세서는, 조작되도록 요청된 파일이 상기 파일을 조작하기 위한 IO 액세스 요청에 따라 조작될 때, 조작되도록 요청된 상기 파일 내의 제1 파일 부분이 상기 소스 저장 매체 내에 저장되지 않고, 상기 IO 액세스 모드에 대응되는 파일 관리 정책 내의 파일 저장 매체 유형에 따라 제2 파일 부분이 상기 소스 저장 매체 내에 저장되는 경우, 상기 이송 이후에 상기 타깃 저장 매체 내에서 상기 제1 파일 부분을 조작하고, 상기 소스 저장 매체 내에서 상기 제2 파일 부분을 조작하도록 더 구성되어 있다.
본 발명의 실시예에서, 파일 시스템은 파일을 조작(예를 들어 판독 및 기록 작업을 수행)하기 위한 IO 액세스 정보를 모니터링하고, 파일의 IO 액세스 모드를 결정하고, IO 액세스 모드에 따라 대응되는 파일 관리 정책을 결정하고, 최종적으로 파일 관리 정책에 따라 파일의 현재 관리 방식을 동적으로 조정한다는 것을 알 수 있다. 이와 같이 함으로써, 파일 관리 도중에, 파일의 상이한 IO 액세스 모드에 따라 상이한 파일 관리 정책이 대응적으로 사용될 수 있으며, 즉, 상이한 파일 관리 그래뉼래리티 및/또는 상이한 파일 저장 매체가 사용되며, 이로써 파일로의 액세스 성능이 최적화될 수 있고 저장 매체의 특성이 최대한 발휘된다(played).
본 발명 또는 종래기술의 실시예에서의 기술적 해결책을 설명하기 위해, 이하에서는 실시예 또는 종래 기술을 설명하기 위해 필요한 첨부 도면들을 간략하게 소개한다. 명백하게는, 이하 설명의 첨부 도면들은 본 발명의 일부 실시예만을 보여주는 것이며, 통상의 기술자는 창조적 수고 없이 이 첨부 도면들로부터 다른 도면들을 더 도출할 수 있다.
도 1은 본 발명의 일 실시예에 따른 파일 관리 방법의 흐름도이다.
도 2는 본 발명의 일 실시예에 따른 다른 파일 관리 방법의 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 파일 시스템의 구조적 모식도이다.
도 4는 본 발명의 일 실시예에 따른 파일 이송의 모식도이다.
도 5는 본 발명의 일 실시예에 따른 다른 파일 시스템의 구조적 모식도이다.
도 6은 본 발명의 일 실시예에 따른 또 다른 파일 시스템의 구조적 모식도이다.
도 7은 본 발명의 일 실시예에 따른 또 다른 파일 시스템의 구조적 모식도이다.
이하에서는 본 발명의 실시예의 첨부 도면들을 참고하여 본 발명의 실시예에서의 기술적 해결책을 명확하고 완전하게 설명한다. 명백하게는, 설명되는 실시예들은 본 발명의 일부 실시예일 뿐 모든 실시예는 아니다. 본 발명의 실시예들에 기초하여 통상의 기술자에 의해 창조적 수고 없이 도출되는 다른 모든 실시예들은 본 발명의 보호 범위 내에 속할 것이다.
본 발명의 명세서, 청구범위 및 첨부 도면에서, ‘제1’, ‘제2’, ‘제3’ 및 ‘제4’ 등의 용어들(존재하는 경우)은 유사한 대상들 간의 구분을 위한 것이며 반드시 특정 순서나 차례를 나타내는 것은 아니다. 그와 같은 방식으로 일컬어진 데이터는 적절한 상황에서 교체될 수 있고, 그에 따라 본 명세서에 설명된 본 발명의 실시예들은, 예를 들어 본 명세서에서 설명 또는 묘사된 순서 이외의 순서로 실현될 수 있다. 또한, ‘포함한다’, ‘가지고 있다’는 용어 및 다른 임의의 변형된 용어는 배타적이지 않은 포함관계(non-exclusive inclusion)를 아우르기 위한 것으로, 예를 들어 단계 또는 유닛을 포함하는 프로세스, 방법, 시스템, 제품 또는 장치는 그러한 단계나 유닛에 반드시 제한되는 것은 아니며, 그와 같은 프로세스, 방법, 시스템, 제품 또는 장치에 명백하게 나열되어 있거나 내재되어 있는 다른 단계나 유닛을 포함할 수도 있다.
본 발명의 일 실시예는 파일 시스템에 주로 적용되는 파일 관리 방법을 제공한다. 파일 시스템은 임의의 단말 장치 또는 네트워크 장치 상에 내장되어(carried) 있을 수 있고, 다양한 파일을 저장하도록 구성된 여러 유형의 저장 매체를 포함할 수 있다. 도 1에 도시된 본 실시예의 방법의 흐름도는 이하의 단계를 포함한다.
단계 101: 파일을 조작하기(operate) 위한 입/출력(IN/OUT, IO) 액세스 정보를 획득한다. 여기서, 파일의 데이터가 파일 시스템 내의 저장 매체에 저장되어 있기 때문에, 여기서의 IO 액세스 정보란 파일 시스템에 의한 저장 매체 내의 파일로의 액세스에 관한 정보를 나타내며, 액세스 프로세스 아이덴티티(access process identity, PID), 파일 명칭, 파일 오프셋(file offset), 각각의 IO 액세스 요청의 파일 사이즈, IO 액세스에 대응되는 파일 작업 유형(예를 들어, 판독, 기록 또는 질의(query)) 및 IO 액세스 요청의 타임 스탬프(timestamp)(시작 및 종료 시간)를 포함할 수 있다.
단계 102: 단계 101에서 획득된 IO 액세스 정보에 대응되는 IO 액세스 모드를 결정한다.
파일을 조작하는 절차, 예를 들어 파일에 대해 판독/기록 작업을 수행하는 절차는, 파일 시스템 내의 애플리케이션(application) 프로그램의 실행(running) 프로세스 중에 트리거링될(triggered) 수 있고, 그 후에 애플리케이션 프로그램을 실행하는 모듈이 IO 액세스 요청을 파일 시스템에 전송한다는 점은 이해할 수 있다. IO 액세스 요청은 조작되기로(판독/기록 작업을 포함함) 요청된 파일에 관한 정보 등을 포함한다. 이와 같이 파일 시스템은 대응되는 파일을 조작할 수 있다.
파일이 먼저 파일 시스템의 저장 매체에 기록된 후, 파일은 반복적으로 조작될 수 있다. 파일 시스템은 파일의 IO 액세스 정보를 모니터링할 수 있고, 파일을 조작하기 위한 IO 액세스 정보, 예를 들면 IO 액세스의 유형 및 시간, 파일에 대한 순차적/랜덤(sequential/random) 판독 작업의 IO 액세스 또는 파일에 대한 순차적/랜덤 기록 작업의 IO 액세스, 판독/기록 비율 및 각각의 액세스 도중의 파일의 그래뉼래리티 등의 정보를 차단한다. 작업의 파일 오프셋이 더 포함될 수 있다. 그 다음, 파일 시스템은 획득된 IO 액세스 정보에 따라 IO 액세스 모드를 결정하며, IO 액세스 모드란 어떠한 그래뉼래리티를 이용하여 어떠한 방식으로 파일이 조작되는 모드인지를 나타내는 것으로, 그래뉼래리티를 이용하여 랜덤 판독 작업이 수행되는 모드, 그래뉼래리티를 이용하여 순차적 판독 작업이 수행되는 모드, 그래뉼래리티를 이용하여 랜덤 기록 작업이 수행되는 모드, 그래뉼래리티를 이용하여 순차적 기록 작업이 수행되는 모드, 그래뉼래리티를 이용하여 순차적 판독/기록 하이브리드(hybrid) 작업이 수행되는 모드, 또는 그래뉼래리티를 이용하여 랜덤 판독/기록 하이브리드 작업이 수행되는 모드 등의 모드를 포함할 수 있다.
구체적으로, IO 액세스 정보 내의 파일의 판독 작업 비율이 미리 설정된 값보다 큰 경우, IO 액세스 모드는 판독 작업 모드인 것으로 간주되거나; IO 액세스 정보 내의 파일의 기록 작업 비율이 미리 설정된 값보다 큰 경우, IO 액세스 모드는 기록 작업 모드인 것으로 간주되거나; 또는, IO 액세스 정보 내의 파일의 기록 작업 비율과 판독 작업 비율 간의 차이가 미리 설정된 값보다 작은 경우, IO 액세스 모드는 판독/기록 하이브리드 작업 모드인 것으로 결정된다. 또한, IO 액세스 모드는 작업을 수행하기 위한 그래뉼래리티를 더 포함할 수 있다.
단계 103: 단계 102에서 결정된 IO 액세스 모드를 파일 시스템 내의 미리 설정된 모드 매칭 라이브러리(mode matching library)와 매칭하여, 결정된 IO 액세스 모드에 대응되는 파일 관리 정책(file management policy)을 획득한다. 파일의 모드 매칭 라이브러리는 파일 시스템 내에 미리 정해져 있고, IO 액세스 모드와 파일 관리 정책 간의 관계(correspondence)를 포함할 수 있다. 파일 관리 정책은 파일 관리 그래뉼래리티 및/또는 파일 저장 매체 유형을 포함한다.
파일 관리 그래뉼래리티는, 예를 들면 4k 또는 1MB와 같이, 파일 저장의 최소 단위를 나타낸다. 상변환 메모리, DRAM(Dynamic Random Access Memory), HDD(Hard Disk Drive) 및 NAND FLASH 등을 포함하는 수많은 유형의 파일 저장 매체들이 존재한다. 다양한 유형의 저장 매체들은 대응적으로 각각의 판독/기록 특성을 갖기 때문에, 서로 다른 유형의 저장 매체는 서로 다른 IO 액세스 모드에 대응되며, 이는 구체적으로 아래와 같다.
(1) 상변환 메모리는 비휘발성 저장 장치로서, DRAM과 같은 바이트(byte)에 따라 어드레싱(addressing)을 수행하고, 매우 높은 기록 속도를 가지며; 상변환 메모리의 기록 내구성(write durability)은 10의 6제곱에서 10의 8제곱일 수 있고, 상변환 메모리는, 예를 들어 64바이트(Byte)-8KB와 같이, 상대적으로 작은 파일 관리 그래뉼래리티에 적합하며, 작은 그래뉼래리티의 랜덤 판독/기록 작업에 적합하다.
(2) NAND FLASH에 대해서는, 페이지 단위로 기록이 수행되고, 블록 단위로 삭제가 수행되며(하나의 블록은 일반적으로 64 이상의 페이지를 포함한다); 따라서 NAND FLASH는, 예를 들면 4KB, 8KB, 16KB, …, 512KB와 같은 페이지 또는 블록 단위의 파일 관리 그래뉼래리티에 적합하고, 상대적으로 큰 사이즈의 랜덤 판독 작업에 적합하며; 또한 NAND FLASH에 있어서는 기록보다 판독이 훨씬 빠르다.
(3) HDD의 시크 타임(seek time)이 상대적으로 길기 때문에, 판독/기록 지연이 상대적으로 크고, HDD는 예컨대 1MB, 2MB 또는 4MB와 같이 상대적으로 큰 그래뉼래리티의 판독/기록 작업에 적합하며; 또한 HDD는 순차적 판독/기록 작업에 적합하다.
애플리케이션 파일로의 액세스는 일반적으로 상이한 액세스 특성을 나타낸다는 점에 유의해야 한다. 예를 들면, 비디오 파일은 일반적으로 순차적 방식으로 판독 및 기록되고, 각각의 판독/기록 작업의 그래뉼래리티는 상대적으로 크다. 또 다른 예시로서, 데이터베이스 파일은 작은 그래뉼래리티의 랜덤 판독/기록 작업의 특성을 나타낸다. 이와 같이 상이한 파일들로의 액세스는 상이한 액세스 특성을 나타내며, 상이한 저장 매체와 파일 관리 그래뉼래리티는 매칭에 의해 획득될 수 있다.
본 실시예에서, 사용자는 IO 액세스 모드와, 파일 시스템의 모드 매칭 라이브러리 내의 파일 관리 정책 간의 관계를 미리 설정할 수 있다. 예를 들어, 1MB에서 4MB의 그래뉼래리티의 순차적 판독 작업의 모드인 IO 액세스 모드에 대응되는 파일 관리 정책은, 파일 관리 그래뉼래리티가 1MB이고, 파일 저장 매체 유형은 HDD 또는 NAND FLASH이다. 이와 같이 파일 시스템은, 표 1에 도시된 것과 같이, IO 액세스 모드와 파일 시스템 내에 미리 설정된 모드 매칭 라이브러리를 이용함으로써 대응되는 파일 관리 정책을 획득할 수 있다.
IO 액세스 정보 IO 액세스 모드 파일 관리 정책
판독 작업 비율 > 80%,
1MB-4MB
1MB에서 4MB의 그래뉼래리티의 순차적 판독 작업 파일 액세스 그래뉼래리티: 1MB
저장 매체 유형: HDD, NAND FLASH
기록 작업 비율 > 80%,
512Byte-4KB
512Byte에서 4KB의 그래뉼래리티의 랜덤 기록 작업 파일 액세스 그래뉼래리티: 4KB
저장 매체 유형: PCM, NAND FLASH
판독 작업 비율 > 80%,
4KB-64KB
4KB에서 64KB의 그래뉼래리티의 랜덤 판독 작업 파일 액세스 그래뉼래리티: 4KB
저장 매체 유형: NAND FLASH, PCM
판독 50% 및 기록 50%,
16KB
16KB의 그래뉼래리티의 판독/기록 하이브리드 작업 파일 액세스 그래뉼래리티: 4KB
저장 매체 유형: PCM, NAND FLASH
단계 104: 단계 103에서 획득된 파일 관리 정책에 따라 파일의 현재 관리 방식을 조정한다. 구체적으로, 파일의 현재 관리 방식이, 결정된 IO 액세스 모드에 대응되는 파일 관리 정책과 일치하지 않을 때(inconsistent), 파일의 현재 관리 방식이 조정됨으로써, 예를 들면 파일의 저장 매체가 변화되며, 및/또는 파일의 관리 그래뉼래리티가 변화되는 등, 조정된 현재 관리 방식이, 결정된 IO 액세스 모드에 대응되는 파일 관리 정책과 일치하게 된다. 나아가 파일 시스템이 파일의 메타 데이터를 더 저장하기 때문에, 파일 탐색을 용이하게 하기 위해(facilitate) 메타 데이터는 파일 사이즈 및 파일 식별자 등의 정보를 포함한다. 파일의 현재 관리 방식이 조정된 후에, 파일 시스템 내에 저장된 메타데이터는 더 업데이트되어야 한다.
상술한 파일 관리 프로세스에서, 적합한 파일 관리 그래뉼래리티는 유효(valid) 파일 프리페치(prefetch) 작업을 용이하게 하고, 파일 작업의 속도를 향상시키며, 유효 메타데이터 관리를 더 용이하게 한다는 점에 유의해야 한다. 예를 들어 순차적인 파일 액세스에 있어서, 4MB의 파일이 한 번 기록되고; 2MB의 파일 관리 그래뉼래리티(즉, 저장 블록의 최소 단위가 2MB임)가 사용될 경우, 데이터 포지셔닝(positioning)은 2회만 요구되며, IO 액세스 요청은 두 번만 저장 매체에 전송되면 되고, 단 두 개의 저장 블록의 메타데이터만 관리되면 되고; 4KB의 파일 관리 그래뉼래리티가 사용될 경우, 데이터 포지셔닝은 1000회 필요하고 IO 액세스 요청은 저장 매체에 1000회 전송되어야 하며, 1000개의 저장 블록의 메타데이터가 관리되어야 한다.
본 발명의 위 실시예에서 파일 시스템은, 파일을 조작하기 위한 IO 액세스 정보를 모니터링하고(monitor), IO 액세스 모드를 판정하며, 그 후에 IO 액세스 모드에 따라 대응되는 파일 관리 정책을 판정하고, 최종적으로, 획득된 파일 관리 정책이 파일의 현재 관리 방식과 일치할 때, 획득된 파일 관리 정책에 따라 파일의 현재 관리 방식을 동적으로 조정한다는 것을 알 수 있다. 이와 같이 파일 관리 중에 파일의 상이한 IO 액세스 모드에 따라 상이한 파일 관리 정책이 대응적으로 사용됨으로써, 즉, 상이한 파일 관리 그래뉼래리티 및/또는 상이한 파일 관리 매체가 사용됨으로써, 파일을 액세스하는 성능은 최적일 수 있으며, 저장 매체의 특성이 최대한 발휘된다.
도 2를 참조하면, 특정 실시예에서, 파일 시스템이 상술한 단계 104를 실행할 때, 이하와 같이 단계 103에서 획득된 파일 관리 정책에 따른 몇 가지 방법이 있을 수 있다.
(1) 단계 103에서 획득된 파일 관리 정책에 포함된 파일 관리 그래뉼래리티가 파일의 현재 관리 방식에서의 파일 관리 그래뉼래리티와 일치할 경우에 파일 시스템이 단계 104를 실행할 때,
A1: 파일의 관리 그래뉼래리티는 단계 103에서 획득된 파일 관리 그래뉼래리티로 업데이트되고;
A2: 파일의 메타 데이터가 업데이트됨으로써, 업데이트된 메타 데이터는 업데이트된 관리 그래뉼래리티에 관한 정보를 포함한다.
(2) 단계 103에서 획득된 파일 관리 정책에 포함된 파일 저장 매체 유형이 파일의 현재 관리 방식에서의 저장 매체와 일치할 경우에 파일 시스템이 전술한 단계 104를 실행할 때, 파일 저장 매체에 대해 이송(migration)이 수행되며, 이는 구체적으로 아래와 같다.
B1: 전술한 파일을 저장하는 데에 사용되는 저장 블록이 타깃 저장 매체에 신청되며(applied), 타깃 저장 매체는 전술한 단계 103에서 획득된 파일 관리 정책에 포함된 파일 저장 매체 유형과 일치하는 저장 매체이다.
구체적으로, 여기서 신청된 저장 블록의 그래뉼래리티는 전술한 단계 103에서 획득된 파일 관리 그래뉼래리티에 의해 결정될 수 있다. 획득된 파일 관리 정책이 파일 관리 그래뉼래리티를 포함하지 않을 경우, 신청된 저장 블록의 그래뉼래리티는 소스 저장 매체 내의 파일의 최소 저장 유닛이거나, 타깃 저장 매체를 위한 적절한 그래뉼래리티 등일 수 있다. 획득된 파일 관리 정책이 파일 관리 그래뉼래리티를 포함할 경우, 신청된 저장 블록의 그래뉼래리티는 파일 관리 정책에서의 파일 관리 그래뉼래리티이다.
B2: 파일이 소스 저장 매체에서 신청된 저장 블록으로 이송되고, 즉, 파일이 소스 저장 매체로부터 복사되어, 신청된 저장 블록에 추가되고, 소스 저장 매체 내의 파일의 데이터는 더 삭제될 수 있다. 파일이 현재 위치해 있는 저장 매체는 소스 저장 매체이다.
B3: 새로운 메타 데이터가 생성됨으로써, 새로운 메타 데이터는, 예컨대 파일 사이즈 및 파일 저장의 최소 단위와 같은, 이송된 파일의 저장 정보를 포함한다.
파일의 현재 관리 방식이 조정될 때, 파일 저장 매체의 이송이 수반된다(envolved)는 점에 유의해야 한다. 이러한 프로세스에서, 파일 시스템은 저장 매체를 이용함으로써 계속하여 지속적으로 파일을 조작하며, 이는 다르게 말하면, 파일 시스템이, 파일을 조작하기 위한 IO 액세스 요청에 따라, 조작될 것으로 요청된 파일에 대해 대응되는 작업(예를 들어, 판독/기록 작업)을 수행한다는 것이다. 이 경우 파일에 대한 판독/기록 작업을 수행하기 전에, 파일 시스템은 먼저, 조작될 것으로 요청된 파일이 이미 타깃 저장 매체에 이송되었는지 여부를 판정해야 한다. 구체적으로 소스 저장 매체가, 조작될 것으로 요청된 파일을 저장하고 있는지 여부가 확인된다. 조작되기로 요청된 파일 내의 파일의 일부(예컨대 제1 부분)이 소스 저장 매체 내에 저장되어 있지 않고, 조작되기로 요청된 파일 내의 파일의 다른 부분(예컨대 제2 부분)이 IO 액세스 모드에 대응되는 파일 관리 정책 내의 파일 저장 매체 유형에 따라 소스 저장 매체 내에 저장되어 있는 경우, 파일 시스템은 이송 이후에 제1 파일을 타깃 저장 매체 내에서 조작하고 파일의 제2 부분을 소스 저장 매체 내에서 조작한다.
이하에서는 특정 실시예를 이용하여 본 발명의 파일 관리 방법을 설명한다. 본 실시예의 파일 관리 방법은 주로 임의의 파일 시스템에 적용되고, 이 파일 시스템은 도 3에 도시된 구조를 포함하며, 이 구조는, 파일 액세스 모듈, 파일 IO 액세스 통계 및 모드 분석 모듈, 정책 매치 제어 모듈, 메타 데이터 관리 모듈 및 파일 데이터 블록 조정 및 이송 모듈을 포함하고, 여러 유형의 저장 매체, 예를 들어 HDD 및 PCM 등을 더 포함하며, 다양한 파일들이 다양한 저장 매체 내에 저장된다.
파일 액세스 모듈은 파일을 조작하기 위한 IO 액세스 요청을 수신하고, 액세스 요청에 의해 요청된 파일을 파일 저장 매체 내에서 조작하도록 구성되어 있고, 파일 액세스 모듈은 사용자 인터페이스를 이용하여 파일 시스템에 의해 전송된 IO 액세스 요청을 수신하거나, 파일 시스템 내의 다른 모듈에 의해 전송된 IO 액세스 요청을 수신할 수 있다.
파일 IO 액세스 통계 및 모드 분석 모듈은 파일 액세스 모듈에 의한 저장 매체 내 파일로의 액세스를 모니터링하고, 저장 매체 내에 저장된 파일에 대해 파일 액세스 모듈에 의해 수행되는 작업의 IO 액세스 정보를 수집하고, IO 액세스 모드를 분석하도록 구성되어 있다.
정책 매치 제어 모듈은 파일 관리 그래뉼래리티와 파일 저장 매체 유형을 포함하는 상이한 IO 액세스 모드에 따라 상이한 파일 관리 정책을 매칭하도록 구성되어 있다.
메타데이터 관리 모듈은, 파일의 현재 관리 방식이 조정된 후에 파일의 메타 데이터를 업데이트하도록 구성되어 있고, 파일 데이터 블록 조정 및 이송 모듈은, 파일 관리 그래뉼래리티를 조정하고 파일을 하나의 저장 매체에서 다른 저장 매체로 이송하도록 구성되어 있다.
본 실시예에서의 파일 시스템은, 예컨대 4K, 16K, 64K, 1M 및 2M과 같은, 서로 다른 그래뉼래리티의 관리 방식을 지원한다. 파일이 처음 생성되었을 때, 예컨대 64K와 같은 그래뉼래리티에 따라 파일이 하나 이상의 저장 매체에 저장될 수 있고, 그 다음 전술한 도 3에 도시된 4개의 모듈이 파일의 현재 관리 방식을 동적으로(dynamically) 조정한다. 예를 들어 처음 생성되었을 때, 4KB의 파일 관리 그래뉼래리티를 이용하여 파일 1이 PCM에 저장되고, 파일 1은 동적 조정을 통해 HDD에게로 이송되고 2MB의 파일 관리 그래뉼래리티를 이용하여 저장된다.
도 4를 참조하면, 파일 이송 프로세스에서, 파일 시스템은 소스 저장 매체 내의 소스 파일 관리 그래뉼래리티를 이용하여 파일을 이송할 수 있다. 예를 들어, 소스 저장 매체의 파일 관리 그래뉼래리티는 2MB이고; 그에 따라 파일 시스템은 2MB 단위로 파일을 이송하며, 이송 중인 파일을 잠그고(lock), 소스 저장 매체 내에 이송된 위치를 표시한다(mark). 또한 파일이 이송된 후에 파일 시스템은 새로운 메타 데이터를 생성해야 한다. 이와 같은 프로세스에서, 파일 액세스 모듈이 파일을 조작하기 위한 IO 액세스 요청을 가질 때, 요청된 파일 내의 파일 중 일부가 이미 타깃 저장 매체에 이송되었을 경우, 즉, 소스 저장 매체에 저장되어 있지 않을 경우, 이송 이후에 타깃 저장 매체 내의 파일 중 일부가 조작된다. 요청된 파일 내의 파일 중 다른 일부가 여전히 타깃 저장 매체로 이송되지 않았을 경우, 소스 저장 매체 내의 파일 중 다른 일부가 조작된다.
본 발명의 일 실시예는 파일 시스템을 더 제공하며, 다수의 저장 매체를 이용함으로써 파일이 파일 시스템 내에 저장된다. 파일 시스템의 구조적 모식도는 도 5에 도시된 바와 같으며, 이하를 포함한다.
파일을 조작하기 위한 입출력(input/output, IO) 액세스 정보를 획득하도록 구성된 정보 획득 유닛(10) - IO 액세스 정보는 파일을 조작하기 위한 특정 상황, 예컨대 액세스 시간, 파일 상의 판독 작업의 IO 액세스 또는 파일 상의 기록 작업의 IO 액세스, 판독/기록 비율 및 각각의 액세스 중의 파일의 판독/기록 그래뉼래리티 등의 정보를 포함함 -;
정보 획득 유닛(10)에 의해 획득된 IO 액세스 정보에 대응되는 IO 액세스 모드를 결정하도록 구성된 액세스 모드 결정 유닛(11) - 구체적으로, 액세스 모드 결정 유닛(11)은, 정보 획득 유닛(10)에 의해 획득된 IO 액세스 정보 내의 파일의 판독 작업 비율이 미리 설정된 값보다 클 경우, 상기 IO 액세스 모드가 판독 작업 모드인 것으로 결정하거나; 정보 획득 유닛(10)에 의해 획득된 IO 액세스 정보 내의 파일의 기록 작업 비율이 미리 설정된 값보다 클 경우, 상기 IO 액세스 모드가 기록 작업 모드인 것으로 결정하거나; 또는 정보 획득 유닛(10)에 의해 획득된 IO 액세스 정보 내의 파일의 기록 작업 비율과 판독 작업 비율 간의 차이가 미리 설정된 값보다 작을 경우, 상기 IO 액세스 모드가 판독/기록 하이브리드 작업 모드인 것으로 결정하도록 구성되어 있고; 또한 IO 액세스 모드는 판독/기록 작업의 그래뉼래리티를 더 포함함 -;
액세스 모드 결정 유닛(11)에 의해 결정된 IO 액세스 모드와 미리 설정된 모드 매칭 라이브러리를 매칭하여 결정된 IO 액세스 모드에 대응되는 파일 관리 정책을 획득하도록 구성된 관리 획득 유닛(12) - 파일 관리 정책은 이하의 정보 - 파일 관리 그래뉼래리티 및 파일 저장 매체 유형 - 중 적어도 한 부분을 포함하고, 상기 모드 매칭 라이브러리는 상기 IO 액세스 모드와 상기 파일 관리 정책 간의 관계를 포함함 -; 및
조정된 현재 관리 방식이 상기 결정된 IO 액세스 모드에 대응되는 파일 관리 정책과 일치될 수 있도록, 상기 파일의 현재 관리 방식이 상기 관리 획득 유닛(12)에 의해 결정된 IO 액세스 모드에 대응되는 파일 관리 정책과 일치하지 않을 경우에 상기 파일의 현재 관리 방식을 조정하도록 구성된 조정 유닛(13)으로서, 예컨대 파일의 저장 매체가 변경 및/또는 파일의 관리 그래뉼래리티가 변경된다. 나아가, 파일 시스템이 파일의 메타 데이터를 더 저장하기 때문에, 메타 데이터는 파일 탐색을 용이하게 하기 위해 파일 사이즈 및 파일 식별자 등의 정보를 포함한다. 조정 유닛(13)이 파일의 현재 관리 방식을 조정한 후에, 파일 시스템 내에 저장되어 있는 메타 데이터는 더 업데이트되어야 한다.
이와 같은 본 발명의 실시예의 파일 시스템에서, 정보 획득 유닛(10)이 파일을 조작하기(판독 및 기록 작업 포함) 위한 IO 액세스 정보를 모니터링하고, 액세스 모드 결정 유닛(11)은 IO 액세스 모드를 결정함으로써, 관리 획득 유닛(12)이 IO 액세스 모드에 따라 대응되는 파일 관리 정책을 결정하며, 최종적으로 조정 유닛(13)이 획득된 파일 관리 정책에 따라 파일의 현재 관리 방식을 동적으로 조정한다는 것을 알 수 있다. 이와 같이 하여, 파일 관리 도중에, 상이한 파일 관리 정책이 파일의 상이한 IO 액세스 모드에 따라 대응적으로 사용될 수 있으며, 즉, 상이한 파일 관리 그래뉼래리티 및/또는 상이한 파일 저장 매체가 사용되며, 이로써 파일에 액세스하는 성능이 최적화될 수 있고 저장 매체의 특성이 최대한 발휘된다.
도 6을 참조하면, 특정한 일 실시예에서, 도 5에 도시된 구조에 더하여, 파일 시스템은 파일 조작 유닛(14)을 더 포함할 수 있고, 그 안의 조정 유닛(13)은 업데이트 유닛(131), 이송 유닛(132) 및 생성 유닛(133)에 의해 실현될 수 있으며, 구체적으로는 아래와 같다.
업데이트 유닛(131)은, 관리 획득 유닛(12)에 의해 획득된 파일 관리 정책에 포함되어 있는 파일 관리 그래뉼래리티가 상기 파일의 현재 파일 관리 방식에서의 파일 관리 그래뉼래리티와 일치하지 않을 경우, 관리 획득 유닛(12)에 의해 획득된 파일 관리 그래뉼래리티로 상기 파일의 관리 그래뉼래리티를 업데이트하고, 업데이트된 메타데이터가 상기 업데이트된 관리 그래뉼래리티에 관한 정보를 포함할 수 있도록 상기 파일의 메타데이터를 업데이트하도록 구성되어 있다.
이송 유닛(132)은, 관리 획득 유닛(12)에 의해 획득된 파일 관리 정책에 포함되어 있는 파일 저장 매체 유형이 상기 파일의 현재 관리 방식에서의 저장 매체와 일치하지 않을 경우, 파일을 저장하는 데에 사용되는 저장 블록을 타깃 저장 매체에 신청하고, 상기 파일을 소스 저장 매체에서 신청된 저장 블록에게로 이송하도록 구성되어 있으며, 상기 파일이 현재 위치해 있는 저장 매체가 상기 소스 저장 매체이고, 상기 타깃 저장 매체는 상기 파일 관리 정책에 포함된 파일 저장 매체 유형과 일치하는 저장 매체이고; 생성 유닛(133)은, 새로운 메타 데이터가 이송 유닛(132)에 의해 이송된 파일의 저장 정보를 포함하고, 이송된 파일이 위치해 있는 타깃 저장 매체에 관한 정보와 타깃 관리 매체 내의 파일의 관리 그래뉼래리티 등의 정보를 포함할 수 있도록, 새로운 메타 데이터를 생성하도록 구성되어 있다. 타깃 저장 매체는 관리 획득 유닛(12)에 의해 획득된 파일 관리 정책에 포함된 파일 저장 매체 유형과 일치하는 저장 매체이고, 신청된 저장 블록의 그래뉼래리티는 관리 획득 유닛(12)에 의해 획득된 파일 관리 그래뉼래리티에 의해 결정될 수 있다. 획득된 파일 관리 정책이 파일 관리 그래뉼래리티를 포함하지 않을 경우, 신청된 저장 블록의 그래뉼래리티는 소스 저장 매체 내의 파일의 최소 저장 유닛일 수 있으며, 또는 타깃 저장 매체를 위한 적절한 그래뉼래리티 등일 수 있다.
파일 조작 유닛(14)은, 조작되도록 요청된 파일이 상기 파일을 조작하기 위한 IO 액세스 요청에 따라 조작될 때, 조작되도록 요청된 상기 파일 내의 제1 파일 부분이 상기 소스 저장 매체 내에 저장되지 않고, 관리 획득 모듈(12)에 의해 결정된 IO 액세스 모드에 대응되는 파일 관리 정책 내의 파일 저장 매체 유형에 따라 제2 파일 부분이 상기 소스 저장 매체 내에 저장되는 경우, 상기 이송 이후에 상기 타깃 저장 매체 내에서 상기 제1 파일 부분을 조작하고, 상기 소스 저장 매체 내에서 상기 제2 파일 부분을 조작하도록 구성되어 있다.
이러한 실시예의 파일 시스템에서는 조정 유닛(13)이 파일의 현재 관리 방식을 조정할 때, 업데이트 유닛(131)만을 이용하여 파일의 현재 저장 그래뉼래리티가 업데이트되거나, 또는 이송 유닛(132) 및 생성 유닛(133)을 이용하여 저장 매체(즉, 소스 저장 매체)에서 다른 저장 매체(즉, 타깃 저장 매체)로 파일이 이송될 수 있다. 이러한 경우, 저장 매체의 인터페이스를 이용하여 파일을 조작할 때, 파일 조작 유닛(14)은 먼저 파일이 타깃 저장 매체로 이미 완전히 이송되었는지 여부를 결정한 후에 대응되는 프로세스를 수행해야 한다.
본 발명의 일 실시예는 파일 시스템 내에 저장되어 있는 파일을 주로 관리할 수 있는 다른 파일 시스템을 더 제공한다. 이러한 파일 시스템의 구조적 모식도는 도 7에 도시되어 있으며, 이 파일 시스템은 프로세서(21)와, 버스, 예컨대 HDD 및 PCM 등의 메모리에 개별적으로 연결되어 있는 여러 종류의 메모리(22)를 포함하고, 버스에 연결되어 있는 입력 장치 및 출력 장치를 더 포함할 수 있으며, 구체적으로는 아래와 같다.
메모리(22)는 입력 장치로부터 입력된 파일을 저장하고, 데이터를 처리할 수 있도록 프로세서(21)에 필요한 파일 등의 정보를 더 저장하도록 구성되어 있다. 본 실시예에서의 메모리(22)는 전술한 파일 저장 매체이다. 입력 장치 및 출력 장치는, 파일 시스템이 다른 디바이스와 통신하기 위해 거치는 포트로서, 파일 시스템에 외부로 연결된 디바이스, 예컨대 디스플레이, 키보드, 마우스 및 프린터 등을 더 포함할 수 있다.
프로세서(21)는, 파일을 조작하기 위한 입출력(input/output, IO) 액세스 정보를 획득하고; 상기 획득된 IO 액세스 정보에 대응되는 IO 액세스 모드를 결정하고; 상기 결정된 IO 액세스 모드와 미리 설정된 모드 매칭 라이브러리를 매칭하여 상기 결정된 IO 액세스 모드에 대응되는 파일 관리 정책을 획득하고; 조정된 현재 관리 방식이 상기 결정된 IO 액세스 모드에 대응되는 파일 관리 정책과 일치될 수 있도록, 상기 파일의 현재 관리 방식이 상기 결정된 IO 액세스 모드에 대응되는 파일 관리 정책과 일치하지 않을 경우에 상기 파일의 현재 관리 방식을 조정하도록 구성되어 있으며, 상기 파일 관리 정책은 이하의 정보 - 파일 관리 그래뉼래리티 및 파일 저장 매체 유형 - 중 적어도 한 부분을 포함하고, 상기 모드 매칭 라이브러리는 상기 IO 액세스 모드와 상기 파일 관리 정책 간의 관계를 포함한다. IO 액세스 모드를 결정할 때, 프로세서(21)는, 상기 IO 액세스 정보 내의 파일의 판독 작업 비율이 미리 설정된 값보다 클 경우, 상기 IO 액세스 모드가 판독 작업 모드인 것으로 결정하거나; 상기 IO 액세스 정보 내의 파일의 기록 작업 비율이 미리 설정된 값보다 클 경우, 상기 IO 액세스 모드가 기록 작업 모드인 것으로 결정하거나; 또는 상기 IO 액세스 정보 내의 파일의 기록 작업 비율과 판독 작업 비율 간의 차이가 미리 설정된 값보다 작을 경우, 상기 IO 액세스 모드가 판독/기록 하이브리드 작업 모드인 것으로 결정하도록 구성되어 있으며; 또한, IO 액세스 모드는 판독/기록 작업의 그래뉼래리티를 더 포함할 수 있다. 나아가 파일 시스템 내의 저장 매체가 파일의 메타 데이터를 더 포함하기 때문에, 메타 데이터는, 파일 탐색을 용이하게 하기 위해, 파일 사이즈, 파일 식별자 및 아이노드(inode) 넘버와 같은 정보를 포함한다. 프로세서(21)가 파일의 현재 관리 방식을 조정한 후에, 파일 시스템 내에 저장되어 있는 메타 데이터는 더 업데이트되어야 한다.
이와 같이 파일을 관리하는 도중에, 상이한 파일 관리 정책이 상이한 IO 액세스 모드에 따라 대응적으로 사용될 수 있으며, 즉 다르게 말하면, 상이한 파일 관리 그래뉼래리티 및/또는 상이한 파일 저장 매체가 사용되며, 이로써 파일에 액세스하는 성능이 최적화될 수 있고 저장 매체의 특성이 최대한 발휘된다.
몇몇의 특정 실시예에서, 프로세서(21)는, 획득된 파일 관리 정책에 포함된 상기 파일 관리 그래뉼래리티가 상기 파일의 현재 파일 관리 방식에서의 파일 관리 그래뉼래리티와 일치하지 않을 경우에 상기 파일의 관리 그래뉼래리티를 업데이트하고, 업데이트된 메타데이터가 상기 업데이트된 관리 그래뉼래리티에 관한 정보를 포함할 수 있도록 상기 파일의 메타데이터를 업데이트하도록 구성되어 있다.
다른 양상에서, 프로세서(21)는, 획득된 파일 관리 정책에 포함된 상기 파일 저장 매체 유형이 상기 메모리에 저장되어 있는 파일의 현재 관리 방식에서의 저장 매체와 일치하지 않을 경우에 상기 파일을 저장하는 데에 사용되는 저장 블록을 타깃 저장 매체에 신청하고, 상기 파일을 소스 저장 매체에서 상기 신청된 저장 블록에게로 이송하고, 새로운 메타 데이터가 상기 이송 유닛에 의해 이송된 파일의 저장 정보를 포함할 수 있도록 상기 새로운 메타 데이터를 생성하도록 구성되어 있다. 파일이 현재 위치해 있는 저장 매체가 상기 소스 저장 매체이고, 상기 타깃 저장 매체는 상기 파일 관리 정책에 포함된 파일 저장 매체 유형과 일치하는 저장 매체이다.
이 경우 저장 매체의 인터페이스를 이용하여 파일을 조작할 때, 프로세서(21)는 파일이 타깃 저장 매체로 이미 완전하게 이송되었는지 여부를 먼저 판정한 후에 대응되는 프로세스를 수행해야 한다. 구체적으로 프로세서(21)는, 조작되도록 요청된 파일이 상기 파일을 조작하기 위한 IO 액세스 요청에 따라 조작될 때, 조작되도록 요청된 상기 파일 내의 제1 파일 부분이 상기 소스 저장 매체 내에 저장되지 않고, 상기 IO 액세스 모드에 대응되는 파일 관리 정책 내의 파일 저장 매체 유형에 따라 제2 파일 부분이 상기 소스 저장 매체 내에 저장되는 경우, 상기 이송 이후에 상기 타깃 저장 매체 내에서 상기 제1 파일 부분을 조작하고, 상기 소스 저장 매체 내에서 상기 제2 파일 부분을 조작하도록 더 구성되어 있다.
통상의 기술자는 본 실시예에서의 방법의 모든 단계 또는 일부 단계가 관련 하드웨어에 명령하는 프로그램에 의해 실현될 수 있음을 이해할 것이다. 프로그램은 컴퓨터로 판독 가능한 저장 매체에 저장될 수 있다. 저장 매체는 ROM, RAM, 자기 디스크 또는 광 디스크를 포함할 수 있다.
이상 본 발명의 실시예에서 제공되는 파일 관리 방법 및 파일 시스템에 대한 상세한 설명을 제시하였다. 본 명세서에서, 본 발명의 원리 및 실현 방식을 설명하기 위해 특정 예시가 사용되었고, 실시예의 설명은 오로지 본 발명의 방법과 핵심 사상의 이해를 돕기 위해 의도되었다. 한편 통상의 기술자는 본 발명의 사상에 기초하여 특정한 실현 방식 및 적용 범위에 대해 변경을 가할 수 있다. 따라서 본 명세서의 내용은 본 발명에 제한을 가하는 것으로 해석되어서는 안된다.

Claims (15)

  1. 파일 관리 방법에 있어서,
    파일을 조작하기(operating) 위한 입출력(input/output, IO) 액세스 정보를 획득하는 단계;
    상기 IO 액세스 정보에 대응되는 IO 액세스 모드를 결정하는 단계;
    상기 결정된 IO 액세스 모드와 미리 설정된 모드 매칭 라이브러리(library)를 매칭하여 상기 결정된 IO 액세스 모드에 대응되는 파일 관리 정책(policy)을 획득하는 단계; 및
    조정된 현재 관리 방식이 상기 결정된 IO 액세스 모드에 대응되는 파일 관리 정책과 일치될 수 있도록, 상기 파일의 현재 관리 방식이 상기 결정된 IO 액세스 모드에 대응되는 파일 관리 정책과 일치하지 않을 경우에 상기 파일의 현재 관리 방식을 조정하는 단계
    를 포함하고,
    상기 파일 관리 정책은 파일 저장의 최소 단위를 나타내는 파일 관리 그래뉼래리티(granularity)를 포함하고, 상기 모드 매칭 라이브러리는 상기 IO 액세스 모드와 상기 파일 관리 정책 간의 관계(correspondence)를 포함하는,
    파일 관리 방법.
  2. 제1항에 있어서,
    상기 IO 액세스 정보에 대응되는 IO 액세스 모드를 결정하는 단계가,
    상기 IO 액세스 정보 내의 파일의 판독 작업 비율이 미리 설정된 값보다 클 경우, 상기 IO 액세스 모드가 판독 작업 모드인 것으로 결정하거나,
    상기 IO 액세스 정보 내의 파일의 기록 작업 비율이 미리 설정된 값보다 클 경우, 상기 IO 액세스 모드가 기록 작업 모드인 것으로 결정하거나, 또는
    상기 IO 액세스 정보 내의 파일의 기록 작업 비율과 판독 작업 비율 간의 차이가 미리 설정된 값보다 작을 경우, 상기 IO 액세스 모드가 판독/기록 하이브리드(hybrid) 작업 모드인 것으로 결정하는 것을 포함하는,
    파일 관리 방법.
  3. 제1항에 있어서,
    상기 파일의 현재 관리 방식이 상기 결정된 IO 액세스 모드에 대응되는 파일 관리 정책과 일치하지 않을 경우에 상기 파일의 현재 관리 방식을 조정하는 단계가,
    상기 획득된 파일 관리 정책에 포함된 상기 파일 관리 그래뉼래리티가 상기 파일의 현재 관리 방식에서의 파일 관리 그래뉼래리티와 일치하지 않을 경우, 상기 획득된 파일 관리 정책에 포함되어 있는 파일 관리 그래뉼래리티로 상기 파일의 관리 그래뉼래리티를 업데이트하는 단계; 및
    업데이트된 메타데이터가 상기 업데이트된 관리 그래뉼래리티에 관한 정보를 포함할 수 있도록 상기 파일의 메타데이터를 업데이트하는 단계
    를 포함하는,
    파일 관리 방법.
  4. 제1항에 있어서,
    상기 파일의 현재 관리 방식이 상기 결정된 IO 액세스 모드에 대응되는 파일 관리 정책과 일치하지 않을 경우에 상기 파일의 현재 관리 방식을 조정하는 단계가,
    상기 획득된 파일 관리 정책에 포함된 파일 저장 매체 유형이 상기 파일의 현재 관리 방식에서의 저장 매체와 일치하지 않을 경우, 상기 파일을 저장하는 데에 사용되는 저장 블록을 타깃 저장 매체에 신청하는(apply) 단계;
    상기 파일을 소스(source) 저장 매체에서 상기 신청된 저장 블록에게로 이송하는 단계; 및
    새로운 메타 데이터가 상기 이송된 파일의 저장 정보를 포함할 수 있도록 상기 새로운 메타 데이터를 생성하는 단계
    를 포함하며,
    상기 타깃 저장 매체는 상기 파일 관리 정책에 포함된 파일 저장 매체 유형과 일치하는 저장 매체이고, 상기 파일이 현재 위치해 있는 저장 매체가 상기 소스 저장 매체인,
    파일 관리 방법.
  5. 제4항에 있어서,
    조작되도록 요청된 파일이 상기 파일을 조작하기 위한 IO 액세스 요청에 따라 조작될 때, 조작되도록 요청된 상기 파일 내의 제1 파일 부분이 상기 소스 저장 매체 내에 저장되지 않고, 상기 IO 액세스 모드에 대응되는 파일 관리 정책 내의 파일 저장 매체 유형에 따라 제2 파일 부분이 상기 소스 저장 매체 내에 저장되는 경우, 상기 이송하는 단계 이후에 상기 타깃 저장 매체 내에서 상기 제1 파일 부분을 조작하고, 상기 소스 저장 매체 내에서 상기 제2 파일 부분을 조작하는 단계
    를 더 포함하는 파일 관리 방법.
  6. 파일 시스템으로서,
    파일을 조작하기 위한 입출력(input/output, IO) 액세스 정보를 획득하도록 구성된 정보 획득 유닛;
    상기 정보 획득 유닛에 의해 획득된 IO 액세스 정보에 대응되는 IO 액세스 모드를 결정하도록 구성된 액세스 모드 결정 유닛;
    상기 액세스 모드 결정 유닛에 의해 결정된 IO 액세스 모드와 미리 설정된 모드 매칭 라이브러리를 매칭하여 상기 결정된 IO 액세스 모드에 대응되는 파일 관리 정책을 획득하도록 구성된 관리 획득 유닛; 및
    조정된 현재 관리 방식이 상기 결정된 IO 액세스 모드에 대응되는 파일 관리 정책과 일치될 수 있도록, 상기 파일의 현재 관리 방식이 상기 관리 획득 유닛에 의해 결정된 IO 액세스 모드에 대응되는 파일 관리 정책과 일치하지 않을 경우에 상기 파일의 현재 관리 방식을 조정하도록 구성된 조정 유닛
    을 포함하고,
    상기 파일 관리 정책은 파일 저장의 최소 단위를 나타내는 파일 관리 그래뉼래리티(granularity)를 포함하고, 상기 모드 매칭 라이브러리는 상기 IO 액세스 모드와 상기 파일 관리 정책 간의 관계를 포함하는,
    파일 시스템.
  7. 제6항에 있어서,
    상기 액세스 모드 결정 유닛은,
    상기 정보 획득 유닛에 의해 획득된 IO 액세스 정보 내의 파일의 판독 작업 비율이 미리 설정된 값보다 클 경우, 상기 IO 액세스 모드가 판독 작업 모드인 것으로 결정하거나,
    상기 정보 획득 유닛에 의해 획득된 IO 액세스 정보 내의 파일의 기록 작업 비율이 미리 설정된 값보다 클 경우, 상기 IO 액세스 모드가 기록 작업 모드인 것으로 결정하거나, 또는
    상기 정보 획득 유닛에 의해 획득된 IO 액세스 정보 내의 파일의 기록 작업 비율과 판독 작업 비율 간의 차이가 미리 설정된 값보다 작을 경우, 상기 IO 액세스 모드가 판독/기록 하이브리드 작업 모드인 것으로 결정하도록 구성되어 있는,
    파일 시스템.
  8. 제6항에 있어서,
    상기 조정 유닛이,
    상기 획득된 파일 관리 정책에 포함된 상기 파일 관리 그래뉼래리티가 상기 파일의 현재 파일 관리 방식에서의 파일 관리 그래뉼래리티와 일치하지 않을 경우에 상기 획득된 파일 관리 정책에 포함되어 있는 파일 관리 그래뉼래리티로 상기 파일의 관리 그래뉼래리티를 업데이트하고, 업데이트된 메타데이터가 상기 업데이트된 관리 그래뉼래리티에 관한 정보를 포함할 수 있도록 상기 파일의 메타데이터를 업데이트하도록 구성된 업데이트 유닛을 포함하는,
    파일 시스템.
  9. 제6항에 있어서,
    상기 조정 유닛이,
    상기 획득된 파일 관리 정책에 포함된 파일 저장 매체 유형이 상기 파일의 현재 관리 방식에서의 저장 매체와 일치하지 않을 경우에 상기 파일을 저장하는 데에 사용되는 저장 블록을 타깃 저장 매체에 신청하고, 상기 파일을 소스 저장 매체에서 상기 신청된 저장 블록에게로 이송하도록 구성된 이송 유닛; 및
    새로운 메타 데이터가 상기 이송 유닛에 의해 이송된 파일의 저장 정보를 포함할 수 있도록 상기 새로운 메타 데이터를 생성하도록 구성된 생성 유닛
    을 포함하며,
    상기 파일이 현재 위치해 있는 저장 매체가 상기 소스 저장 매체이고, 상기 타깃 저장 매체는 상기 파일 관리 정책에 포함된 파일 저장 매체 유형과 일치하는 저장 매체인,
    파일 시스템.
  10. 제9항에 있어서,
    조작되도록 요청된 파일이 상기 파일을 조작하기 위한 IO 액세스 요청에 따라 조작될 때, 조작되도록 요청된 상기 파일 내의 제1 파일 부분이 상기 소스 저장 매체 내에 저장되지 않고, 상기 IO 액세스 모드에 대응되는 파일 관리 정책 내의 파일 저장 매체 유형에 따라 제2 파일 부분이 상기 소스 저장 매체 내에 저장되는 경우, 상기 이송 이후에 상기 타깃 저장 매체 내에서 상기 제1 파일 부분을 조작하고, 상기 소스 저장 매체 내에서 상기 제2 파일 부분을 조작하도록 구성되는 파일 조작 유닛을 더 포함하는 파일 시스템.
  11. 파일 시스템에 있어서,
    상기 파일 시스템은 버스에 개별적으로 연결되어 있는 프로세서 및 다수의 메모리를 포함하고,
    상기 프로세서는, 파일을 조작하기 위한 입출력(input/output, IO) 액세스 정보를 획득하고; 상기 획득된 IO 액세스 정보에 대응되는 IO 액세스 모드를 결정하고; 상기 결정된 IO 액세스 모드와 미리 설정된 모드 매칭 라이브러리를 매칭하여 상기 결정된 IO 액세스 모드에 대응되는 파일 관리 정책을 획득하고; 조정된 현재 관리 방식이 상기 결정된 IO 액세스 모드에 대응되는 파일 관리 정책과 일치될 수 있도록, 상기 파일의 현재 관리 방식이 상기 결정된 IO 액세스 모드에 대응되는 파일 관리 정책과 일치하지 않을 경우에 상기 파일의 현재 관리 방식을 조정하도록 구성되어 있고,
    상기 파일 관리 정책은 파일 저장의 최소 단위를 나타내는 파일 관리 그래뉼래리티(granularity)를 포함하고, 상기 모드 매칭 라이브러리는 상기 IO 액세스 모드와 상기 파일 관리 정책 간의 관계를 포함하며,
    파일 저장 매체는 상기 메모리인,
    파일 시스템.
  12. 제11항에 있어서,
    상기 프로세서는,
    상기 IO 액세스 정보 내의 파일의 판독 작업 비율이 미리 설정된 값보다 클 경우, 상기 IO 액세스 모드가 판독 작업 모드인 것으로 결정하거나,
    상기 IO 액세스 정보 내의 파일의 기록 작업 비율이 미리 설정된 값보다 클 경우, 상기 IO 액세스 모드가 기록 작업 모드인 것으로 결정하거나, 또는
    상기 IO 액세스 정보 내의 파일의 기록 작업 비율과 판독 작업 비율 간의 차이가 미리 설정된 값보다 작을 경우, 상기 IO 액세스 모드가 판독/기록 하이브리드(hybrid) 작업 모드인 것으로 결정하도록 구성되어 있는,
    파일 시스템.
  13. 제11항에 있어서,
    상기 프로세서는, 상기 획득된 파일 관리 정책에 포함된 상기 파일 관리 그래뉼래리티가 상기 파일의 현재 파일 관리 방식에서의 파일 관리 그래뉼래리티와 일치하지 않을 경우에 상기 획득된 파일 관리 정책에 포함되어 있는 파일 관리 그래뉼래리티로 상기 파일의 관리 그래뉼래리티를 업데이트하고, 업데이트된 메타데이터가 상기 업데이트된 관리 그래뉼래리티에 관한 정보를 포함할 수 있도록 상기 파일의 메타데이터를 업데이트하도록 구성되어 있는,
    파일 시스템.
  14. 제11항에 있어서,
    상기 프로세서는, 상기 획득된 파일 관리 정책에 포함된 파일 저장 매체 유형이 상기 파일의 현재 관리 방식에서의 저장 매체와 일치하지 않을 경우에 상기 파일을 저장하는 데에 사용되는 저장 블록을 타깃 저장 매체에 신청하고, 상기 파일을 소스 저장 매체에서 상기 신청된 저장 블록에게로 이송하고, 새로운 메타 데이터가 상기 이송된 파일의 저장 정보를 포함할 수 있도록 상기 새로운 메타 데이터를 생성하도록 구성되어 있고,
    상기 파일이 현재 위치해 있는 저장 매체가 상기 소스 저장 매체이고, 상기 타깃 저장 매체는 상기 파일 관리 정책에 포함된 파일 저장 매체 유형과 일치하는 저장 매체인,
    파일 시스템.
  15. 제14항에 있어서,
    상기 프로세서는, 조작되도록 요청된 파일이 상기 파일을 조작하기 위한 IO 액세스 요청에 따라 조작될 때, 조작되도록 요청된 상기 파일 내의 제1 파일 부분이 상기 소스 저장 매체 내에 저장되지 않고, 상기 IO 액세스 모드에 대응되는 파일 관리 정책 내의 파일 저장 매체 유형에 따라 제2 파일 부분이 상기 소스 저장 매체 내에 저장되는 경우, 상기 이송 이후에 상기 타깃 저장 매체 내에서 상기 제1 파일 부분을 조작하고, 상기 소스 저장 매체 내에서 상기 제2 파일 부분을 조작하도록 더 구성되어 있는,
    파일 시스템.
KR1020167032105A 2014-04-22 2014-04-22 파일 관리 방법 및 파일 시스템 KR101914260B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/075939 WO2015161443A1 (zh) 2014-04-22 2014-04-22 一种文件管理方法及文件系统

Publications (2)

Publication Number Publication Date
KR20160145743A KR20160145743A (ko) 2016-12-20
KR101914260B1 true KR101914260B1 (ko) 2019-01-14

Family

ID=54331584

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167032105A KR101914260B1 (ko) 2014-04-22 2014-04-22 파일 관리 방법 및 파일 시스템

Country Status (7)

Country Link
US (1) US10339100B2 (ko)
EP (1) EP3125124B1 (ko)
JP (1) JP6378364B2 (ko)
KR (1) KR101914260B1 (ko)
CN (1) CN105264497B (ko)
BR (1) BR112016024412B1 (ko)
WO (1) WO2015161443A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106294735A (zh) * 2016-08-09 2017-01-04 广州酷狗计算机科技有限公司 一种基于缓存的网页访问方法和装置
US10795828B2 (en) * 2018-08-10 2020-10-06 Micron Technology, Inc. Data validity tracking in a non-volatile memory
CN114816749B (zh) * 2022-04-22 2023-02-10 江苏华存电子科技有限公司 一种用于内存的智能化管理方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010026919A (ja) * 2008-07-23 2010-02-04 Hitachi Ltd ストレージシステム内の論理ユニットを論理ボリュームに割り当てる方法及び記憶制御装置
US8566549B1 (en) * 2008-12-31 2013-10-22 Emc Corporation Synchronizing performance requirements across multiple storage platforms

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US776967A (en) 1904-05-18 1904-12-06 James H Van Tassel Sharpener for shears.
US5960181A (en) * 1995-12-22 1999-09-28 Ncr Corporation Computer performance modeling system and method
GB9606927D0 (en) 1996-04-02 1996-06-05 Memory Corp Plc Data storage devices
US8099758B2 (en) * 1999-05-12 2012-01-17 Microsoft Corporation Policy based composite file system and method
US6799241B2 (en) * 2002-01-03 2004-09-28 Intel Corporation Method for dynamically adjusting a memory page closing policy
KR100594249B1 (ko) * 2004-02-13 2006-06-30 삼성전자주식회사 데이터 저장 시스템에서의 적응적 데이터 액세스 제어방법 및 이를 이용한 디스크 드라이브
US8195627B2 (en) * 2004-04-23 2012-06-05 Neopath Networks, Inc. Storage policy monitoring for a storage network
JP2008515120A (ja) * 2004-09-30 2008-05-08 ネオパス ネットワークス,インク. ストレージネットワーク用ストレージポリシーモニタリング
US7363440B1 (en) * 2004-12-30 2008-04-22 Unisys Corporation System and method for dynamically accessing memory while under normal functional operating conditions
US7568075B2 (en) * 2005-09-22 2009-07-28 Hitachi, Ltd. Apparatus, system and method for making endurance of storage media
JP4943081B2 (ja) 2006-07-27 2012-05-30 株式会社日立製作所 ファイル格納制御装置及び方法
US7599972B2 (en) 2006-08-25 2009-10-06 Qnx Software Systems Gmbh & Co. Kg File system having variable logical storage block size
US8732800B1 (en) * 2007-03-26 2014-05-20 Jerry Askew Systems and methods for centralized management of policies and access controls
US7853669B2 (en) 2007-05-04 2010-12-14 Microsoft Corporation Mesh-managing data across a distributed set of devices
JP4990066B2 (ja) * 2007-08-21 2012-08-01 株式会社日立製作所 論理ボリュームのペアを利用したデータ保存の方式を変更する機能を備えたストレージシステム
US9134917B2 (en) * 2008-02-12 2015-09-15 Netapp, Inc. Hybrid media storage system architecture
GB2458568B (en) * 2008-03-27 2012-09-19 Covertix Ltd System and method for dynamically enforcing security policies on electronic files
EP2215913A1 (en) * 2009-01-23 2010-08-11 Nutreco Nederland B.V. Animal feed additive and animal feed comprising alkyl esters of medium chain fatty acids, and their use in animal feed
US20100306180A1 (en) * 2009-01-28 2010-12-02 Digitiliti, Inc. File revision management
CN102576293B (zh) * 2009-09-08 2015-08-26 国际商业机器公司 固态存储设备和分层存储系统中的数据管理
DE112010004369B4 (de) * 2009-11-13 2018-02-15 International Business Machines Corporation Vorrichtung und Verfahren zum Steuern von Datenschreib-Vorgängen
US9021229B2 (en) 2010-04-14 2015-04-28 International Business Machines Corporation Optimizing a file system for different types of applications in a compute cluster using dynamic block size granularity
JP5600517B2 (ja) * 2010-08-18 2014-10-01 キヤノン株式会社 情報処理装置、情報処理方法、およびプログラム
CN102364474B (zh) * 2011-11-17 2014-08-20 中国科学院计算技术研究所 用于机群文件系统的元数据存储系统和管理方法
CN103136111B (zh) * 2011-11-29 2017-03-01 群联电子股份有限公司 数据写入方法、存储器控制器与存储器储存装置
CN102523285B (zh) * 2011-12-15 2014-04-02 杭州电子科技大学 一种基于对象分布式文件系统的存储缓存方法
US9043530B1 (en) * 2012-04-09 2015-05-26 Netapp, Inc. Data storage within hybrid storage aggregate
CN103049713B (zh) * 2012-12-20 2016-12-07 华为技术有限公司 对存储设备中数据进行巡检的方法、设备及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010026919A (ja) * 2008-07-23 2010-02-04 Hitachi Ltd ストレージシステム内の論理ユニットを論理ボリュームに割り当てる方法及び記憶制御装置
US8566549B1 (en) * 2008-12-31 2013-10-22 Emc Corporation Synchronizing performance requirements across multiple storage platforms

Also Published As

Publication number Publication date
EP3125124A4 (en) 2017-04-19
EP3125124A1 (en) 2017-02-01
CN105264497B (zh) 2020-04-21
BR112016024412B1 (pt) 2022-10-18
JP2017514234A (ja) 2017-06-01
KR20160145743A (ko) 2016-12-20
US20170039203A1 (en) 2017-02-09
JP6378364B2 (ja) 2018-08-22
US10339100B2 (en) 2019-07-02
CN105264497A (zh) 2016-01-20
EP3125124B1 (en) 2021-01-13
WO2015161443A1 (zh) 2015-10-29
BR112016024412A2 (pt) 2018-06-26

Similar Documents

Publication Publication Date Title
US10067684B2 (en) File access method and apparatus, and storage device
US9891858B1 (en) Deduplication of regions with a storage system
US9665305B1 (en) Tiering data between two deduplication devices
US9996542B2 (en) Cache management in a computerized system
US8799601B1 (en) Techniques for managing deduplication based on recently written extents
US10248623B1 (en) Data deduplication techniques
DE102018214013A1 (de) Automatische kontinuierliche Prüfpunktsetzung
US20060174074A1 (en) Point-in-time copy operation
US20110055297A1 (en) Access module, information recording module, controller, and information recording system
US11237980B2 (en) File page table management technology
JPWO2008072590A1 (ja) ライトワンス記録装置、コントローラ、アクセス装置、及びライトワンス記録システム
KR101914260B1 (ko) 파일 관리 방법 및 파일 시스템
KR101350132B1 (ko) Nvram을 맵핑 테이블 저장 장치로 사용하는 중복 데이터 제거 시스템 및 방법
JP4755244B2 (ja) 情報生成方法、情報生成プログラム及び情報生成装置
TW202203061A (zh) 包含鍵值儲存裝置的機器、區塊介面仿真方法及包括非暫時性儲存媒體的製品
CN109977092A (zh) 一种复制文件的方法和计算设备
KR101847859B1 (ko) 파일 트림을 이용한 플래시 메모리 기반 저장장치 및 그 파일 트림 방법
WO2018186455A1 (ja) 不揮発性メモリにおける空き容量管理方法、及び不揮発性メモリを含む情報記録装置にデータを記録するアクセス装置、情報記録装置および情報記録システム
CN109213746A (zh) Pb级历史数据和在线数据的实时计算的可视化建模方法
US10936424B1 (en) Smart file level restore with RP4VM
He et al. MGPA: a multi-granularity space preallocation algorithm for object-based storage devices
JP2018185760A (ja) データの重複を排除するためのストレージ装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right