KR100703753B1 - 파일 시스템 관리 장치 및 방법 - Google Patents

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

Info

Publication number
KR100703753B1
KR100703753B1 KR1020050031109A KR20050031109A KR100703753B1 KR 100703753 B1 KR100703753 B1 KR 100703753B1 KR 1020050031109 A KR1020050031109 A KR 1020050031109A KR 20050031109 A KR20050031109 A KR 20050031109A KR 100703753 B1 KR100703753 B1 KR 100703753B1
Authority
KR
South Korea
Prior art keywords
data
block
stored
size
file system
Prior art date
Application number
KR1020050031109A
Other languages
English (en)
Other versions
KR20060108884A (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 삼성전자주식회사
Priority to KR1020050031109A priority Critical patent/KR100703753B1/ko
Priority to JP2006088669A priority patent/JP4304194B2/ja
Priority to US11/391,453 priority patent/US7681010B2/en
Priority to CNB200610073113XA priority patent/CN100440221C/zh
Priority to DE602006003930T priority patent/DE602006003930D1/de
Priority to EP06112419A priority patent/EP1713012B8/en
Publication of KR20060108884A publication Critical patent/KR20060108884A/ko
Application granted granted Critical
Publication of KR100703753B1 publication Critical patent/KR100703753B1/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F3/00Board games; Raffle games
    • A63F3/00173Characteristics of game boards, alone or in relation to supporting structures or playing piece
    • A63F3/0023Foldable, rollable, collapsible or segmented boards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F3/00Board games; Raffle games
    • A63F3/02Chess; Similar board games

Landscapes

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

Abstract

본 발명은 파일 시스템 관리 장치 및 방법에 관한 것으로서, 더욱 상세하게는 파일 시스템에서 데이터가 저장되는 데이터 블록을 효율적으로 사용할 수 있는 파일 시스템 관리 장치 및 방법에 관한 것이다.
본 발명의 실시예에 따른 파일 시스템 관리 장치는, 사용자로부터 소정 데이터에 대한 입력값이 입력되는 사용자 입력부와, 상기 데이터를 저장할 수 있는 소정 크기를 가지는 다수의 데이터 블록을 포함하는 데이터 저장부와, 상기 데이터 블록에 저장된 데이터에 대한 데이터 정보를 저장하는 데이터 정보 저장부와, 상기 저장된 데이터 정보를 이용하여 각 데이터 블록의 빈 공간에 상기 입력값에 따른 데이터를 저장하는 제어부를 포함한다.
파일 시스템, 데이터 블록

Description

파일 시스템 관리 장치 및 방법{Apparatus and method for managing file system}
도 1은 일반적인 파일 시스템 구조가 도시된 도면.
도 2는 종래의 기술에 따라 데이터가 저장된 파일 시스템 구조가 도시된 도면.
도 3은 본 발명의 실시예에 따른 파일 시스템 관리 장치가 도시된 도면.
도 4는 본 발명의 실시예에 따른 파일 시스템 구조가 도시된 도면.
도 5는 본 발명의 실시예에 따라 데이터 저장부에 데이터를 저장하는 방법이 도시된 도면.
도 6은 도 4에서 데이터가 추가 저장된 파일 시스템 구조가 도시된 도면.
도 7은 본 발명의 실시예에 따라 데이터 저장부에 저장된 데이터를 삭제하는 방법이 도시된 도면.
도 8은 본 발명의 실시예에 따른 데이터 저장부에 저장된 데이터가 삭제된 파일 시스템 구조가 도시된 도면.
<도면의 주요 부분에 관한 부호의 설명>
110: 사용자 입력부 120: 데이터 저장부
130: 데이터 정보 저장부 140: 제어부
본 발명은 파일 시스템 관리 장치 및 방법에 관한 것으로서, 더욱 상세하게는 파일 시스템에서 데이터가 저장되는 데이터 블록을 효율적으로 사용할 수 있는 파일 시스템 관리 장치 및 방법에 관한 것이다.
파일 시스템과 관한 연구는 컴퓨터가 처음으로 개발된 이래로 지속적으로 이루어져 왔고 많은 제품들이 출시되었다. 대표적으로는 유닉스 파일 시스템(UFS), 시스템 파일 시스템(SFS), 베리타스 파일 시스템(VXFS), 원격 파일 공유(RFS), 네트워크 파일 시스템(NFS) 등이 있다.
이러한 파일 시스템들은 나름대로 안정적이고 효율적인 방법으로 제작되어 상용화되고 널리 사용되고 있으나, 다음과 같은 단점을 갖고 있다. 유닉스 파일 시스템이나 시스템 파일 시스템의 경우는 처음에 이루어진 구조를 후에 변경할 수 없고, 전체 파일 시스템을 백업할 경우 같은 형태와 같은 크기의 공간이 확보된 파일 시스템으로만 백업이 가능하다. 베리타스 파일 시스템의 경우는 초기에 형성된 파일 시스템의 구조는 계속 확장되어 나가는 형태를 갖고 있으므로 구조의 변경은 이루어지나, 백업의 경우에는 최소한 같은 공간을 갖는 다른 베리타스 파일 시스템으로만 백업이 이루어질 수 있다. 네트워크 파일 시스템이나 원격 파일 공유의 경우는 새로운 개념의 파일 시스템이 아니라 하나의 컴퓨터에 존재하는 파일 시스템을 여러 컴퓨터에서 공유하여 사용할 수 있도록 지원하는 메카니즘일 뿐이다.
도 1은 일반적인 파일 시스템 구조가 도시된 도면이다.
도시된 바와 같이, 일반적인 파일 시스템 구조는, 데이터가 저장되는 데이터 블록 영역(11) 및 데이터 블록 영역(11)에 저장된 데이터에 대한 정보를 포함하는 블록 맵이 저장되는 블록 맵 영역(12)을 포함한다.
이때, 데이터 블록 영역(11)은 일정한 크기를 가지는 다수의 데이터 블록으로 이루어지며, 블록 맵 영역(12)의 블록 맵은 각 데이터 블록에 저장된 데이터가 사용한 크기 등의 정보를 포함한다. 또한, 블록 맵은 소정의 데이터의 크기가 하나의 데이터 블록 크기를 초과하여 다른 데이터 블록에 나뉘어 저장된 경우, 각 데이터 블록간의 연결 관계를 포함한다.
도 2는 전술한 도 1의 데이터 영역(11)에 소정의 데이터가 저장된 파일 시스템 구조가 도시된 도면이다. 이때, 도 2의 데이터 블록 영역(11)의 각 데이터 블록의 크기는 100KB인 경우를 예를 들어 설명하기로 한다. 또한, 각 데이터 블록에는 하나의 데이터만 저장된 경우를 예를 들어 설명하기로 한다.
도시된 바와 같이, 데이터 블록 영역(11)의 각 데이터 블록에는 소정의 데이터가 저장된다. 이때, 각 데이터 블록은 저장되는 데이터의 크기와 무관하게 하나의 데이터에 대해 각각 할당된다. 따라서, 저장되는 데이터의 크기가 10KB인 경우와 70KB인 경우에 대하여 각각 하나의 데이터 블록이 할당되는 것이다. 따라서, 10KB의 데이터 저장된 경우에는 90KB의 공간이 낭비되고, 70KB의 데이터가 저장된 경우에는 30KB의 공간이 낭비된다. 한편, 저장되는 데이터의 크기가 하나의 데이터 블록 크기를 초과하는 경우에는 여러 개의 데이터 블록에 나뉘어져 저장된다.
따라서, 저장되는 데이터가 소정 데이터 블록의 크기를 초과하지 않는 경우에는 해당 데이터 블록에 데이터가 저장된 후 빈 공간이 낭비하게 된다는 문제점이 있다. 또한, 저장되는 데이터의 크기가 소정 데이터 블록의 크기를 초과하는 경우에도 낭비된 빈 공간을 사용하지 않기 때문에 데이터 블록의 저장 효율이 저해되는 문제점이 있다.
한국 공개 특허 2000-0020057은 파일 시스템의 사용 가능한 공간을 검사하는 과정, 사용 가능한 블록 중 동적 파일 시스템을 위해 사용할 블록 크기를 정하고 임의의 파일을 생성하는 과정, 임의의 파일을 동적 파일 시스템 구조로 구성하는 과정으로 이루어지는 동적 파일 시스템 구성 방법을 개시하고 있으나, 이는 동적 파일 시스템을 위해 사용할 블록을 별도로 정하기 때문에 데이터가 저장되는 모든 데이터 블록에 적용하기 어려운 문제점이 있다.
본 발명은 파일 시스템에서 데이터가 저장되는 데이터 블록의 빈 공간을 판단하고, 판단 결과에 따른 빈 공간에 데이터를 저장하여 데이터 블록의 공간을 효율적으로 사용할 수 있는 파일 시스템 관리 장치 및 방법을 제공하는데 그 목적이 있다.
본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 파일 시스템 관리 장치는, 사용자로부터 소정 데이터에 대한 입력값이 입력되는 사용자 입력부와, 상기 데이터를 저장할 수 있는 소정 크기를 가지는 다수의 데이터 블록을 포함하는 데이터 저장부와, 상기 데이터 블록에 저장된 데이터에 대한 데이터 정보를 저장하는 데이터 정보 저장부와, 상기 저장된 데이터 정보를 이용하여 각 데이터 블록의 빈 공간에 상기 입력값에 따른 데이터를 저장하는 제어부를 포함한다.
또한, 상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 파일 시스템 관리 방법은, 사용자로부터 소정 데이터에 대한 입력값이 입력되는 단계와, 상기 데이터를 저장할 수 있는 소정 크기를 가지는 다수의 데이터 블록에 저장된 데이터에 대한 데이터 정보를 추출하는 단계와, 상기 추출된 데이터 정보에 따라 상기 각 데이터 블록의 빈 공간에 상기 입력값에 따른 데이터를 저장하는 단계를 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다.
도 3은 본 발명의 실시예에 따른 파일 시스템 관리 장치가 도시된 도면이다.
도시된 바와 같이, 본 발명의 실시예에 따른 파일 시스템 관리 장치는, 사용자로부터 소정 데이터에 대한 입력값이 입력되는 사용자 입력부(110)와, 데이터를 저장할 수 있는 소정 크기를 가지는 다수의 데이터 블록을 포함하는 데이터 저장부(120)와, 각 데이터 블록에 저장된 데이터에 대한 데이터 정보를 저장하는 데이터 정보 저장부(130)와, 상기 저장된 데이터 정보를 통해 데이터 저장부(120)의 각 데이터 블록에서 빈 공간을 판단하고, 판단 결과에 따른 빈 공간에 입력값에 따른 데이터를 저장하는 제어부(140)를 포함할 수 있다.
이때, 데이터 정보 저장부(130)에 저장되는 데이터 정보는, 각 데이터 블록의 총 사용 공간 및 각 데이터 블록에 저장된 각 데이터의 사용 공간 등을 포함할 수 있으나, 이에 한정되지 않는다.
이하, 본 발명의 실시예에서 사용되는 용어 중 각 데이터 블록의 총 사용 공간에 관한 데이터 정보를 '블록 맵'이라 칭하고, 각 데이터 블록에 저장된 각 데이터들의 사용 공간에 관한 데이터 정보를 '서브 블록 맵'이라 칭하기로 한다.
따라서, 블록 맵은 소정의 데이터 블록에 저장되는 데이터의 수와 무관하게 해당 데이터 블록에 저장된 데이터들의 총 사용 공간에 관한 정보를 포함하고, 서브 블록 맵은 소정 데이터 블록에 저장된 각 데이터들의 사용 공간, 예를 들어 해당 데이터 블록에서의 시작 위치, 사용 공간 및 다른 데이터 블록과의 연결 관계를 포함할 수 있다. 이때, 다른 데이터 블록과의 연결 관계는, 해당 데이터가 소정 데이터 블록의 빈 공간에 저장되기에는 해당 데이터 블록의 빈 공간이 부족하여 다른 데이터 블록에 나누어져 저장된 경우, 해당 데이터가 저장된 데이터 블록들의 연결 관계를 나타낼 수 있다.
또한, 데이터 정보 저장부(130)는 데이터 저장부(120)와 하드웨어적으로 통합되어 구성될수도 있고, 하드웨어적으로 별도로 구성될수도 있다. 예를 들어, 데이터 저장부(120)가 하드 디스크 및 플래시 메모리 등과 같은 저장 매체로 이루어진 경우, 데이터 정보 저장부(130)는 하드 디스크 및 플래시 메모리에 함께 구성될수도 있고 별도로 구성된 저장 매체로 구성될수도 있다.
제어부(140)는 전술한 블록 맵과 서브 블록 맵을 통해 각 데이터 블록에서 데이터가 저장되지 않은 빈 공간을 판단할 수 있으며, 판단 결과에 따른 빈 공간에 사용자 입력부(110)로 입력된 입력값에 따른 데이터를 저장할 수 있다. 이때, 제어부(140)는 소정 데이터 블록의 빈 공간에 입력값에 따른 데이터를 모두 저장하거나 빈 공간이 부족한 경우에는 다른 데이터 블록에 나누어 저장할 수 있다.
또한, 제어부(140)는 사용자 입력부(110)로 입력된 입력값에 따른 데이터를 저장한 경우에는 블록 맵과 서브 블록 맵을 갱신하여 사용자가 차후에 데이터를 저장할 경우에 참조할 수 있다. 또한, 블록 맵과 서브 블록 맵의 갱신은 데이터가 저장된 경우뿐만 아니라 각 데이터 블록에 저장된 데이터가 삭제될 경우에도 이루어질 수 있다.
구체적으로, 제어부(140)는 데이터 저장부(120)의 각 데이터 블록이 100KB의 크기를 가지고, 소정 데이터 블록에 저장된 데이터의 크기가 50KB인 경우, 전술한 블록 맵을 통해 해당 데이터 블록의 빈 공간이 50KB인 것을 판단할 수 있다. 이때, 사용자가 저장하고자 하는 데이터의 크기가 70KB일 경우, 해당 데이터 블록의 빈 공간이 50KB이기 때문에 총 70KB 중 50KB를 저장하고, 다른 데이터 블록에 20KB를 저장할 수 있다. 이때, 하나의 데이터가 두 개의 데이터 블록에 나누어져 저장되는데, 제어부(140)는 전술한 서브 블록 맵에 기록된 데이터가 저장된 데이터 블록들간의 연결 관계를 통해 해당 데이터에 용이하게 접근할 수 있다. 이와 같은 서브 블록 맵은 데이터가 시작되는 데이터 블록, 해당 데이터 블록에서의 시작 위치, 다른 데이터 블록의 연결관계 및 해당 데이터의 크기 등을 포함할 수 있다.
도 4는 본 발명의 실시예에 따른 데이터 저장부(120) 및 데이터 정보 저장부(130)가 도시된 도면이다.
도시된 바와 같이, 본 발명의 실시예에 따른 데이터 저장부(120)는 소정 크기를 가지는 다수의 데이터 블록(121~129)으로 이루어지며, 데이터 정보 저장부(130)는 데이터 저장부(120)에 저장된 데이터들에 대한 데이터 정보인 블록 맵, 서브 블록 맵 및 데이터 저장부(120)의 각 데이터 블록(121~129)에서 빈 공간에 대한 정보를 포함하는 프리 블록 맵이 각각 저장된 데이터 블록(131, 132, 133)으로 이루어질 수 있다. 이때, 본 발명의 실시예에서 데이터 정보 저장부(130)의 데이터 블록(131, 132, 133)은 데이터 저장부(120)의 데이터 블록(121~129)와 동일한 크기를 가지는 경우를 예를 들어 설명하기로 한다. 또한, 본 발명의 실시예에서 데이터 저장부(120)와 데이터 정보 저장부(130)의 각 데이터 블록은 동일한 크기를 가지 며, 데이터 저장부(120) 및 데이터 정보 저장부(130)가 하드웨어적으로 통합되어 구성되는 경우를 예를 들어 설명하기로 한다.
이때, 전술한 도 4에서 데이터 저장부(120) 및 데이터 정보 저장부(130)의 각 데이터 블록 및 데이터 저장부(120)에 저장된 데이터들은 각각 서로를 구별할 수 있는 ID가 부여될 수 있다.
이하, 본 발명의 실시예에서 사용되는 용어 중 각 데이터 블록들에게 부여된 ID를 '블록 ID'라 칭하고, 각 데이터들에게 부여된 ID를 '서브 블록 ID'라 칭하기로 한다. 또한, 본 발명의 실시예에서는 블록 ID와 서브 블록 ID의 구분을 위해 블록 ID는 A0, A1, A2, A3, ... 와 같은 형식으로 표시하고, 서브 블록 ID는 B0, B1, B2, B3, ... 와 같은 형식으로 표시하는 경우를 예를 들어 설명하기로 한다.
여기서, 서브 블록 ID는 소정 데이터에 대해 각 데이터 블록의 블록 ID 순서에 따라 순차적으로 부여될 수 있다. 예를 들어, 소정 데이터가 블록 ID가 A3인 데이터 블록과 A4인 데이터 블록에 나뉘어져 저장된 경우, 블록 ID가 A3인 데이터 블록에서 서브 블록 ID가 B4가 부여되면, 블록 ID가 A4인 데이터 블록에서는 서브 블록 ID가 B5가 부여될 수 있다. 따라서, 해당 데이터는 서브 블록 ID로 B4와 B5을 가질 수 있는 것이다. 본 발명의 실시예에서는 소정 데이터가 다수의 데이터 블록에 나뉘어져 저장된 경우, 각 데이터 블록에서의 연결 관계를 위해 각 데이터 블록에 대하여 서로 다른 서브 블록 ID를 부여하는 경우를 예를 들어 설명하고 있으나, 이에 한정되지 않고 해당 데이터가 시작되는 데이터 블록에서의 시작 위치와 데이터의 크기 등과 같이 다양한 방법을 통해 해당 데이터에 대한 각 데이터 블록에 대 한 연결 관계를 확인할 수 있다.
이때, 본 발명의 이해를 돕기 위해 본 발명의 실시예에서는 전술한 도 4에서 데이터 저장부(120)에 저장된 각 데이터의 서브 블록 ID와 데이터명의 관계는 표 1과 같은 경우를 예를 들어 설명하기로 한다.
서브 블록 ID 데이터명
B0 Text1.txt
B1 Text2.txt
B2 Text3.txt
B3 Text4.txt
B4 ~ B8 Music1.mp3
B9 Text5.txt
B10 ~ B11 Music2.mp3
또한, 전술한 표 1의 서브 블록 ID를 가지는 데이터가 전술한 도 4와 같은 데이터 저장부(120)에 저장된 경우, 각 데이터 블록에 대한 블록 맵은 표 2와 같으며, 표 2는 해당 데이터 블록의 블록 ID와 사용 공간으로 이루어질 수 있다.
블록 ID 사용 공간
A0 100
A1 100
A2 100
A3 100
A4 100
A5 100
A6 100
A7 75
A8 100
A9 100
A10 0
A11 0
또한, 전술한 표 2의 블록 맵과 더불어 각 데이터 블록(121~129)에 저장된 각 데이터의 데이터 정보를 나타내는 서브 블록 맵은 표 3과 같다.
서브 블록 ID 블록 ID 시작 위치 크기 다음 서브 블록 ID
B0 A3 0 15 EOF
B1 A3 15 20 EOF
B2 A3 35 15 EOF
B3 A3 50 25 EOF
B4 A3 75 25 B5
B5 A4 0 100 B6
B6 A5 0 100 B7
B7 A6 0 100 B8
B8 A7 0 50 EOF
B9 A7 75 25 EOF
B10 A8 0 100 EOF
B11 A9 0 100 EOF
전술한 표 3에서 EOF(End Of File)은 해당 데이터의 끝을 의미하는 것으로서, 전술한 표 3에서 다음 서브 블록 ID 항목에 EOF가 표시된 데이터는 더 이상 다음 서브 블록 ID를 탐색하지 않게 된다.
한편, 제어부(140)는 전술한 데이터 저장부(120)에서 빈 공간을 전술한 프리 블록 맵을 통해 관리하게 된다. 예를 들어, 전술한 도 4와 같이 데이터 저장부(120)에 빈 공간이 존재할 경우 프리 블록 맵(133)은 표 4와 같다.
블록 ID 시작 위치 크기
A7 50 25
A10 0 100
A11 0 100
이하, 본 발명의 실시예에 따른 파일 시스템 관리 장치의 동작을 살펴본다.
도 5는 본 발명의 실시예에 따른 파일 시스템에 데이터를 저장하는 방법이 도시된 도면이다. 이때, 본 발명의 파일 시스템 관리 방법은 데이터 저장부(120)로의 데이터 저장, 삭제 및 복사 등에 적용될 수 있으며, 본 발명의 실시예에서는 데이터 저장부(120)에 소정의 데이터를 저장 및 삭제하는 경우를 예를 들어 설명하기로 한다.
도시된 바와 같이, 본 발명의 실시예에 따른 파일 시스템 관리 방법은, 먼저 사용자가 데이터 저장부(120)에서 소정의 데이터를 저장하기 위한 입력값을 사용자 입력부(100)를 통해 입력한다(S110).
제어부(140)는 입력된 입력값에 해당하는 데이터에 따른 데이터 정보를 판단한다(S120). 이때, 제어부(140)에 의해 판단되는 데이터 정보는 해당 데이터의 크기일 수 있다.
또한, 제어부(140)는 전술한 프리 블록 맵(133)을 참조하여 현재 데이터 저장부(120)의 빈 공간을 판단한다(S130).
제어부(140)는 데이터 저장부(120)에서 빈 공간의 판단이 완료되면, 판단된 빈 공간에 입력된 입력값에 따른 데이터를 저장한다(S140).
이때, 제어부(140)는 데이터가 저장 완료되면, 전술한 블록 맵, 서브 블록 맵 및 프리 블록 맵을 갱신한다(S150). 이때, 갱신되는 블록 맵은 전술한 표 2에서 입력값에 따라 저장된 데이터의 사용 공간이 추가되고, 서브 블록 맵은 입력값에 따른 데이터가 하나의 데이터 블록에 모두 저장된 경우에는 하나의 서브 블록 ID가 부여되고, 적어도 하나 이상의 데이터 블록에 나뉘어져 저장된 경우에는 각 데이터 블록마다 하나의 서브 블록 ID를 부여하여 전술한 표 1을 갱신할 수 있다.
또한, 프리 블록 맵 또한 입력값에 따른 데이터가 저장된 후, 데이터 저장부(120)에서 데이터가 저장되지 않는 빈 공간을 갱신하게 된다.
구체적으로, 전술한 도 4와 같은 데이터 저장부(120)에서 도 6과 같이 서브 블록 ID가 B12이고 크기가 50KB인 데이터가 저장된 경우, 전술한 블록 맵, 서브 블록 맵 및 프리 블록 맵은 각각 표 5, 표6 및 표 7과 같다.
블록 ID 사용 공간
A0 100
A1 100
A2 100
A3 100
A4 100
A5 100
A6 100
A7 75
A8 100
A9 100
A10 50
A11 0
서브 블록 ID 블록 ID 시작 위치 크기 다음 서브 블록 ID
B0 A3 0 15 EOF
B1 A3 15 20 EOF
B2 A3 35 15 EOF
B3 A3 50 25 EOF
B4 A3 75 25 B5
B5 A4 0 100 B6
B6 A5 0 100 B7
B7 A6 0 100 B8
B8 A7 0 50 EOF
B9 A7 75 25 EOF
B10 A8 0 100 EOF
B11 A9 0 100 EOF
B12 A10 0 50 EOF
블록 ID 시작 위치 크기
A7 50 25
A10 50 50
A11 0 100
이와 같이 본 발명의 실시예에 따른 파일 시스테 관리 방법은 전술한 바와 같은 데이터를 저장한 경우뿐만 아니라, 이미 데이터 저장부(120)에 저장된 데이터를 삭제하는 경우에도 유사하게 적용될 수 있다.
도 7은 본 발명의 실시예에 따른 파일 시스템에서 데이터를 삭제하는 방법이 도시된 도면이다.
도시된 바와 같이, 본 발명의 실시예에 따른 파일 시스템 관리 방법은, 먼저 사용자가 데이터 저장부(120)에서 소정의 데이터를 삭제하기 위한 입력값을 사용자 입력부(100)를 통해 입력한다(S210).
제어부(140)는 입력된 입력값에 해당하는 데이터에 따른 데이터 정보를 판단한다(S220). 이때, 제어부(140)에 의해 판단되는 데이터 정보는 해당 데이터의 서브 블록 ID 및 크기 등일 수 있다.
또한, 제어부(140)는 전술한 블록 맵, 서브 블록 맵 및 프리 블록 맵을 참조하여 해당 데이터가 저장된 위치를 판단한다(S230).
제어부(140)는 블록 맵, 서브 블록 맵 및 프리 블록 맵을 통해 해당 데이터의 위치가 판단되면, 판단 결과에 따른 데이터를 삭제한다(S240).
이때, 제어부(140)는 데이터의 삭제가 완료되면, 전술한 블록 맵, 서브 블록 맵 및 프리 블록 맵을 갱신한다(S250).
구체적으로, 전술한 도 4와 같은 데이터 저장부(120)에 저장된 데이터가 도 8과 같이 데이터 저장부(120)에서 서브 블록 ID가 각각 B1 및 B9인 데이터가 삭제된 경우, 전술한 블록 맵, 서브 블록 맵 및 프리 블록 맵은 각각 표 8, 표9 및 표 10과 같다.
블록 ID 사용 공간
A0 100
A1 100
A2 100
A3 80
A4 100
A5 100
A6 100
A7 50
A8 100
A9 100
A10 0
A11 0
서브 블록 ID 블록 ID 시작 위치 크기 다음 서브 블록 ID
B0 A3 0 15 EOF
- - - - -
B2 A3 35 15 EOF
B3 A3 50 25 EOF
B4 A3 75 25 B5
B5 A4 0 100 B6
B6 A5 0 100 B7
B7 A6 0 100 B8
B8 A7 0 50 EOF
- - - - -
B10 A8 0 100 EOF
B11 A9 0 100 EOF
블록 ID 시작 위치 크기
A3 15 20
A7 50 50
A10 0 100
A11 0 100
이상과 같이 본 발명에 따른 파일 시스템 관리 장치 및 방법을 예시된 도면을 참조로 하여 설명하였으나, 본 명세서에 개시된 실시예와 도면에 의해 본 발명은 한정되지 않으며 그 발명의 기술사상 범위내에서 당업자에 의해 다양한 변형이 이루어질 수 있음은 물론이다.
상기한 바와 같은 본 발명의 파일 시스템 관리 장치 및 방법에 따르면, 파일 시스템에서 데이터가 저장되는 데이터 블록 및 데이터 블록에 저장되는 데이터에 각각 블록 ID 및 서브 블록 ID를 부여하고, 부여된 블록 ID 및 서브 블록 ID를 통해 각 데이터 블록의 빈 공간을 판단하여 빈 공간에 데이터를 저장할 수 있기 때문에 데이터 블록의 공간을 효율적으로 사용할 수 있는 효과가 있다.

Claims (14)

  1. 사용자로부터 소정 데이터에 대한 입력 값이 입력되는 사용자 입력부와,
    상기 데이터를 저장할 수 있는 소정 크기를 가지는 다수의 데이터 블록을 포함하는 데이터 저장부와,
    상기 데이터 블록의 총 사용 공간에 대한 정보를 포함하는 블록 맵, 상기 각 데이터 블록에 저장된 상기 데이터들의 사용 공간에 대한 정보를 포함하는 서브 블록 맵, 상기 데이터 블록의 빈 공간에 대한 정보를 포함하는 프리 블록 맵을 포함하는 데이터 정보를 저장하는 데이터 정보 저장부와,
    상기 저장된 데이터 정보를 이용하여 각 데이터 블록의 빈 공간에 상기 입력 값에 따른 데이터를 저장하는 제어부를 포함하는 파일 시스템 관리 장치.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 블록 맵은, 상기 각 데이터 블록에 부여된 블록 ID와,
    상기 각 블록 ID에 해당하는 데이터 블록의 사용 공간에 대한 정보를 포함하는 파일 시스템 관리 장치.
  4. 제 1 항에 있어서,
    상기 서브 블록 맵은, 상기 각 데이터에 부여된 서브 블록 ID와,
    상기 각 데이터가 저장된 데이터 블록의 블록 ID와,
    상기 각 데이터의 시작 위치와,
    상기 각 데이터의 크기와,
    상기 각 데이터의 크기가 소정 데이터 블록의 크기를 초과하여 다른 데이터 블록에 나뉘어져 저장된 경우, 다른 데이터 블록과의 연결 관계에 대한 정보를 포함하는 파일 시스템 관리 장치.
  5. 제 4 항에 있어서,
    상기 상기 서브 블록 ID는 소정 데이터의 크기가 소정 데이터 블록의 크기를 초과하는 경우, 해당 데이터가 나뉘어져 저장된 데이터 블록의 순서에 따라 순차적으로 부여되는 파일 시스템 관리 장치.
  6. 제 1 항에 있어서,
    상기 프리 블록 맵은, 상기 각 데이터 블록의 블록 ID와,
    상기 각 데이터 블록의 빈 공간 크기에 대한 정보를 포함하는 파일 시스템 관리 장치.
  7. 제 1 항에 있어서,
    상기 제어부는, 상기 프리 블록 맵에 따른 빈 공간에 상기 입력값에 따른 데이터를 저장한 후, 상기 블록 맵, 상기 서브 블록 맵 및 상기 프리 블록 맵을 갱신하는 파일 시스템 관리 장치.
  8. 사용자로부터 소정 데이터에 대한 입력 값이 입력되는 단계와,
    상기 데이터를 저장할 수 있는 소정 크기를 가지는 다수의 데이터 블록의 총 사용 공간에 대한 정보를 포함하는 블록 맵, 상기 각 데이터 블록에 저장된 상기 데이터들의 사용 공간에 대한 정보를 포함하는 서브 블록 맵, 상기 각 데이터 블록의 빈 공간에 대한 정보를 포함하는 프리 블록 맵을 포함하는 데이터 정보를 추출하는 단계와,
    상기 추출된 데이터 정보에 따라 상기 각 데이터 블록의 빈 공간에 상기 입력 값에 따른 데이터를 저장하는 단계를 포함하는 파일 시스템 관리 방법.
  9. 삭제
  10. 제 8 항에 있어서,
    상기 블록 맵은, 상기 각 데이터 블록에 부여된 블록 ID와,
    상기 각 블록 ID에 해당하는 데이터 블록의 사용 공간에 대한 정보를 포함하는 파일 시스템 관리 방법.
  11. 제 8 항에 있어서,
    상기 서브 블록 맵은, 상기 각 데이터에 부여된 서브 블록 ID와,
    상기 각 데이터가 저장된 데이터 블록의 블록 ID와,
    상기 각 데이터의 시작 위치와,
    상기 각 데이터의 크기와,
    상기 각 데이터의 크기가 소정 데이터 블록의 크기를 초과하여 다른 데이터 블록에 나뉘어져 저장된 경우, 다른 데이터 블록과의 연결 관계에 대한 정보를 포함하는 파일 시스템 관리 방법.
  12. 제 11 항에 있어서,
    상기 서브 블록 ID는 소정 데이터의 크기가 소정 데이터 블록의 크기를 초과하는 경우, 해당 데이터가 나뉘어져 저장된 데이터 블록의 순서에 따라 순차적으로 부여되는 파일 시스템 관리 방법.
  13. 제 8 항에 있어서,
    상기 프리 블록 맵은, 상기 각 데이터 블록의 블록 ID와,
    상기 각 데이터 블록의 빈 공간 크기에 대한 정보를 포함하는 파일 시스템 관리 방법.
  14. 제 8 항에 있어서,
    상기 프리 블록 맵에 따른 빈 공간에 상기 입력값에 따른 데이터를 저장한 후, 상기 블록 맵, 상기 서브 블록 맵 및 상기 프리 블록 맵을 갱신하는 단계를 더 포함하는 파일 시스템 관리 방법.
KR1020050031109A 2005-04-14 2005-04-14 파일 시스템 관리 장치 및 방법 KR100703753B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020050031109A KR100703753B1 (ko) 2005-04-14 2005-04-14 파일 시스템 관리 장치 및 방법
JP2006088669A JP4304194B2 (ja) 2005-04-14 2006-03-28 ファイルシステム管理装置及び方法
US11/391,453 US7681010B2 (en) 2005-04-14 2006-03-29 Apparatus and method for a managing file system
CNB200610073113XA CN100440221C (zh) 2005-04-14 2006-04-04 管理文件***的设备和方法
DE602006003930T DE602006003930D1 (de) 2005-04-14 2006-04-10 Vorrichtung und Verfahren zur Verwaltung eines Dateisystems
EP06112419A EP1713012B8 (en) 2005-04-14 2006-04-10 Apparatus and method for managing a file system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050031109A KR100703753B1 (ko) 2005-04-14 2005-04-14 파일 시스템 관리 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20060108884A KR20060108884A (ko) 2006-10-18
KR100703753B1 true KR100703753B1 (ko) 2007-04-06

Family

ID=36693117

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050031109A KR100703753B1 (ko) 2005-04-14 2005-04-14 파일 시스템 관리 장치 및 방법

Country Status (6)

Country Link
US (1) US7681010B2 (ko)
EP (1) EP1713012B8 (ko)
JP (1) JP4304194B2 (ko)
KR (1) KR100703753B1 (ko)
CN (1) CN100440221C (ko)
DE (1) DE602006003930D1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009009545A (ja) * 2007-01-31 2009-01-15 Hewlett-Packard Development Co Lp データ処理システム及び方法
CN100517335C (zh) * 2007-10-25 2009-07-22 中国科学院计算技术研究所 一种分布式文件***的文件写入***和方法
CN101452409B (zh) * 2007-12-04 2010-10-13 无锡江南计算技术研究所 数据校验冗余方法及装置
US20090210647A1 (en) 2008-02-15 2009-08-20 Madhusudanan Kandasamy Method for dynamically resizing file systems
US8140807B2 (en) * 2008-02-15 2012-03-20 International Business Machines Corporation System and computer program product for dynamically resizing file systems
US20100057755A1 (en) * 2008-08-29 2010-03-04 Red Hat Corporation File system with flexible inode structures
CN102331973A (zh) * 2011-03-18 2012-01-25 北京神州数码思特奇信息技术股份有限公司 一种内存数据存储***和内存数据的***、删除方法
US9058338B2 (en) 2011-10-26 2015-06-16 International Business Machines Corporation Storing a small file with a reduced storage and memory footprint
CN105824879B (zh) * 2015-12-17 2019-06-28 深圳市华讯方舟软件技术有限公司 一种基于PostgreSQL块存储设备的迁移方法
CN105630879B (zh) * 2015-12-17 2019-03-26 深圳市华讯方舟软件技术有限公司 一种PostgreSQL块存储设备读写模块
CN105554117A (zh) * 2015-12-18 2016-05-04 山东海量信息技术研究院 一种利用网络文件***实现文件共享的方法
CN105653710A (zh) * 2015-12-31 2016-06-08 北京元心科技有限公司 一种文件***构建方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000020057A (ko) * 1998-09-17 2000-04-15 정선종 동적 파일 시스템 구성 방법
KR100369799B1 (ko) 2000-12-30 2003-01-30 삼성전자 주식회사 엠베드 시스템의 동적 메모리 관리방법 및 장치
KR100389241B1 (ko) 1998-04-21 2003-06-27 인텔 코오퍼레이션 비휘발성 메모리에서의 가변 크기 데이터의 효율적인관리를 위한 동적 할당
KR20030071245A (ko) * 2002-02-28 2003-09-03 한국전자통신연구원 대용량 파일 저장 시스템 및 이를 이용한 대용량 파일의동적 비트맵 관리 방법

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0296213A (ja) 1988-10-03 1990-04-09 Nec Corp 階層ビットマップによる二次記憶管理方法
JP3017892B2 (ja) * 1992-09-30 2000-03-13 株式会社東芝 ファイル管理装置
US5963962A (en) * 1995-05-31 1999-10-05 Network Appliance, Inc. Write anywhere file-system layout
JPH08115238A (ja) 1994-10-18 1996-05-07 Fuji Xerox Co Ltd ファイルシステム
JP2001075848A (ja) * 1999-09-09 2001-03-23 Nec Corp ファイルシステムのファイル管理方法
US6401181B1 (en) * 2000-02-29 2002-06-04 International Business Machines Corporation Dynamic allocation of physical memory space
KR100422801B1 (ko) 2001-06-04 2004-03-12 한국전자통신연구원 대용량 파일 저장 시스템 및 그를 이용한 동적 다단계아이노드의 데이터 블록 추가 및 삭제 방법
KR100389867B1 (ko) * 2001-06-04 2003-07-04 삼성전자주식회사 플래시 메모리 관리방법
JP2003296156A (ja) 2002-04-04 2003-10-17 Sony Corp 情報記録管理装置、データ記録再生装置、情報記録管理方法及びファイル管理方法
JP2004013276A (ja) 2002-06-04 2004-01-15 Victor Co Of Japan Ltd ファイルシステム及び記録媒体
US7047380B2 (en) * 2003-07-22 2006-05-16 Acronis Inc. System and method for using file system snapshots for online data backup

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100389241B1 (ko) 1998-04-21 2003-06-27 인텔 코오퍼레이션 비휘발성 메모리에서의 가변 크기 데이터의 효율적인관리를 위한 동적 할당
KR20000020057A (ko) * 1998-09-17 2000-04-15 정선종 동적 파일 시스템 구성 방법
KR100369799B1 (ko) 2000-12-30 2003-01-30 삼성전자 주식회사 엠베드 시스템의 동적 메모리 관리방법 및 장치
KR20030071245A (ko) * 2002-02-28 2003-09-03 한국전자통신연구원 대용량 파일 저장 시스템 및 이를 이용한 대용량 파일의동적 비트맵 관리 방법

Also Published As

Publication number Publication date
CN100440221C (zh) 2008-12-03
EP1713012A1 (en) 2006-10-18
JP2006294023A (ja) 2006-10-26
US20060235910A1 (en) 2006-10-19
US7681010B2 (en) 2010-03-16
EP1713012B1 (en) 2008-12-03
DE602006003930D1 (de) 2009-01-15
JP4304194B2 (ja) 2009-07-29
KR20060108884A (ko) 2006-10-18
CN1848118A (zh) 2006-10-18
EP1713012B8 (en) 2009-03-04

Similar Documents

Publication Publication Date Title
KR100703753B1 (ko) 파일 시스템 관리 장치 및 방법
US5590318A (en) Method and system for tracking files pending processing
WO1995014273A9 (en) Method and system for tracking changed files
US6675180B2 (en) Data updating apparatus that performs quick restoration processing
KR920001374A (ko) 효과적인 회복을 위한 상태 식별자의 관리방법 및 장치
CN107783988A (zh) 一种目录树的加锁方法及设备
CN106201771A (zh) 数据存储***和数据读写方法
CN110888837B (zh) 对象存储小文件归并方法及装置
CN105095016B (zh) 一种磁盘快照回滚方法及装置
WO2014179354A2 (en) Index for fast batch updates of large data tables
US7200625B2 (en) System and method to enhance availability of a relational database
CN114090637A (zh) 数据存取方法、装置、设备及存储介质
CN104216792A (zh) 数据备份的方法及内存数据库存储引擎
KR101252375B1 (ko) 저장 장치의 중복 제거 성능 향상을 위한 맵핑 관리 시스템 및 방법
CN114780043A (zh) 基于多层缓存的数据处理方法及装置、电子设备
CN108984343B (zh) 一种基于内容分析的虚拟机备份及存储管理方法
JP2010191903A (ja) 分散ファイルシステムのストライピング種別選択方法及びその分散ファイルシステム
CN114415955B (zh) 基于指纹的块粒度数据去重***和方法
JPH03116248A (ja) データベースのデータ保全方式
US20220121575A1 (en) Device and method for maintaining summary consistency in caches
JPH04252342A (ja) 情報処理システムにおけるデータ保存管理装置
JP2740451B2 (ja) カタログ管理ファイル最適化方式
CN115981570A (zh) 一种基于kv数据库的分布式对象存储方法和***
CN111831231A (zh) 分区合并、分区拆分的方法及装置
CN111625499A (zh) 一种快照回滚工具、方法及设备

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
FPAY Annual fee payment

Payment date: 20130228

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140228

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150302

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170228

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180228

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20190228

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20200228

Year of fee payment: 14