KR20100011137A - 고속 파일 복구가 가능한 fat 파일시스템을 사용한데이터 처리장치 및 데이터 처리방법 - Google Patents

고속 파일 복구가 가능한 fat 파일시스템을 사용한데이터 처리장치 및 데이터 처리방법 Download PDF

Info

Publication number
KR20100011137A
KR20100011137A KR1020080072210A KR20080072210A KR20100011137A KR 20100011137 A KR20100011137 A KR 20100011137A KR 1020080072210 A KR1020080072210 A KR 1020080072210A KR 20080072210 A KR20080072210 A KR 20080072210A KR 20100011137 A KR20100011137 A KR 20100011137A
Authority
KR
South Korea
Prior art keywords
file
fat
area
entry value
entry
Prior art date
Application number
KR1020080072210A
Other languages
English (en)
Other versions
KR100987320B1 (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 KR1020080072210A priority Critical patent/KR100987320B1/ko
Publication of KR20100011137A publication Critical patent/KR20100011137A/ko
Application granted granted Critical
Publication of KR100987320B1 publication Critical patent/KR100987320B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은, FAT 파일시스템을 사용하는 운용체제에서 동작하는 데이터 처리장치 및 데이터 처리방법에 관한 것이다. 상기 데이터 처리장치는, 저장부; 및 상기 저장부로부터 파일을 삭제하는 경우, 상기 저장부로부터 삭제되는 삭제파일에 대응하는 FAT 영역의 엔트리 값을 저장하는 복구영역을 상기 FAT 파일시스템에 포함하여, 상기 저장부의 데이터를 관리하는 제어부;를 구비하고, 상기 제어부는, 상기 삭제파일을 복구하는 경우, 상기 삭제파일에 대응하는 FAT 영역의 엔트리 값이 비어 있는 경우, 상기 복구영역으로부터 상기 삭제파일에 대응하는 엔트리 값을 상기 FAT 영역에 저장하는 것을 특징으로 한다. 이와 같이 본 발명에 의하면, 기존 FAT 파일시스템에 복구영역을 추가하여 삭제된 파일을 기존 방식보다 용이하고, 빠르게 복구하는 FAT 파일시스템을 사용한 데이터 처리장치를 제공할 수 있다.
FAT 파일시스템, 데이터 처리장치, FAT 영역, 데이터영역

Description

고속 파일 복구가 가능한 FAT 파일시스템을 사용한 데이터 처리장치 및 데이터 처리방법{Data processing apparatus and Data procssing method, using FAT file system capable of fast file recovery}
본 발명은 FAT 파일시스템을 사용하는 데이터 처리장치에 관한 것으로, 구체적으로는, 고속 파일 복구가 가능한 FAT 파일시스템을 사용한 데이터 처리장치 및 처리방법에 관한 것이다.
일반적으로, 파일시스템은 파일들을 효율적으로 관리할 수 있게 하기 위한 기술이다. 파일시스템은 저장 매체에 파일을 저장하기 위한 규칙과 그 파일을 읽고 쓰기 위한 방법을 제시한다.
우리가 저장 장치에 여러 파일을 저장하고 이를 쉽게 쓸 수 있는 것은 파일시스템이 존재하기 때문이다. 파일시스템은 FAT(File Allocation Table), NTFS(New Technology File System), UFS(Unix File System), Ext2(Second Extended File System), 플래시 파일시스템, CD-ROM 파일시스템 등이 있으며 이것들은 저장 장치를 사용하는 장비와 저장 목적에 맞게 선택되어 사용된다.
일반적으로 우리 실생활에서는 PC와 호환성을 가진 전자 제품들이 다양하며 이 제품들은 PC와의 파일 공유를 위해 PC에 사용되는 파일시스템을 선택하고 있다. 현재 PC의 대부분 운영체제는 Windows가 사용되고 있으며 이 운영체제는 다양한 파일시스템을 지원하고 있다. 그 중 대표적인 것이 NTFS와 FAT이다. 일반적으로 PC와 호환성을 이루는 제품들은 저장용량에 따라 대용량일 경우 NTFS로 사용되며 그렇지 않을 경우에는 거의 대부분 FAT 파일시스템으로 사용되고 있다.
FAT 파일시스템은 그 구조가 매우 간단하여 설계 및 구현이 쉽다는 장점을 가지고 있기 때문에 PC와 호환성을 이루는 거의 모든 전자 제품들에 FAT 파일시스템이 사용되고 있는 것이다.
도 1에 도시된 바와 같이, FAT 파일시스템의 구조는 부트레코드 영역, 예약 영역, FAT 영역, 데이터영역 및 사용하지 않는 영역으로 크게 나누어져 있으며 이 파일시스템의 저장 단위는 기본 512Byte 크기를 가진 섹터들의 집합인 클러스터로 이루어져 있어 파일 저장은 클러스터 간의 연결 리스트(linked list)형태로 구성된다.
FAT 파일시스템은 파일을 삭제 할 때, 저장 장치에 기록된 파일들의 데이터를 모두 삭제하는 것이 아니라 단순히 이름과 FAT 영역의 해당 파일의 엔트리 값을 수정한다. 따라서 삭제된 파일은 해당 파일의 클러스터에 다른 데이터가 기록되지 않았다면 복구가 가능하게 된다. 그리고, 파일이 연속적인 클러스터들로 데이터가 저장되어 있다면 삭제 후 어렵지 않게 복구가 가능하지만 그렇지 않을 경우에는 클러스터 간의 데이터 상관성을 따져야 하므로 알고리즘이 복잡해지고, 처리시간이 오래 걸린다.
전술한 문제점을 해결하기 위한 본 발명의 목적은, 삭제된 파일을 기존 방식보다 간단하고, 빠르게 복구하는 FAT 파일시스템을 사용하는 데이터 처리장치 및 데이터 처리방법을 제공하는 것이다.
전술한 과제를 해결하기 위한 본 발명의 제1 특징은, FAT 파일시스템을 사용하는 운용체제에서 동작하는 데이터 처리장치에 관한 것으로, 상기 데이터 처리장치는, 저장부; 및 상기 FAT 파일시스템은 상기 저장부로부터 파일을 삭제하는 경우, 상기 저장부로부터 삭제되는 삭제파일에 대응하는 FAT 영역의 엔트리 값을 저장하는 복구영역을 포함하고, 상기 FAT 파일시스템을 사용하여 상기 저장부의 데이터를 관리하는 제어부;를 구비하고, 상기 제어부는, 상기 삭제파일을 복구하는 경우, 상기 삭제파일에 대응하는 FAT 영역의 엔트리 값이 비어 있는 경우, 상기 복구영역으로부터 상기 삭제파일에 대응하는 엔트리 값을 상기 FAT 영역의 엔트리에 저장하는 것을 특징으로 한다.
전술한 데이터 처리장치는, 사용자입력부를 더 구비하고, 상기 제어부는, 상기 사용자입력부를 통해, 상기 삭제파일의 이름과 삭제 명령이 입력된 경우, 상기 이름에 대응하는 파일을 상기 FAT 파일시스템의 데이터영역으로부터 탐색하고, 상기 탐색된 탐색파일에 대응하는 FAT 영역의 엔트리 값을 상기 복구영역에 저장하며, 상기 탐색파일에 대응하는 상기 FAT 영역의 엔트리 값을 비어 있는 값으로 수 정하며, 상기 탐색파일에 대응하는 디렉토리 엔트리 항목의 일부를 삭제 상태로 수정한다.
그리고, 전술한 데이터 처리장치는, 사용자입력부를 더 구비하고, 상기 제어부는, 상기 사용자입력부를 통해, 상기 삭제파일의 이름과 복구명령이 입력된 경우, 상기 이름에 대응하는 파일을 상기 FAT 파일시스템의 데이터영역으로부터 탐색하고, 상기 탐색된 탐색파일의 삭제 전 FAT 영역의 엔트리 값을 상기 복구영역에서 추출하고, 상기 복구영역으로부터 추출된 추출엔트리 값에 대응하는 상기 FAT 영역의 엔트리 값이 비어 있는 경우, 상기 추출엔트리 값을 상기 FAT 영역에 저장하고, 상기 FAT 영역에 저장된 추출엔트리 값에 대응하는 디렉토리 엔트리 항목의 일부를 복구 상태로 수정한다.
여기서, 상기 제어부는, 상기 추출엔트리 값의 크기가, 추출엔트리 값에 대응하는 상기 FAT 영역의 엔트리 값의 크기와 동일하고, 상기 추출엔트리 값에 대응하는 상기 FAT 영역의 엔트리 값이 비어 있는 경우, 상기 추출엔트리 값을 상기 FAT 영역에 저장하고, 상기 FAT 영역에 저장된 추출엔트리 값에 대응하는 디렉토리 엔트리 항목의 일부를 복구 상태로 수정한다.
또한, 상기 제어부는, 상기 탐색파일의 삭제 전 FAT 영역의 엔트리 값의 오프셋 위치와 상기 추출엔트리 값의 오프셋 위치가 동일하다.
전술한 과제를 해결하기 위한 본 발명의 제2 특징은, 저장부로부터 파일을 삭제하는 경우, 상기 저장부로부터 삭제되는 삭제파일에 대응하는 FAT 영역의 엔트리 값을 저장하는 복구영역을 포함하는 FAT 파일시스템을 포함한 운용체제로 동작 하는 데이터 처리장치의 데이터 처리방법에 관한 것으로, 상기 데이터 처리방법은, 상기 삭제파일을 복구하는 경우, 상기 삭제파일에 대응하는 FAT 영역의 엔트리 값이 비어 있는지 판단하는 단계; 및 상기 FAT 영역의 엔트리 값이 비어 있는 경우, 상기 복구영역으로부터 상기 삭제파일에 대응하는 엔트리 값을 상기 FAT 영역의 엔트리로 저장하는 단계;를 구비하는 것을 특징으로 한다.
여기서, 사용자입력부를 통해, 상기 삭제파일의 이름과 삭제 명령이 입력된 경우, 상기 이름에 대응하는 파일을 상기 FAT 파일시스템의 데이터영역으로부터 탐색하는 단계; 및 상기 탐색된 탐색파일에 대응하는 상기 FAT 영역의 엔트리 값을 상기 복구영역에 저장하고, 상기 탐색파일에 대응하는 상기 FAT 영역의 엔트리 값을 비어 있는 값으로 수정하며, 상기 탐색파일에 대응하는 디렉토리 엔트리 항목의 일부를 삭제 상태로 수정하는 단계;를 구비한다.
또한, 사용자입력부를 통해, 상기 삭제파일의 이름과 복구명령이 입력된 경우, 상기 이름에 대응하는 파일을 상기 FAT 파일시스템의 데이터영역으로부터 탐색하는 단계; 상기 탐색된 탐색파일의 삭제 전 FAT 영역의 엔트리 값을 상기 복구영역으로부터 추출하는 단계; 및 상기 복구영역에서 추출된 추출엔트리 값에 대응하는 상기 FAT 영역의 엔트리 값이 비어 있는 경우, 상기 추출엔트리 값을 상기 FAT 영역에 저장하고, 상기 FAT 영역에 저장된 추출엔트리 값에 대응하는 디렉토리 엔트리 항목의 일부를 복구 상태로 수정하는 단계;를 구비한다.
이상 설명한 바와 같이, 본 발명에 따른 데이터 처리장치 및 데이터 처리방 법은, 기존의 FAT 파일시스템에 복구영역을 추가하여, 파일의 삭제시 삭제되는 삭제파일의 FAT 영역의 엔트리 값을 복구영역에 저장하여, 삭제파일 복구시 복구영역에 저장된 FAT 영역의 엔트리 값을 이용함으로써, 삭제파일의 FAT 영역의 엔트리 값이 불연속적으로 배치된 경우에도 용이하게 삭제파일의 복구가 가능하고, 삭제파일의 복구 시간도 현저히 단축시킬 수 있다.
이하, 첨부된 도면을 참조하여, 본 발명의 일 실시예에 따른 데이터 처리장치의 구성 및 동작을 설명한다.
도 2는 본 발명의 일 실시예에 따른 데이터 처리장치의 블록도이고, 도 3은 본 발명의 일 실시예에 따른 데이터 처리장치의 FAT 파일시스템(300)의 구조도이다.
본 발명의 일 실시예에 따른 데이터 처리장치(1)는, 데이터를 저장하는 저장부(10), 사용자로부터 입력을 받기 위한 사용자입력부(20), 저장부(10)의 데이터를 관리하는 제어부(30)를 구비한다.
본 실시예의 데이터 처리장치(1)는, FAT 파일시스템(300)을 사용하는 윈도우와 같은 운용체제 기반에서 동작하고, 저장부(10)와 연동하면서 데이터 프로세싱이 가능하다.
먼저, 저장부(10)에 대해 설명한다. 저장부(10)는, 대용량 하드디스크(Hard Disk), EEPROM, 플래시 메모리 등 프로그램이 가능한 디바이스로 마련된다. 특히, 플래시 메모리는 EEPROM와 동일하게 전기적으로 데이터의 소거가 가능한 비휘발성 저장부(10)이다. 플래시 메모리의 종류는 크게 NOR형과 NAND형의 두 가지로 나눌 수 있다. NOR형 플래시 메모리는 읽기 속도는 빠르면서 재기록 횟수가 적은 프로그램 코드를 저장하는 주로 사용된다. 그것은 읽기 속도는 빠르지만, 쓰기와 지우기 동작이 느리기 때문이다. NOR형 플래시 메모리는 저장 밀도가 낮아서 많은 데이터를 저장하려면 칩을 여러 개 사용해야 할 경우도 있다. NAND형 플래시 메모리는 저장용 디바이스에 많이 사용된다. NAND형은 NOR형에 비해 전력 소모가 낮고 가격도 훨씬 저렴하다.
다음, 제어부(30)에 대해 설명한다. 제어부(30)는 중앙처리장치(CPU)를 포함하고, 중앙처리장치와 전술한 저장부(10)와 연동하기 위한 인터페이스 및 레지스터를 포함한다.
제어부(30)는, FAT 파일시스템(300)을 사용하는 운용체제에 의해 동작된다. FAT 파일시스템(300)은, 운영체제가 저장부(10)의 데이터를 효과적으로 관리하기 위한 것이다.
도 2에 도시된 바와 같이, 본 실시예에 따른 제어부(30)에서 사용되는 FAT 파일시스템(300)은, 종래의 FAT 파일시스템(300)(도 1 참조)과 달리 전술한 저장부(10)로부터 임의의 파일 삭제시, 삭제되는 삭제파일에 대응하는 FAT 영역(330)의 엔트리 값을 저장하는 복구영역(350)을 포함하고 있다.
제어부(30)는, 저장부(10)로부터 삭제파일을 복구하는 경우, 삭제파일에 대응하는 FAT 영역(330)의 엔트리 값이 비어 있는 경우, 전술한 복구영역(350)으로부터 복구할 삭제파일에 대응하는 엔트리 값을 복구할 삭제파일에 대응하는 FAT 영 역(330)에 저장한다.
이하에서는, 도 3를 참조하여, 본 실시예에 따른 FAT 파일시스템(300)에 대해 상세히 설명한다.
FAT 파일시스템(300)은, 부트레코드(Boot Record)영역(310), 예약된 영역(320), 제1 FAT(File Allocation Table) 영역(331) 및 제2 FAT 영역(332), 루트 디렉토리(Root Directory)영역(340), 복구영역(350), 데이터영역(360) 그리고 사용하지 않는 영역(370)으로 이루어져 있다.
부트레코드 영역(310)은 BIOS Parameter Block(BPB)이라고도 불리는 이 영역은 해당 볼륨의 여러 가지 설정 값들을 저장하고 있으며, 해당 볼륨이 부팅에 사용될 수 있도록 부팅에 필요한 실행 코드를 포함하고 있다. 부트레코드 영역(310)은 FAT 파일시스템(300)을 구성하는 영역 중 맨 앞에 위치하는 영역으로서 볼륨(volume)마다 하나씩 존재한다.
예약된 영역(320)은 FAT 파일시스템(300)에서 가장 앞쪽에 위치하고 있는 영역이다. 예약된 영역(320)은 부트레코드 영역(310)을 포함하며, 주요 항목을 백업하는 기능을 수행한다. 윈도우 FAT32 파일시스템의 경우 예약된 영역(320) 2번째 섹터에 FSinfo(File System Information)구조체를 저장하고 있으며, 6번째 섹터에 부트레코드를 백업해 놓고 있다.
루트디렉토리영역(340)은 FAT16 파일시스템에 적용된다. 여기서는 구체적 설명은 생략한다.
FAT 영역(330)은 다른 영역들처럼 특별한 구조체가 존재하는 것이 아니라 단 순히 클러스터의 상태 값을 담고 있는 공간이 연속되는 단순한 형태를 띠고 있다. FAT 영역(330)은 각각의 파일이나 디렉토리가 데이터영역 내에 저장된 위치를 단일 연결 리스트로 표현하고 있다. 각각의 FAT 엔트리들은 자신의 다음 클러스터 번호를 담고 있게 된다. FAT 엔트리의 값, "OxFFFF","Ox0FFFFFFF"은 해당 파일의 마지막 클러스터라는 의미이다.
한 파티션에 FAT 영역이 1개 이상 존재할 수 있지만, FAT 정보는 1개뿐이다. FAT 정보는 운영체제가 하드디스크 내에 유지하는 일종의 파일 배치표로, 파일들이 저장되어 있는 클러스터들의 위치도이다.
여기서, FAT 파일시스템(300)은 제1 FAT 영역(331)과 제2 FAT 영역(332)으로 나누어져 있다. 제2 FAT 영역(332)은 제1 FAT 영역(331)의 백업본을 가지고 있으며, 제1 FAT 영역(331) 중 하나에 오류가 발생하여도 나머지 제2 FAT 영역(332)을 통해 파일시스템을 복구하도록 설계되어 있다.
여기서, FAT32는 4 바이트 단위로 나누어지며, FAT16은 2 바이트 단위로 나누어진다. 한 섹터를 512 바이트라고 본다면 FAT32는 한 섹터 당 128개의 FAT 엔트리(Entry)를 담을 수 있고 FAT16은 256개의 FAT 엔트리를 담을 수 있다.
복구영역(350)은 종래의 FAT 파일시스템(300)(도 1참조)에 추가된 영역이다. 이 영역은 전체 메모리용량의 1 %이내의 매우 작은 저장 공간을 가진 제1 FAT 영역(331)과 같은 크기의 메모리 공간을 차지하기 때문에 파일 저장공간에 거의 영향을 주지 않는다. 또한, 복구영역(350)은, 데이터영역(360) 내 자유롭게 위치할 수 있다.
복구영역(350)에는, 저장부로부터 파일을 삭제하는 경우, 이 삭제되는 삭제파일에 대응하는 FAT 영역(330)의 엔트리 값을 복구영역(350)에 저장한다. 이 때, FAT 영역(330)의 엔트리 값 및 복구영역(350)의 엔트리 값의 오프셋 위치는 동일하다.
이와 같이 복구영역(350)에 저장된 삭제파일의 삭제 전 FAT 영역(330)의 엔트리 값은, 삭제파일의 복구명령이 수행될 때, 복구영역(350)에 저장된 삭제파일의 삭제 전 FAT 영역(330)의 엔트리 값은 현재 FAT 영역(330)에 저장된다. 이에 대한 구체적 설명은 후술한다.
데이터영역(360)에는 파일과 디렉토리, 2가지 형태의 데이터가 저장된다. 파일은 클러스터 시작부터 끝까지 파일의 내용만이 저장되어 있다. 디렉토리는 디렉토리 엔트리라는 구조체들의 집합이다. 디렉토리에 포함되어 있는 내용은 디렉토리 엔트리라는 것만 빼고는 파일과 형태와 접근 방법이 동일하다.
디렉토리 엔트리에 저장되는 내용은 자신에게 속해 있는 파일들과 자신의 하위 디렉토리에 대한 정보이다. 디렉토리 엔트리는 파일과 디렉토리에 대한 정보 모두를 포함하고 있다.
이하에서는, 도 4 및 도 5를 참조하여, 본 발명의 일 실시예에 따른 데이터 처리장치(1)의 동작에 대해 설명한다.
도 4는 본 발명의 일 실시예에 따른 데이터 처리장치(1)의 파일 삭제 동작에 대한 제어 절차도이다.
먼저, 제어부(30)는 사용자입력부(20)를 통해 삭제파일의 이름과, 삭제 명령 이 입력되는 지를 판단한다(S410). S410 단계 판단결과, 삭제파일의 이름과 삭제 명령이 입력되지 않은 경우 제어부(30)는 S410 단계로 돌아간다.
다음, 제어부(30)는 삭제파일의 이름과 삭제 명령이 입력된 경우, 이 이름에 대응하는 파일을 FAT 파일시스템(300)의 데이터영역(360)으로부터 탐색한다(S420). 즉, 제어부(30)는 데이터영역(360)에 포함된 디렉토리 엔트리의 항목 중 이름 항목과 사용자입력부(20)를 통해 입력된 삭제파일의 이름을 비교하여 삭제파일을 탐색한다.
마지막으로, 제어부(30)는 S420 단계에서 탐색된 탐색파일에 대응하는 FAT 영역(330)의 엔트리 값을 복구영역(350)에 저장하며, 탐색파일에 대응하는 FAT 영역(330)의 엔트리 값을 비어 있는 영역으로 수정하며, 탐색파일에 대응하는 디렉토리 엔트리 항목 중 이름 항목의 일부를 삭제 상태로 수정한다(S430). 즉, 제어부(30 는 탐색된 파일에 대응하는 FAT 영역(330)의 엔트리 값을 "0"으로 수정하고, 디렉토리 엔트리 값 중 이름 항목의 NAME[0] 값을 OxE5로 수정한다.
도 5는 본 발명의 일 실시예에 따른 데이터 처리장치(1)의 파일 복구 동작에 대한 제어 절차도이다.
먼저, 제어부(30)는 사용자입력부(20)를 통해 삭제파일의 이름과, 복구 명령이 입력되는 지를 판단한다(S510). S510 단계 판단결과, 이름과 복구 명령이 입력되지 않은 경우 제어부(30)는 S510 단계로 돌아간다.
다음, 제어부(30)는 삭제파일의 이름에 대응하는 파일을 FAT 파일시스템(300)의 데이터영역으로부터 탐색한다(S520).
다음, S520 단계에서 탐색된 탐색파일에 대응하는 삭제 전 FAT 영역(330)의 엔트리 값을 복구영역(350)으로부터 추출한다(S530).
다음, 제어부(30) 복구영역(350)으로부터 추출된 추출엔트리 값의 크기를 클러스터 단위로 환산하고, 이 환산된 크기와 상기 추출엔트리 값에 대응하는 FAT 영역(330)의 엔트리 값의 크기가 동일한 지를 판단한다(S540). S540 단계 판단결과, 크기가 동일하지 않다고 판단한 경우, S510 단계로 돌아간다.
다음, 제어부(30)는 S540 단계 판단 결과, 크기가 동일하다고 판단한 경우, S530 단계에서 추출된 추출엔트리 값에 대응하는 FAT 영역(330)의 엔트리 값이 비어 있는지 판단한다(S550). S550 단계 판단결과, FAT 영역(330)의 엔트리 값이 비어 있지 않다고 판단한 경우, S510 단계로 돌아간다.
마지막으로, 제어부(30), S550 단계 판단 결과, FAT 영역(330)의 엔트리 값이 비어 있다고 판단한 경우, S530 단계에서 추출된 추출엔트리 값에 대응하는 FAT 영역(330)의 엔트리 값을 S550 단계에서 비어 있다고 판단한 FAT 영역(330)에 저장하고, 이 저장된 추출엔트리 값에 대응하는 데이터영역의 디렉토리 엔트리 항목의 이름 항목의 일부를 복구 상태로 수정한다(S560).
이에 의해, 본 발명의 일 실시예에 따른 데이터 처리장치(1)는 기존의 FAT 파일시스템에 복구영역을 추가함으로써, 빠르고 효과적으로 삭제파일의 복구가 가능하다.
전술한 일 실시예에 따른 데이터 처리장치(1)의 동작은, 주로 제어부(30)에 의해 수행되는 소프트웨어 모듈로서 이루어진다. 또한 이러한 소프트웨어 모듈은 판독 가능한 매체에 저장되거나, 통신매체를 통해서 전송될 수 있다.
본 발명은 도면에 도시된 일 실시예를 참고로 하여 설명하였으나 이는 예시적인 것에 불과하며 당해 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 형태가 가능하며, 이와 같은 변형은 본 발명의 기술적 보호범위 내에 있다고 보아야 한다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해서 정해져야 할 것이다.
본 발명에 따른 데이터 처리장치는 FAT 파일시스템을 사용하는 PC, 임베디드 시스템, 전자장비에 널리 이용될 수 있다.
도 1은 종래의 FAT 파일시스템의 구조도이다.
도 2는 본 발명의 일 실시예에 따른 데이터 처리장치의 블록도이다.
도 3은 본 발명의 일 실시예에 따른 데이터 처리장치의 FAT 파일시스템의 구조도이다.
도 4 및 도 5는 본 발명의 일 실시예에 따른 데이터 처리장치의 동작을 설명하기 위한 제어 절차도이다.
<도면의 주요부분에 대한 부호의 설명>
10 : 저장부 20 : 사용자입력부
30 : 제어부 300 : FAT 파일시스템
330 : FAT 영역 350 : 복구영역
360 : 데이터영역

Claims (8)

  1. FAT 파일시스템을 사용하는 운용체제에서 동작하는 데이터 처리장치에 있어서,
    저장부; 및
    상기 FAT 파일시스템은 상기 저장부로부터 파일을 삭제하는 경우, 상기 저장부로부터 삭제되는 삭제파일에 대응하는 FAT 영역의 엔트리 값을 저장하는 복구영역을 포함하고, 상기 FAT 파일시스템을 사용하여 상기 저장부의 데이터를 관리하는 제어부;를 구비하고,
    상기 제어부는,
    상기 삭제파일을 복구하는 경우, 상기 삭제파일에 대응하는 FAT 영역의 엔트리 값이 비어 있는 경우, 상기 복구영역으로부터 상기 삭제파일에 대응하는 엔트리 값을 상기 FAT 영역의 엔트리에 저장하는 것을 특징으로 하는 데이터 처리장치.
  2. 제1항에 있어서,
    상기 데이터 처리장치는, 사용자입력부를 더 구비하고,
    상기 제어부는,
    상기 사용자입력부를 통해, 상기 삭제파일의 이름과 삭제 명령이 입력된 경우, 상기 이름에 대응하는 파일을 상기 FAT 파일시스템의 데이터영역으로부터 탐색하고, 상기 탐색된 탐색파일에 대응하는 FAT 영역의 엔트리 값을 상기 복구영역에 저장하며, 상기 탐색파일에 대응하는 상기 FAT 영역의 엔트리 값을 비어 있는 값으로 수정하며, 상기 탐색파일에 대응하는 디렉토리 엔트리 항목의 일부를 삭제 상태로 수정하는 것을 특징으로 하는 데이터 처리장치.
  3. 제1항에 있어서,
    상기 데이터 처리장치는, 사용자입력부를 더 구비하고,
    상기 제어부는,
    상기 사용자입력부를 통해, 상기 삭제파일의 이름과 복구명령이 입력된 경우, 상기 이름에 대응하는 파일을 상기 FAT 파일시스템의 데이터영역으로부터 탐색하고, 상기 탐색된 탐색파일의 삭제 전 FAT 영역의 엔트리 값을 상기 복구영역에서 추출하고, 상기 복구영역으로부터 추출된 추출엔트리 값에 대응하는 상기 FAT 영역의 엔트리 값이 비어 있는 경우, 상기 추출엔트리 값을 상기 FAT 영역에 저장하고, 상기 FAT 영역에 저장된 추출엔트리 값에 대응하는 디렉토리 엔트리 항목의 일부를 복구 상태로 수정하는 것을 특징으로 하는 데이터 처리장치.
  4. 제3항에 있어서,
    상기 제어부는,
    상기 추출엔트리 값의 크기가, 추출엔트리 값에 대응하는 상기 FAT 영역의 엔트리 값의 크기와 동일하고, 상기 추출엔트리 값에 대응하는 상기 FAT 영역의 엔트리 값이 비어 있는 경우, 상기 추출엔트리 값을 상기 FAT 영역에 저장하고, 상기 FAT 영역에 저장된 추출엔트리 값에 대응하는 디렉토리 엔트리 항목의 일부를 복구 상태로 수정하는 것을 특징으로 하는 데이터 처리장치.
  5. 제3항에 있어서,
    상기 제어부는,
    상기 탐색파일의 삭제 전 FAT 영역의 엔트리 값의 오프셋 위치와 상기 추출엔트리 값의 오프셋 위치가 동일한 것을 특징으로 하는 데이터 처리장치.
  6. 저장부로부터 파일을 삭제하는 경우, 상기 저장부로부터 삭제되는 삭제파일에 대응하는 FAT 영역의 엔트리 값을 저장하는 복구영역을 포함하는 FAT 파일시스템을 포함한 운용체제로 동작하는 데이터 처리장치의 데이터 처리방법에 있어서,
    상기 삭제파일을 복구하는 경우, 상기 삭제파일에 대응하는 FAT 영역의 엔트리 값이 비어 있는지 판단하는 단계; 및
    상기 FAT 영역의 엔트리 값이 비어 있는 경우, 상기 복구영역으로부터 상기 삭제파일에 대응하는 엔트리 값을 상기 FAT 영역의 엔트리로 저장하는 단계;를
    구비하는 데이터 처리방법.
  7. 제6항 있어서,
    사용자입력부를 통해, 상기 삭제파일의 이름과 삭제 명령이 입력된 경우, 상기 이름에 대응하는 파일을 상기 FAT 파일시스템의 데이터영역으로부터 탐색하는 단계; 및
    상기 탐색된 탐색파일에 대응하는 상기 FAT 영역의 엔트리 값을 상기 복구영역에 저장하고, 상기 탐색파일에 대응하는 상기 FAT 영역의 엔트리 값을 비어 있는 값으로 수정하며, 상기 탐색파일에 대응하는 디렉토리 엔트리 항목의 일부를 삭제 상태로 수정하는 단계;를
    구비하는 것을 특징으로 하는 데이터 처리방법.
  8. 제6항에 있어서,
    사용자입력부를 통해, 상기 삭제파일의 이름과 복구명령이 입력된 경우, 상기 이름에 대응하는 파일을 상기 FAT 파일시스템의 데이터영역으로부터 탐색하는 단계;
    상기 탐색된 탐색파일의 삭제 전 FAT 영역의 엔트리 값을 상기 복구영역으로부터 추출하는 단계; 및
    상기 복구영역에서 추출된 추출엔트리 값에 대응하는 상기 FAT 영역의 엔트리 값이 비어 있는 경우, 상기 추출엔트리 값을 상기 FAT 영역에 저장하고, 상기 FAT 영역에 저장된 추출엔트리 값에 대응하는 디렉토리 엔트리 항목의 일부를 복구 상태로 수정하는 단계;를
    구비하는 것을 특징으로 하는 데이터 처리방법.
KR1020080072210A 2008-07-24 2008-07-24 고속 파일 복구가 가능한 fat 파일시스템을 사용한데이터 처리장치 및 데이터 처리방법 KR100987320B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080072210A KR100987320B1 (ko) 2008-07-24 2008-07-24 고속 파일 복구가 가능한 fat 파일시스템을 사용한데이터 처리장치 및 데이터 처리방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080072210A KR100987320B1 (ko) 2008-07-24 2008-07-24 고속 파일 복구가 가능한 fat 파일시스템을 사용한데이터 처리장치 및 데이터 처리방법

Publications (2)

Publication Number Publication Date
KR20100011137A true KR20100011137A (ko) 2010-02-03
KR100987320B1 KR100987320B1 (ko) 2010-10-12

Family

ID=42085646

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080072210A KR100987320B1 (ko) 2008-07-24 2008-07-24 고속 파일 복구가 가능한 fat 파일시스템을 사용한데이터 처리장치 및 데이터 처리방법

Country Status (1)

Country Link
KR (1) KR100987320B1 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101378490B1 (ko) * 2012-07-11 2014-03-27 주식회사 오마이데이터 영상 데이터 복구 장치 및 방법
CN105183586A (zh) * 2015-08-31 2015-12-23 小米科技有限责任公司 Ext文件系统的误删除文件恢复方法和装置、智能设备
CN109582504A (zh) * 2018-12-05 2019-04-05 深圳软牛科技有限公司 一种用于苹果设备的数据恢复方法和装置
KR102400723B1 (ko) * 2022-03-22 2022-05-23 대한민국 Fat32를 기반으로 하는 삭제 파일의 메타데이터 복구 장치 및 그 방법
KR20230139662A (ko) * 2022-03-28 2023-10-05 부산가톨릭대학교 산학협력단 Bootice에 의해 생성된 은닉 영역과 은닉 파일의 탐지 및 추출 장치 및 그 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100484147B1 (ko) * 2002-07-26 2005-04-18 삼성전자주식회사 플래시 메모리 관리 방법
KR100714691B1 (ko) * 2005-05-04 2007-05-04 삼성전자주식회사 파일 시스템에 추가 정보를 저장하고 관리하는 장치 및방법
KR100775141B1 (ko) * 2005-12-28 2007-11-12 엘지전자 주식회사 저널링이 적용된 fat 파일 시스템의 구현 방법
JP4908849B2 (ja) * 2006-01-11 2012-04-04 富士通セミコンダクター株式会社 ファイル削除方法、ファイル・オープン方法、ファイル削除プログラム、および、ファイル・オープン・プログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101378490B1 (ko) * 2012-07-11 2014-03-27 주식회사 오마이데이터 영상 데이터 복구 장치 및 방법
CN105183586A (zh) * 2015-08-31 2015-12-23 小米科技有限责任公司 Ext文件系统的误删除文件恢复方法和装置、智能设备
CN109582504A (zh) * 2018-12-05 2019-04-05 深圳软牛科技有限公司 一种用于苹果设备的数据恢复方法和装置
KR102400723B1 (ko) * 2022-03-22 2022-05-23 대한민국 Fat32를 기반으로 하는 삭제 파일의 메타데이터 복구 장치 및 그 방법
KR20230139662A (ko) * 2022-03-28 2023-10-05 부산가톨릭대학교 산학협력단 Bootice에 의해 생성된 은닉 영역과 은닉 파일의 탐지 및 추출 장치 및 그 방법

Also Published As

Publication number Publication date
KR100987320B1 (ko) 2010-10-12

Similar Documents

Publication Publication Date Title
KR101404083B1 (ko) 반도체 디스크 및 그것의 동작 방법
US7363540B2 (en) Transaction-safe FAT file system improvements
US7039786B2 (en) Memory device and recording and/or reproducing apparatus employing this memory device
US20110179219A1 (en) Hybrid storage device
US20120084272A1 (en) File system support for inert files
US6272611B1 (en) Computer data storage medium having a virtual disk drive and memory management method therefor
US9104685B2 (en) Method, device and storage medium for cleaning up file systems
CN107656875A (zh) 作为系统盘的固态硬盘缩短上电时间的方法及系统
JP2005166042A (ja) Ext2ファイルシステムのデータ復旧方法及びそのプログラムを記録した記録媒体
US11169968B2 (en) Region-integrated data deduplication implementing a multi-lifetime duplicate finder
KR100987320B1 (ko) 고속 파일 복구가 가능한 fat 파일시스템을 사용한데이터 처리장치 및 데이터 처리방법
CN103617097A (zh) 文件恢复方法及装置
Park et al. Atomic write FTL for robust flash file system
CN102955787A (zh) 一种文件目录表的使用方法、文件写入方法及应用的主电路板、cpu和外部存储器
EP1103894A2 (en) Fragmented data recovery method
KR20100121389A (ko) 플래시 메모리를 기반으로 하는 저장 장치 및 그것을 포함한 사용자 장치
Zhang et al. The research of data recovery on Windows file systems
KR101413985B1 (ko) 비휘발성 메모리에 적합한 파일시스템을 이용한 파일 관리 방법
CN105630692A (zh) 一种利用mram存储文件目录的文件存储系统
EP3964962A1 (en) Device and method for managing recovery information of auxiliary storage device
KR100756135B1 (ko) 메모리 데이터베이스를 이용한 플래시 파일 시스템 처리 방법
US10740015B2 (en) Optimized management of file system metadata within solid state storage devices (SSDs)
Munegowda et al. Adapting Endurance and Performance Optimization Strategies of ExFAT file system to FAT file system for embedded storage devices
KR20070069295A (ko) 저널링이 적용된 fat 파일 시스템의 구현 방법
CN111831224A (zh) 一种擦除exFAT分区文件剩余空间的方法,系统及设备

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: 20130821

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140822

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150908

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee