KR101995460B1 - Ext 파일 관리 구조의 파일단위 단편화 제거 시스템 및 방법 - Google Patents
Ext 파일 관리 구조의 파일단위 단편화 제거 시스템 및 방법 Download PDFInfo
- Publication number
- KR101995460B1 KR101995460B1 KR1020170155483A KR20170155483A KR101995460B1 KR 101995460 B1 KR101995460 B1 KR 101995460B1 KR 1020170155483 A KR1020170155483 A KR 1020170155483A KR 20170155483 A KR20170155483 A KR 20170155483A KR 101995460 B1 KR101995460 B1 KR 101995460B1
- Authority
- KR
- South Korea
- Prior art keywords
- block
- file
- extent
- deleted
- extents
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/1724—Details of de-fragmentation performed by the file system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 EXT 파일 관리 구조의 파일단위 단편화 제거 시스템을 개시한다. 상기 시스템은, 소정 파일 중 일부를 삭제하고자 하는 명령을 수신하면, 상기 파일과 관련된 메타 데이터를 획득하는 시스템콜 처리부; 상기 메타 데이터를 분석하여 상기 삭제할 블록 및 상기 블록을 관리하는 익스텐트를 식별하고, 상기 익스텐트에서 상기 삭제할 블록을 제외시키는 메타 데이터 재구성부; 상기 파일과 관련된 익스텐트들에 포함된 블록들의 논리 주소를 재정렬하는 논리 주소 정렬부; 및 상기 파일과 관련된 익스텐트들의 단편화 비율이 임계값이상인 경우에, 상기 파일의 적어도 하나의 블록들을 재구성하여 단편화를 제거하는 단편화 제거부를 포함한다.
Description
본 발명은 EXT 파일 관리 구조의 파일단위 단편화 제거 시스템 및 방법에 관한 것으로서, 더욱 상세하게는 EXT 파일 관리 구조를 효율적으로 제어하여 메타 데이터 및 블록의 단편화를 제거하는 시스템 및 제어 방법에 관한 것이다.
운영체제는 임의의 문서, 이미지, 동영상, 음악 등 다양한 데이터를 저장 매체에 기록하고, 판독된 데이터를 연속적인 데이터, 즉 바이트 스트림(byte stream)의 형태로 사용자 프로그램에 제공한다. 사용자 프로그램은 파일 열기, 읽기, 쓰기 등의 연산을 요청하는 시스템콜을 운영체제의 커널 영역으로 전달하며, 운영체제는 해당하는 연산을 저장 매체에 대해 처리한다. 이와 같은 제어 방식은 파일의 용량이 커질수록 더 많은 입출력과 연산 시간을 필요로 한다. 특히, 파일의 일부를 수정하는 작업에서도 사용자 프로그램과 운영체제는 파일의 내용을 전부 다시 저장하는 연산을 처리해야 하므로 많은 읽기/쓰기 연산이 발생한다.
대표적인 예로, 리눅스에서 많이 사용되는 EXT 파일 관리 구조에서 파일의 일부 내용을 수정한 후 다시 저장하게 되면, 파일의 용량과 동일한 쓰기 양이 발생한다. 만약, 대용량 타르(tar) 파일이나 대용량 멀티미디어 파일의 일부를 삭제하게 된다면, 상당한 입출력 지연이 발생하게 될 것이다.
이러한 문제점을 개선하기 위해, 파일 수정시 저장 매체에 쓰기 과정을 최소화시키기 위한 특허(등록특허 제10-1553028; 고정 블록에 기반을 둔 가변 처리 EXT 파일 관리 구조 및 파일 가변 처리 방법)(이하, 종래 기술)이 개시되었다.
상기 종래 기술에서는 블록 단위의 삭제 처리를 위해 가변 블록이라는 개념을 사용하였다. 이 방법은 사용자 프로그램에서 블록 단위로 수정된 데이터를 파일 제어 시스템에 전달할 때, 블록 크기로 삭제된 데이터는 별도의 저장영역에 블록 번호를 저장하고 시스템콜 함수를 종료시킨다. 블록의 실제 내용을 업데이트하지 않고 메타 데이터만 수정하는 구성을 개시한다.
하지만, 이 종래 기술에서는 블록을 삭제하는 작업이 많아질수록 블록의 단편화되고 그에 따라 익스텐트들의 개수가 증가한다는 문제점이 있다.
이러한 문제점을 해결하기 위해 본 발명은, 파일의 블록 중 일부가 삭제되어복수의 조각으로 단편화된 경우에, 이러한 단편화를 제거할 수 있는 EXT 파일 관리 구조 제어 시스템 및 방법을 제공하고하 한다.
본 발명은 파일의 내용을 전부 또는 일부 다시 쓰지 않고 메타 데이터의 수정을 통해 파일의 내용을 삭제하는 기법을 제안한다. 메타 데이터(파일 관리 영역)란 파일의 내용을 관리하기 위한 별도의 데이터로서, 파일의 이름, 생성 날짜, 크기를 포함할 수 있는데, 특히, 파일의 내용이 저장된 블록들의 위치를 나타내며, 예를 들면, EXT 파일 관리 구조에서는 아이노드(I-node) 구조를 사용한다.
본 발명에서는, 단 한번의 시스템콜로써, 블록의 개수와 상관없이 지정된 범위의 블록을 삭제하며, 모든 블록의 인덱스를 재정렬함으로써 훨씬 빠르게 파일 수정을 완료할 수 있다. 더욱, 해당 파일의 메타 데이터를 정렬함으로써, 익스텐트 및/또는 블록의 단편화를 신속하고 효율적으로 제거할 수 있게 된다.
상술한 바와 같은 본 발명의 일 실시예에 따른 EXT 파일 관리 구조의 파일단위 단편화 제거 시스템은, 파일이 특정 크기의 블록 단위로 분할되어 물리 메모리 영역에 기록되고, 복수의 상기 블록들에는 순차적으로 논리 주소가 할당되고, 복수의 상기 블록들 중 물리 주소가 연속하는 것들끼리 그룹화되어 익스텐트가 구성되고, 복수의 상기 익스텐트들 각각의 시작 주소와 길이 정보가 메타 데이터로서 기록되는 방식의 EXT 파일 관리 구조를 제어하는 것으로서: 소정 파일 중 적어도 하나의 블록을 삭제하고자 하는 명령을 수신하면, 상기 파일과 관련된 메타 데이터를 획득하는 시스템콜 처리부; 상기 메타 데이터를 분석하여 상기 삭제할 블록 및 상기 삭제할 블록을 관리하는 익스텐트를 식별하고, 상기 식별된 익스텐트에서 상기 삭제할 블록을 제외시키는 메타 데이터 재구성부; 상기 파일과 관련된 익스텐트들에 포함된 블록들의 논리 주소를 재정렬하는 논리 주소 정렬부; 및 상기 파일과 관련된 익스텐트들의 단편화 비율이 임계값이상인 경우에, 상기 파일의 적어도 하나의 블록들을 재구성하여 단편화를 제거하는 단편화 제거부를 포함할 수 있다.
이때, 상기 시스템콜 처리부는, 적어도 하나의 블록을 삭제하고자 하는 상기 명령에 대응하여, 상기 파일의 삭제할 부분과 관련된 익스텐트를 수정하고 나머지 블록들의 논리 주소를 재정렬하는 처리를 수행하도록 설계된 전용 명령어(즉, file_modification())를 실행시킬 수 있다.
특히, 상기 삭제할 블록이 상기 익스텐트의 중간에 있는 경우, 상기 메타 데이터 재구성부는, 상기 식별된 익스텐트를 상기 삭제할 블록을 제외한 채로 구분하여 상기 삭제할 블록을 제외한 나머지 블록들만을 포함하는 새로운 2개의 익스텐트들을 구성할 수 있다. 또는, 상기 메타 데이터 재구성부는, 상기 식별된 익스텐트 이후의 모든 익스텐트들의 순서를 1단계씩 시프트하고, 상기 식별된 익스텐트의 길이를 시작 블록으로부터 상기 삭제할 블록의 이전 블록까지로 수정하고, 상기 삭제할 블록 이후 블록으로부터 상기 식별된 익스텐트의 맨끝 블록까지로 신규 익스텐트를 생성하고, 상기 생성된 익스텐트를 상기 시프트로써 확보된 공간에 배치할 수 있다.
또한, 상기 단편화 제거부는, 상기 명령의 실행이 완료된 시점 또는 임의의 시점에서, 상기 파일과 관련된 익스텐트의 총 개수, 상기 파일의 전체 크기 대비 익스텐트의 개수, 상기 파일의 전체 익스텐트 개수 대비 소정 개수 이하의 블록을 포함한 익스텐트의 개수 중 적어도 하나를 평가하여 단편화 제거를 수행할지를 결정할 수 있다. 또한, 상기 단편화 제거부는, 상기 파일의 신규 메타 데이터를 생성하고, 데이터 저장 영역 내에서 단편화된 블록들의 용량에 대응하는 연속되는 영역을 확보하고, 상기 확보된 영역을 가리키는 새로운 익스텐트를 구성하고, 상기 확보된 연속되는 영역에 상기 파일의 단편화된 블록들을 연속으로 위치하도록 복사할 수 있다.
한편, 상기 논리 주소 정렬부는, 상기 삭제할 블록을 관리하는 익스텐트의 상기 삭제할 블록 이후의 모든 블록들 및 상기 익스텐트에 이어지는 모든 익스텐트들에 포함된 블록들의 논리 주소를 재정렬할 수 있다.
본 발명의 또하나의 실시예에 따른 EXT 파일 관리 구조를 제어하는 방법은, 소정 파일이 특정 크기의 블록 단위로 분할되어 물리 메모리 영역에 기록되고, 복수의 상기 블록들에는 순차적으로 논리 주소가 할당되고, 복수의 상기 블록들 중 물리 주소가 연속하는 것들끼리 그룹화되어 익스텐트가 구성되고, 복수의 상기 익스텐트들 각각의 시작 주소와 길이 정보가 메타 데이터로서 기록되는 방식의 EXT 파일 관리 구조에 대하여: 상기 파일의 적어도 하나의 블록을 삭제하고자 하는 명령을 수신하면, 상기 파일의 메타 데이터를 획득하는 시스템콜 처리 단계; 상기 메타 데이터를 분석하여 상기 삭제할 블록 및 상기 삭제할 블록을 관리하는 익스텐트를 식별하고, 상기 식별된 익스텐트에서 상기 삭제할 블록을 제외시킴으로써 상기 명령을 실행하는 메타 데이터 재구성 단계; 상기 삭제할 블록을 관리하는 익스텐트의 상기 삭제할 블록 이후의 모든 블록들 및 상기 익스텐트에 이어지는 모든 익스텐트들에 포함된 블록들의 논리 주소를 재정렬하는 논리 주소 정렬 단계; 및 상기 파일과 관련된 익스텐트들의 단편화 비율이 임계값 이상인 경우에, 상기 파일의 적어도 하나의 블록들을 재구성하여 단편화를 제거하는 단편화 제거 단계를 수행하는 것을 포함한다.
이때, 상기 메타 데이터 재구성 단계는, 상기 삭제할 블록이 상기 익스텐트의 중간에 있는 경우, 상기 식별된 익스텐트를 상기 삭제할 블록을 제외시켜 구분하고, 상기 삭제할 블록을 제외한 나머지 블록들만을 포함하는 새로운 2개의 익스텐트들을 구성하는 것을 더 포함할 수 있다. 또는, 상기 메타 데이터 재구성 단계는, 상기 삭제할 블록이 상기 익스텐트의 중간에 있는 경우, 상기 식별된 익스텐트 이후의 모든 익스텐트들의 순서를 1단계씩 시프트하고, 상기 식별된 익스텐트의 길이를 시작 블록으로부터 상기 삭제할 블록의 이전 블록까지로 수정하고, 상기 삭제할 블록 이후 블록으로부터 상기 식별된 익스텐트의 맨끝 블록까지로 신규 익스텐트를 생성하고, 상기 신규 익스텐트를 상기 시프트로써 확보된 공간에 배치하는 것을 더 포함할 수 있다.
또한, 상기 단편화 제거 단계는, 상기 명령이 실행행된 이후 또는 임의의 시점에서 상기 메타 데이터를 분석하여, 상기 파일과 관련된 익스텐트의 총 개수, 상기 파일의 전체 크기 대비 익스텐트의 개수, 상기 파일의 전체 익스텐트 개수 대비 소정 개수 이하의 블록을 포함한 익스텐트의 개수 중 적어도 하나가 상기 임계값 이상인지 평가하여 단편화 제거를 수행할지를 결정하는 것을 더 포함할 수 있다. 또한, 상기 단편화 제거 단계는, 상기 파일의 신규 메타 데이터를 생성하고, 데이터 저장 영역 내에서 단편화된 블록들의 용량에 대응하는 연속되는 영역을 확보하고, 상기 확보된 영역을 가리키는 새로운 익스텐트를 구성하고, 상기 확보된 연속되는 영역에 상기 파일의 단편화된 블록들을 연속으로 위치하도록 복사할 수 있다.
상술한 구성으로 이루어지는 본 발명에 따른 EXT 파일 관리 구조의 파일단위 단편화 제거 시스템 및 방법은, 파일의 내용 중 일부가 변경되거나 삭제된 경우에 파일의 전부를 다시 쓰지 않고 메타 데이터의 수정을 통해 파일의 내용 중 해당하는 일부만을 변경하거나 삭제할 수 있는 EXT 파일 관리 구조에서 나타나는 익스텐트 및/또는 블록의 단편화를 제거할 수 있게 된다. 이로써, 시스템의 읽기 성능이 향상될 수 있다.
도 1은 본 발명의 일 실시예에 따른 내용 EXT 파일 관리 구조의 파일단위 단편화 제거 시스템의 개략적인 구조도이다.
도 2는 상기 시스템을 포함하는 EXT 파일 관리 구조에서 데이터 처리의 계층도이다.
도 3은 상기 시스템에 의한 블록 삭제 방법을 개괄적으로 설명하기 위한 도면이다.
도 4는 EXT 파일 관리 구조에서 연속된 블록 중 중간에 위치한 블록을 삭제하는 경우, 익스텐트를 분리하는 과정을 도시한 도면이다.
도 5는 도 4의 과정에 이어서 블록이 삭제되는 과정을 도시한 도면이다.
도 6은 연속된 블록의 맨 앞 또는 맨 뒤의 블록을 삭제하는 경우의 처리과정을 도시한다.
도 7은 블록의 빈번한 삭제로 단편화가 심하게 발생한 블록의 구조를 보여주는 도면이다.
도 8은 단편화된 블록들 및 단편화가 제거된 블록들의 구조를 보여주는 도면이다.
도 9는 단편화를 제거하는 동작 과정을 개념적으로 보여주는 도면이다.
도 10은 본 발명의 또하나의 실시예에 따른, EXT 파일 관리 구조를 제어하는 방법의 개략적인 흐름도이다.
도 11은 EXT 파일 관리 구조에서 블록을 삭제하는 처리 과정을 설명하는 흐름도이다.
도 12는 단편화를 제거하는 처리 과정을 설명하는 흐름도이다.
도 2는 상기 시스템을 포함하는 EXT 파일 관리 구조에서 데이터 처리의 계층도이다.
도 3은 상기 시스템에 의한 블록 삭제 방법을 개괄적으로 설명하기 위한 도면이다.
도 4는 EXT 파일 관리 구조에서 연속된 블록 중 중간에 위치한 블록을 삭제하는 경우, 익스텐트를 분리하는 과정을 도시한 도면이다.
도 5는 도 4의 과정에 이어서 블록이 삭제되는 과정을 도시한 도면이다.
도 6은 연속된 블록의 맨 앞 또는 맨 뒤의 블록을 삭제하는 경우의 처리과정을 도시한다.
도 7은 블록의 빈번한 삭제로 단편화가 심하게 발생한 블록의 구조를 보여주는 도면이다.
도 8은 단편화된 블록들 및 단편화가 제거된 블록들의 구조를 보여주는 도면이다.
도 9는 단편화를 제거하는 동작 과정을 개념적으로 보여주는 도면이다.
도 10은 본 발명의 또하나의 실시예에 따른, EXT 파일 관리 구조를 제어하는 방법의 개략적인 흐름도이다.
도 11은 EXT 파일 관리 구조에서 블록을 삭제하는 처리 과정을 설명하는 흐름도이다.
도 12는 단편화를 제거하는 처리 과정을 설명하는 흐름도이다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 EXT 파일 관리 구조의 파일단위 단편화 제거 시스템 및 방법의 바람직한 실시예를 설명한다. 참고로, 본 발명의 각 구성 요소를 지칭하는 용어들은 그 기능을 고려하여 예시적으로 명명된 것이므로, 용어 자체에 의하여 본 발명의 기술 내용을 예측하고 한정하여 이해해서는 아니 될 것이다.
도 1은 본 발명의 일 실시예에 따른 EXT 파일 관리 구조의 파일단위 단편화 제거 시스템의 구조를 개략적으로 도시한다. 도면을 참조하면, 상기 시스템(100)은, 시스템콜 처리부(102), 익스텐트 재구성부(104), 논리 주소 정렬부(106) 그리고 단편화 제거부(109)를 포함할 수 있으며, 블록 삭제부(108)를 더 포함할 수 있다.
본 발명에 따른 EXT 파일 관리 구조의 파일단위 단편화 제거 시스템(100)은, 소정 파일의 내용이 특정 크기의 블록 단위로 분할되어 저장 매체의 데이터 저장 영역(124)을 구성하는 물리 메모리 영역에 기록되고, 복수의 상기 블록들에는 상기 파일의 내용에 맞추어 순차적으로 논리 주소가 할당되고, 복수의 상기 블록들 중 물리 주소가 연속하는 것들끼리 그룹화되어 익스텐트가 구성되고, 복수의 상기 익스텐트들 각각의 시작 주소와 길이 정보가 메타 데이터로서 저장 매체의 파일 관리 영역(122)에 기록되는 EXT 파일 관리 구조를 제어하도록 구성된다.
시스템콜 처리부(102)는, 저장 매체(120)에 저장된 파일의 내용 중 일부를 변경, 특히 삭제하고자 하는 명령(즉, 시스템콜)을 수신하면, 변경 요청된 파일의 메타 데이터를 획득한다.
익스텐트 재구성부(104)는, 획득된 메타 데이터를 분석하여 변경 요청된 파일에서 변경할 내용이 적용될 블록 및 익스텐트를 식별한다. 만일, 요청된 명령이 소정의 블록의 삭제를 필요로 한다면, 삭제할 블록을 관리하는 익스텐트를 본 발명에서 제시하는 제어 방법에 따라 적절히 재구성함으로써 상기 명령을 실행한다.
논리 주소 정렬부(106)는, 상기 명령이 실행되면서 재구성된 메타 데이터의 복수의 익스텐트들을 분석하여, 전체 블록들의 논리 주소를 재정렬하여 재구성한다.
블록 삭제부(108)는, 상기 명령을 실행하여 삭제할 블록에 다른 프로그램에 의해 데이터가 기록될 수 있도록, 상기 삭제할 블록의 논리 주소를 상위 시스템(110), 예를 들면, 운영체제에 반환한다. 블록 삭제부(108)는 삭제할 블록의 실제 내용을 임의의 값으로 덮어쓰기할 수도 있다.
단편화 제거부(109)는, 상기한 블록 삭제 명령이 수행되는 파일에 대하여, 블록 또는 익스텐트의 단편화된 비율이 소정의 임계값 이상인지 판단하고, 필요한 경우에, 블록 또는 익스텐트를 재구성함으로써 단편화를 제거한다. 또는 단편화 제거부(109)는 필요에 따라 특정 파일을 선택하여 단편화 비율을 검사하고, 단편화 제거 처리의 수행 여부를 결정할 수도 있다. 이처럼, 본 발명의 단편화 제거부(109)는 임의의 파일에 대하여 블록 삭제 명령과 같은 소정의 동작이 수행될 때, 해당 파일의 단편화를 검사하여 필요에 따라 해당 파일에 대해서 단편화 제거를 수행하도록 구성된다.
상기한 바와 같은 각 구성부의 구체적인 동작은, 이어지는 설명을 참조하여 더욱 상세하게 이해할 수 있을 것이다.
도 2는 파일 수정을 위한 시스템콜을 처리하는 기존의 방식과 본 발명에서 참고하는 방법을 함께 설명하기 위한 도면이다. 기존의 방식에서는, 파일의 일부가 수정되더라도, 파일의 전체 내용을 다시쓰기위한 read()/write() 명령어가 호출되고, 모든 내용이 전부 기록될 때까지 write() 함수가 동작하였다. 이때, 파일 내용의 전체를 다시 쓰는 것은, 파일 관리 영역(122)에 포함된 메타 데이터를 전부 다시 쓰는 것과, 데이터 저장 영역(124)의 모든 블록의 실제 내용을 다시 쓰는 것을 포함한다.
한편, 본 발명에서는 메타 데이터(파일 관리 영역에 기록될 수 있음)를 수정하기 위한 전용 명령어(예를 들면, file_modification() 함수)를 제공한다. file_modification() 함수는 파일의 내용에 대한 수정, 특히 삭제가 필요한 경우에 파일 관리 영역(122)의 메타 데이터만을 수정함으로써, 파일 수정 처리를 완료할 수 있다. 상기 명령어에 의해서는 파일을 구성하는 블록의 실제 물리 영역은 명령 수행시에 바로 업데이트되지 않을 수 있다. 블록의 업데이트는, 이후에 블록 삭제 함수를 호출함으로써 완전히 지워질 수 있으며, 내용이 지워진 데이터 저장 영역(124)의 주소(물리 주소 및/또는 가상 주소)가 운영체제에 반환될 수 있다.
즉, 상기 전용 명령어(file_modification())는, 파일 내용 중 일부를 삭제하는 요청에 대해서, 삭제할 내용이 포함된 블록과 연결된 익스텐트에서 해당 블록에 관한 정보(예를 들면, 가상 주소)를 삭제하고 삭제할 블록을 제외한 블록들의 가상 주소만을 순차적으로 재정렬시키는 동작을 처리하도록 설계될 수 있다.
도 3은 메타 데이터 수정을 통한 데이터 삭제 과정을 보여준다. EXT 파일 관리 구조, 특히, Ext4 파일 관리 구조에서는 더 큰 파일 크기를 지원하기 위해 연속적인 블록의 그룹인 "익스텐트"라는 개념을 사용한다. 삭제할 블록이 익스텐트의 맨앞이나 맨끝에 위치한다면, 단지 익스텐트의 시작 주소 및/또는 길이만을 수정하면 된다. 하지만, 임의의 익스텐트의 중간에 위치한 블록을 삭제하게 되는 경우에는, 도 3(b)에 도시된 바와 같이, 삭제할 블록을 관리하는 익스텐트를 두 그룹으로 나누어 삭제할 블록을 제외시킨다.
즉, 하나의 익스텐트가 관리하는 연속적인 블록들 사이에 삭제하려는 블록이 존재할 경우, 상기 익스텐트를 연속적인 블록 그룹을 삭제할 블록을 기준으로 분리한 후, 상기 익스텐트를 삭제할 블록 이전까지의 블록들에 대한 익스텐트를 재구성하고, 삭제할 블록 이후의 블록들에 대한 새로운 익스텐트를 생성한다. 즉, 하나의 익스텐트 내에서 하나 또는 연속되는 일련의 블록들이 삭제되면, 2개의 익스텐트가 재구성될 수 있다.
도 4는 이와 같은 동작의 익스텐트 분리 과정을 보여준다. 도 4(a)와 같이 기존의 데이터에서 3번 블록을 삭제하고자 하는 경우, 삭제할 블록을 포함하는 기존의 익스텐트를 수정하고, 새로운 익스텐트를 추가하기 위해, 변동이 생길 익스텐트 이후의 익스텐트들을 모두 임시의 메모리에 저장한다.
그 다음 새로운 익스텐트를 삽입할 공간을 확보(일반적으로 메모리 공간을 한 칸씩 뒤로 이동)하고, 임시 메모리에 저장된 익스텐트들을 확보된 공간의 이후로부터 순서대로 저장한다. 확보된 공간에는 삭제할 블록 이후 블록의 주소와 나머지 블록들의 길이를 포함하는 신규 익스텐트를 기록한다.
블록을 삭제하는 작업은 메모리 공간의 논리 주소를 기반으로 수행될 수 있으며, 삭제할 블록들의 논리 주소는 데이터가 없어진다. 블록이 삭제 처리된 후에 삭제할 블록의 논리 주소에 접근하면 NULL 데이터가 읽히게 되어 파일 내용이 연속적이지 못하고 에러를 발생시킬 수 있다. 따라서 블록의 삭제 처리 후에는, 모든 블록들(또는 삭제할 블록 이후의 블록들)의 논리 주소를 수정해서, 삭제할 블록의 내용이 제거된 유효한 데이터만 연속적으로 읽혀질 수 있게 만든다.
도 5 및 도 6은 임의의 블록을 삭제한 후 블록의 논리 주소를 재정렬하는 과정을 보여준다.
도 5(a)와 같이 3번 블록이 삭제되어 논리 주소가 없어졌으면, 도 5(b)와 같이, 삭제된 3번 블록 이후의 블록에 3번을 부여하고, 이어서 순차적으로 논리 주소를 부여하여 재정렬한다.
도 6은 익스텐트의 맨앞 또는 맨끝에 위치한 블록이 삭제되는 경우를 보여준다. 도 6(a)과 같이 맨앞 블록이 삭제되면, 새로운 익스텐트를 생성할 필요는 없고, 다만, 맨 처음 익스텐트의 시작 주소를 2번 블록의 시작 주소로 변경하고, 익스텐트의 길이를 삭제할 블록을 제외한 나머지 블록들의 개수인 4로 변경한다. 이어서, 상기 익스텐트 내에서 1번 블록이 삭제됨에 따라, 2번 블록의 논리 주소를 1번으로 변경하고 이어지는 블록들에게도 순차적으로 논리 주소를 변경부여한다. 아울러, 그 다음번 익스텐트들의 블록들의 논리 주소가 하나씩 당겨지게 변경됨으로써 재정렬될 것이다.
한편, 도 6(b)과 같이 임의의 익스텐트의 맨끝 블록이 삭제되는 경우에도, 새로운 익스텐트가 생성될 필요는 없다. 다만, 해당 익스텐트의 길이만 4로 변경하면 된다. 한편, 해당 익스텐트의 맨끝 블록(예를 들면, 5번 블록)이 삭제됨에 따라, 그 다음번으로부터의 모든 익스텐트들의 모든 블록들의 논리 주소가 하나씩 당겨지게 변경됨으로써 재정렬될 것이다.
도 7은 블록의 빈번한 삭제로 단편화가 심하게 발생한 블록의 구조를 보여주는 도면이다. EXT 파일 관리 구조에서는 단편화 문제를 해결하기 위하여 연속적인 블록 그룹인 익스텐트를 사용하고 있다. 단편화는 저장 매체에 저장된 데이터가 여러 조각으로 나뉘는 현상을 의미하며, 단편화가 심할수록 데이터를 읽는 과정에서 지연이 발생하게 된다. 즉, 메타 데이터를 수정해 익스텐트 중간에 있는 블록들을 빈번하게 삭제할 경우, 단편화가 증가하게 되고, 애플리케이션에서 해당 블록들에 대한 읽기를 시도할 경우 읽기 연산의 성능이 크게 저하된다. 이러한 상태가 도 7에 도시되었다.
이러한 문제점을 해결하기 위하여, 본 실시예에서는, 메타 데이터를 수정하여 단편화를 제거한다.
일반적인 단편화 제거 방법은 디스크의 내용을 정리하여 각 파일을 연속적으로 붙이는 방법이다. 이러한 방법에서는 디스크 전체에 대하여 읽기/쓰기 동작이 수행되며, 동일 파일의 블록들은 최대한 인접하게 할당하기 위해 임의 위치에 있던 파일의 데이터를 임시적으로 다른 위치로 이동시킨 후 새로운 위치에 인접한 데이터를 이어붙여 저장한다. 이 과정에서 많은 양의 읽기/쓰기 연산이 발생하게 된다. 기존의 EXT4 파일 관리 구조에서도 e4defrag 명령어를 통해 단편화를 제거하고 있다. 이 명령어는 블록 인덱스를 수정하기 위한 시스템콜이 발생하는 과정에서 단편화가 지나치게 발생한 경우에, 블록을 재배치하여 단편화를 줄이는 방식으로 동작한다. 하지만, 이 명령어는 저장 매체 전부에 대해서 또는 디렉토리 단위로 동작하기 때문에, 동작시 상당한 부담이 된다.
하지만, 본 실시예에서는 하나의 파일 단위로 익스텐트 및/또는 블록에 일정 크기 또는 일정 개수의 단편화가 발생하였는지 평가하고, 해당 파일에 대해서만 단편화 제거 동작을 처리할 수 있다.
도 8은 단편화된 블록들 및 단편화가 제거된 블록들의 구조를 보여주는 도면이다. 도 8의 (a)에는 단편화 제거 처리가 이루어지기 전의 상태로서, 8개의 블록이 7개의 익스텐트로 구성되어 있는 단편화 비율이 아주 높은 상태를 보여준다. 한편, 도 8의 (b)는 도 8의 (a)와 같은 단편화된 상태에서 단편화가 제거되어 8개의 블록이 단지 2개의 익스텐트로 구성된 것을 보여준다. 도면에서는 2개의 익스텐트로 재구성된 것을 보여주지만, 1개의 익스텐트로 결합되는 것도 가능하다. 이는 익스텐트를 재구성하고 블록을 복사할 저장 영역의 크기에 의존할 수 있다.
다음으로, 도 9를 참조하여 단편화를 제거하는 동작 과정의 개념을 설명한다. 도면은 저장 매체에서 블록들의 위치 및 메타 데이터을 개념적으로 도시한다. 저장 매체에서 좌측과 같이 단편화된 블록들에 대하여 단편화를 제거하고자 하면, 단편화 제거할 대상 블록들을 선택하고, 선택된 블록들을 연속으로 이어붙일 공간을 확보한다. 그리고, 그 확보된 새로운 공간의 시작 주소와 길이 정보를 포함하는 새로운 익스텐트를 구성한다. 새로운 익스텐트에는 기존의 메타 데이터가 포함하는 정보가 그대로 복사될 수 있다. 이어서, 단편화된 블록들의 내용을 페이지 캐시에 저장하고, 확보된 새로운 공간에 순서대로 기록한다.
상기한 본 발명에 따른 방식으로 블록을 삭제함으로써, 대용량 파일 중 일부가 삭제되는 경우에도 적은 쓰기 연산으로 파일의 내용을 업데이트할 수 있다. 특히, 멀티미디어 파일이나 대용량 백업 파일에서 단편화를 제거함으로써, 시스템의 성능을 크게 향상시킬 수 있다. 또한, 저장 매체에 쓰고 지우는 작업의 횟수도 줄일 수 있으므로 저장 매체의 수명도 크게 증가시킬 수 있다.
이어서, 본 발명의 또하나의 실시예에 따른, EXT 파일 관리 구조에서 단편화를 제거하는 방법에 대해, 도 10 내지 도 12를 참조하여 설명한다.
도 10은 본 발명의 또하나의 실시예에 따른 EXT 파일 관리 구조의 파일단위 단편화 제거 시스템(100)에 의해 처리될 수 있는, 파일단위 단편화 제거 방법의 흐름도이다. 또한, 도 11은 상기 방법의 일례로서, 연속된 블록에서 임의의 블록을 삭제하는 경우의 처리 과정을 상세하게 설명하는 흐름도이다. 그리고, 도 12는 단편화를 제거하는 방법을 상세하게 설명하는 흐름도이다.
먼저, 본 발명의 시스템(100)이 상위 시스템(예를 들면, 운영체제 또는 사용자 프로그램)(110)으로부터 소정 파일의 내용을 변경하도록 요청하는 명령(즉, 시스템콜)을 수신하고, 파일을 구성하는 블록 중 적어도 하나를 삭제해야 하게 되면, 해당 명령을 처리하기 위한 전용 명령어(예를 들면, file_modification() 함수)를 실행시킨다(S110).
상기 전용 명령어는, 상기 명령이 처리되어야 할 대상 파일을 식별하고, 식별된 파일에서 메타 데이터를 획득하고, 메타 데이터를 재구성함으로써 명령이 요청하는 동작을 처리한다(S120).
즉, 상기 명령이 파일 중 소정 블록의 삭제가 수반되는 것으로 판단되면, 삭제할 블록을 관리하는 익스텐트를 식별하고, 식별된 익스텐트를 삭제할 블록을 제외시켜 분리하고, 분리된 각각을 새로운 익스텐트로 재구성한다.
이때, 하나의 익스텐트는 분리되기 전의 익스텐트의 시작 주소를 그대로 유지하며 길이만 삭제할 블록의 이전 블록까지로 수정될 수 있다. 그리고, 또하나의 익스텐트는 삭제할 블록 다음의 블록으로부터 분리되기 전의 익스텐트의 맨끝 블록까지를 가리키도록 시작 주소와 길이가 정의될 수 있다.
한편, 익스텐트가 재구성된 후에는, 해당 익스텐트들을 구성하는 일부 또는 모든 블록의 논리 주소가 재정렬된다(S130). 즉, 파일을 구성하는 블록들의 순서의 연속성이 삭제한 블록에 의해 손상되었으므로, 남아있는 블록들만으로 논리 주소를 재구성한다.
이어서, 상기 명령이 처리된 대상 파일의 재구성된 익스텐트 및/또는 블록을 분석하여, 단편화된 비율이 임계값 이상으로 높은 경우에, 해당 파일의 익스텐트 및/또는 블록을 재구성하여 단편화를 제거하게 된다(S140). 단편화를 제거하는 방법은 도 12를 참조하여 설명한다.
다음으로, 도 11을 참조하여, 임의의 블록을 삭제하는 경우의 처리 과정을 더욱 상세히 설명한다. 시스템(100)은, 시스템콜을 분석하여 삭제할 블록을 관리하는 익스텐트(이하, 대상 익스텐트)를 식별한다(S201). 그리고 삭제할 블록이 대상 익스텐트의 중간에 위치하는지 또는 맨앞/맨끝인지 확인한다(S202).
만일, 삭제할 블록이 대상 익스텐트의 중간에 위치한다면, 대상 익스텐트 이후의 익스텐트들의 순서를 1단계씩 뒤로 시프트한다(S204). 이로써 대상 익스텐트와 그다음 익스텐트의 사이에 하나의 익스텐트를 추가할 수 있는 공간이 확보된다.
이제, 대상 익스텐트의 길이를 삭제할 블록의 이전 블록까지로 수정하고, 삭제할 블록의 다음 블록으로부터 상기 대상 익스텐트의 맨끝 블록까지를 가리키는 신규 익스텐트를 생성한다(S205).
이어서, 각 블록의 논리 주소를 재정렬한다(S206). 각 블록들은 연속적인 논리 주소를 갖는데, 임의의 블록이 삭제되면서 논리 주소의 연속성이 손상되었으므로, 파일을 구성하는 모든 블록들의 논리 주소를 순서대로 재정렬하여 재부여한다.
한편, 단계(S202)에서 삭제할 블록이 대상 익스텐트의 맨앞에 위치하는 것으로 확인되면(S212), 대상 익스텐트의 시작 주소를 삭제할 블록의 다음 블록으로 수정하고, 대상 익스텐트의 길이를 삭제한 블록 개수만큼 줄인다(S213).
또한, 단계(S202)에서 삭제할 블록이 대상 익스텐트의 맨끝에 위치하는 것으로 확인되면(S222), 대상 익스텐트의 시작 주소는 유지하고, 길이만을 삭제할 블록의 이전 블록까지로 수정한다(S223).
단계(S213) 및 단계(S223)에서 익스텐트들이 수정되면, 단계(S206)로 진행하여 파일을 구성하는 모든 블록의 논리 주소를 순서에 맞게 재정렬한다.
이처럼 연속적으로 연결되어 하나의 익스텐트로써 가리켜지던 블록들이 중간에서 삭제되어 블록 및 익스텐트가 단편화되면, 도 12와 같은 처리에 의해 단편화가 제거될 수 있다. 먼저, 상기 도 11과 같은 블록의 삭제 처리가 수행된 이후에 해당 파일의 익스텐트 및/또는 블록의 구성이, 예를 들면, 단편화 제거부(109)에 의해 분석될 수 있다(S312). 또는 임의의 시점에서 단편화 제거부(109)가 적어도 하나의 파일의 메타 데이터를 검사하도록 예약될 수 있으며, 검사한 파일에 대하여 단편화를 제거할 것인지 결정할 수 있다.
메타 데이터의 검사는, 해당 파일과 관련된 익스텐트의 총 개수, 해당 파일의 전체 크기 대비 익스텐트의 개수, 해당 파일의 전체 익스텐트 개수 대비 소정 개수 이하의 블록을 포함한 익스텐트의 개수와 같이, 블록 및/또는 익스텐트의 단편화된 상태를 평가할 수 있는 다양한 조건의 검사를 포함한다.
이러한 검사에 의해 단편화 제거를 수행할 파일이 선택되면, 현재 가용한 저장 공간을 검사하고, 가용한 공간과 단편화된 블록들의 용량을 비교하여 단편화 제거할 블록을 선택할 수 있다(S313). 블록이 선택되면 선택된 블록을 연속하여 저장할 영역을 준비하고(S314), 준비된 영역의 시작 블록의 주소와 연속으로 기록할 수 있는 블록의 개수를 나타내도록 새로운 익스텐트를 구성한다(S315). 여기서, 새로운 익스텐트를 구성할 때에는, 해당 파일의 단편화 제거되기 전의 메타 데이터를 그대로 복사하여 사용할 수 있다.
마지막으로, 단편화된 블록의 내용을 새로운 익스텐트가 가리키는 연속된 영역으로 복사함으로써 단편화 제거 처리를 완료한다(S316).
이상에서 설명된 본 발명의 실시예들은 본 발명의 기술 사상을 예시적으로 보여준 것에 불과하며, 본 발명의 보호 범위는 이하 특허청구범위에 의하여 해석되어야 마땅할 것이다. 또한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것인 바, 본 발명과 균등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
Claims (12)
- 파일이 특정 크기의 블록 단위로 분할되어 물리 메모리 영역에 기록되고, 복수의 상기 블록들에는 순차적으로 논리 주소가 할당되고, 복수의 상기 블록들 중 물리 주소가 연속하는 것들끼리 그룹화되어 익스텐트가 구성되고, 복수의 상기 익스텐트들 각각의 시작 주소와 길이 정보가 메타 데이터로서 기록되는 방식의 EXT 파일 관리 구조를 제어하는 시스템으로서:
소정 파일 중 적어도 하나의 블록을 삭제하고자 하는 명령을 수신하면, 상기 파일과 관련된 메타 데이터를 획득하는 시스템콜 처리부;
상기 메타 데이터를 분석하여 상기 파일의 삭제할 블록 및 상기 삭제할 블록을 관리하는 익스텐트를 식별하고, 상기 식별된 익스텐트에서 상기 삭제할 블록을 제외시키는 메타 데이터 재구성부;
상기 파일과 관련된 익스텐트들에 포함된 블록들의 논리 주소를 재정렬하는 논리 주소 정렬부; 및
상기 파일과 관련된 익스텐트들의 단편화 비율이 임계값이상인 경우에, 상기 파일의 적어도 하나의 블록들을 재구성하여 단편화를 제거하는 단편화 제거부를 포함하는, EXT 파일 관리 구조의 파일단위 단편화 제거 시스템. - 제1항에 있어서,
상기 시스템콜 처리부는, 적어도 하나의 블록을 삭제하고자 하는 상기 명령에 대응하여, 상기 파일의 삭제할 부분과 관련된 익스텐트를 수정하고 나머지 블록들의 논리 주소를 재정렬하는 처리를 수행하도록 설계된 명령어를 실행시키는 것을 특징으로 하는, EXT 파일 관리 구조의 파일단위 단편화 제거 시스템. - 제1항에 있어서,
상기 삭제할 블록이 상기 익스텐트의 중간에 있는 경우,
상기 메타 데이터 재구성부는, 상기 식별된 익스텐트를 상기 삭제할 블록을 제외한 채로 구분하여 상기 삭제할 블록을 제외한 나머지 블록들만을 포함하는 새로운 2개의 익스텐트들을 구성하는 것을 특징으로 하는, EXT 파일 관리 구조의 파일단위 단편화 제거 시스템. - 제1항에 있어서,
상기 삭제할 블록이 상기 익스텐트의 중간에 있는 경우,
상기 메타 데이터 재구성부는, 상기 식별된 익스텐트 이후의 모든 익스텐트들의 순서를 1단계씩 시프트하고, 상기 식별된 익스텐트의 길이를 시작 블록으로부터 상기 삭제할 블록의 이전 블록까지로 수정하고, 상기 삭제할 블록 이후 블록으로부터 상기 식별된 익스텐트의 맨끝 블록까지로 신규 익스텐트를 생성하고, 상기 생성된 익스텐트를 상기 시프트로써 확보된 공간에 배치하는 것을 특징으로 하는, EXT 파일 관리 구조의 파일단위 단편화 제거 시스템. - 제3항 또는 제4항에 있어서,
상기 단편화 제거부는,
상기 명령의 실행이 완료된 시점 또는 임의의 시점에서, 상기 파일과 관련된 익스텐트의 총 개수, 상기 파일의 전체 크기 대비 익스텐트의 개수, 상기 파일의 전체 익스텐트 개수 대비 소정 개수 이하의 블록을 포함한 익스텐트의 개수 중 적어도 하나를 평가하여 단편화 제거를 수행할지를 결정하는 것을 특징으로 하는, EXT 파일 관리 구조의 파일단위 단편화 제거 시스템. - 제5항에 있어서,
상기 단편화 제거부는,
상기 파일의 신규 메타 데이터를 생성하고, 데이터 저장 영역 내에서 단편화된 블록들의 용량에 대응하는 연속되는 영역을 확보하고, 상기 확보된 영역을 가리키는 새로운 익스텐트를 구성하고, 상기 확보된 연속되는 영역에 상기 파일의 단편화된 블록들을 연속으로 위치하도록 복사하는 것을 특징으로 하는, EXT 파일 관리 구조의 파일단위 단편화 제거 시스템. - 제1항에 있어서,
상기 논리 주소 정렬부는,
상기 삭제할 블록을 관리하는 익스텐트의 상기 삭제할 블록 이후의 모든 블록들 및 상기 익스텐트에 이어지는 모든 익스텐트들에 포함된 블록들의 논리 주소를 재정렬하는 것을 특징으로 하는, EXT 파일 관리 구조의 파일단위 단편화 제거 시스템. - 소정 파일이 특정 크기의 블록 단위로 분할되어 물리 메모리 영역에 기록되고, 복수의 상기 블록들에는 순차적으로 논리 주소가 할당되고, 복수의 상기 블록들 중 물리 주소가 연속하는 것들끼리 그룹화되어 익스텐트가 구성되고, 복수의 상기 익스텐트들 각각의 시작 주소와 길이 정보가 메타 데이터로서 기록되는 방식의 EXT 파일 관리 구조를 제어하는 시스템에 의해 수행되는 EXT 파일 관리 구조의 파일단위 단편화 제거 방법으로서:
상기 파일의 적어도 하나의 블록을 삭제하고자 하는 명령을 수신하면, 상기 파일의 메타 데이터를 획득하는 시스템콜 처리 단계;
상기 메타 데이터를 분석하여 상기 파일의 삭제할 블록 및 상기 삭제할 블록을 관리하는 익스텐트를 식별하고, 상기 식별된 익스텐트에서 상기 삭제할 블록을 제외시킴으로써 상기 명령을 실행하는 메타 데이터 재구성 단계;
상기 삭제할 블록을 관리하는 익스텐트의 상기 삭제할 블록 이후의 모든 블록들 및 상기 익스텐트에 이어지는 모든 익스텐트들에 포함된 블록들의 논리 주소를 재정렬하는 논리 주소 정렬 단계; 및
상기 파일과 관련된 익스텐트들의 단편화 비율이 임계값 이상인 경우에, 상기 파일의 적어도 하나의 블록들을 재구성하여 단편화를 제거하는 단편화 제거 단계를 포함하는, EXT 파일 관리 구조의 파일단위 단편화 제거 방법. - 제8항에 있어서,
상기 메타 데이터 재구성 단계는,
상기 삭제할 블록이 상기 익스텐트의 중간에 있는 경우, 상기 식별된 익스텐트를 상기 삭제할 블록을 제외시켜 구분하고, 상기 삭제할 블록을 제외한 나머지 블록들만을 포함하는 새로운 2개의 익스텐트들을 구성하는 것을 더 포함하는, EXT 파일 관리 구조의 파일단위 단편화 제거 방법. - 제8항 또는 제9항에 있어서,
상기 메타 데이터 재구성 단계는,
상기 삭제할 블록이 상기 익스텐트의 중간에 있는 경우, 상기 식별된 익스텐트 이후의 모든 익스텐트들의 순서를 1단계씩 시프트하고, 상기 식별된 익스텐트의 길이를 시작 블록으로부터 상기 삭제할 블록의 이전 블록까지로 수정하고, 상기 삭제할 블록 이후 블록으로부터 상기 식별된 익스텐트의 맨끝 블록까지로 신규 익스텐트를 생성하고, 상기 신규 익스텐트를 상기 시프트로써 확보된 공간에 배치하는 것을 더 포함하는, EXT 파일 관리 구조의 파일단위 단편화 제거 방법. - 제10항에 있어서,
상기 단편화 제거 단계는,
상기 명령이 실행행된 이후 또는 임의의 시점에서 상기 메타 데이터를 분석하여, 상기 파일과 관련된 익스텐트의 총 개수, 상기 파일의 전체 크기 대비 익스텐트의 개수, 상기 파일의 전체 익스텐트 개수 대비 소정 개수 이하의 블록을 포함한 익스텐트의 개수 중 적어도 하나가 상기 임계값 이상인지 평가하여 단편화 제거를 수행할지를 결정하는 것을 더 포함하는, EXT 파일 관리 구조의 파일단위 단편화 제거 방법. - 제11항에 있어서,
상기 단편화 제거 단계는,
상기 파일의 신규 메타 데이터를 생성하고, 데이터 저장 영역 내에서 단편화된 블록들의 용량에 대응하는 연속되는 영역을 확보하고, 상기 확보된 영역을 가리키는 새로운 익스텐트를 구성하고, 상기 확보된 연속되는 영역에 상기 파일의 단편화된 블록들을 연속으로 위치하도록 복사하는 것을 더 포함하는, EXT 파일 관리 구조의 파일단위 단편화 제거 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170155483A KR101995460B1 (ko) | 2017-11-21 | 2017-11-21 | Ext 파일 관리 구조의 파일단위 단편화 제거 시스템 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170155483A KR101995460B1 (ko) | 2017-11-21 | 2017-11-21 | Ext 파일 관리 구조의 파일단위 단편화 제거 시스템 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190057957A KR20190057957A (ko) | 2019-05-29 |
KR101995460B1 true KR101995460B1 (ko) | 2019-07-02 |
Family
ID=66672967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170155483A KR101995460B1 (ko) | 2017-11-21 | 2017-11-21 | Ext 파일 관리 구조의 파일단위 단편화 제거 시스템 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101995460B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220154287A (ko) | 2021-05-12 | 2022-11-22 | 성균관대학교산학협력단 | 파일 단편화를 고려한 시스템 콜 순서 기반의 i/o 스케줄링 방법 및 이를 수행하는 시스템 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101465426B1 (ko) | 2013-11-06 | 2014-11-27 | 성균관대학교산학협력단 | 익스텐트 매핑 플래시 디바이스 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100439507B1 (ko) * | 2002-03-18 | 2004-07-09 | 삼성전기주식회사 | 고 용량 플래시 메모리 카드 시스템에서의 데이터 운영 방법 |
KR101392174B1 (ko) * | 2011-11-09 | 2014-05-09 | 한양대학교 산학협력단 | 소거 대상 블록의 매핑 테이블을 저장하는 플래시 메모리 제어장치 및 방법 |
-
2017
- 2017-11-21 KR KR1020170155483A patent/KR101995460B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101465426B1 (ko) | 2013-11-06 | 2014-11-27 | 성균관대학교산학협력단 | 익스텐트 매핑 플래시 디바이스 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20220154287A (ko) | 2021-05-12 | 2022-11-22 | 성균관대학교산학협력단 | 파일 단편화를 고려한 시스템 콜 순서 기반의 i/o 스케줄링 방법 및 이를 수행하는 시스템 |
US11977497B2 (en) | 2021-05-12 | 2024-05-07 | Research & Business Foundation Sungkyunkwan University | I/O scheduling method based on system call order considering file fragmentation, system for performing same and computer readable storage medium including executions causing processor to perform same |
Also Published As
Publication number | Publication date |
---|---|
KR20190057957A (ko) | 2019-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6304406B2 (ja) | ストレージ装置、プログラム、情報処理方法 | |
KR102033323B1 (ko) | 플래시 메모리에서 사용하는 로그 구조 파일시스템의 메타데이터 저장 방법 | |
US7610434B2 (en) | File recording apparatus | |
US8549051B2 (en) | Unlimited file system snapshots and clones | |
KR100951107B1 (ko) | 최적의 성능을 위한 파일 관리 방법 | |
US7401174B2 (en) | File system defragmentation and data processing method and apparatus for an information recording medium | |
US9639275B2 (en) | Managing data within a storage device based on file system metadata | |
US8280858B2 (en) | Storage pool scrubbing with concurrent snapshots | |
US20160188227A1 (en) | Method and apparatus for writing data into solid state disk | |
US20050055497A1 (en) | Faster write operations to nonvolatile memory by manipulation of frequently-accessed sectors | |
CN108009098B (zh) | 具有经压缩的正向映射的存储分层 | |
KR20070060070A (ko) | 최적화된 순차적인 클러스터 관리용 에프에이티 분석 | |
WO2005124530A2 (en) | Method for controlling memory card and method for controlling nonvolatile semiconductor memory | |
CN102999433B (zh) | 一种虚拟磁盘的冗余数据删除方法及*** | |
JP5244979B2 (ja) | ストレージシステムおよびその制御方法 | |
CN111522507B (zh) | 一种低延迟的文件***地址空间管理方法、***及介质 | |
CN110347643B (zh) | 一种磁盘间ntfs卷克隆方法及装置 | |
KR102545067B1 (ko) | 로그 구조 파일 시스템의 메타 데이터 저장 방법, 시스템 및 컴퓨터 판독 가능한 기록 매체 | |
JP2018181202A (ja) | ストレージ制御装置、ストレージ制御方法及びストレージ制御プログラム | |
KR100907477B1 (ko) | 플래시 메모리에 저장된 데이터의 인덱스 정보 관리 장치및 방법 | |
US20230083104A1 (en) | Efficiently Deleting Snapshots in a Log-Structured File System (LFS)-Based Storage System | |
KR101995460B1 (ko) | Ext 파일 관리 구조의 파일단위 단편화 제거 시스템 및 방법 | |
KR20090042570A (ko) | 파일 관리 장치 및 방법과 기억 장치 | |
US8825723B2 (en) | Methods and devices for managing and editing files in a file system | |
JP7314276B2 (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 | ||
GRNT | Written decision to grant |