KR100527275B1 - 시스템 변경 데이터를 시스템 영역 내에서 선점적으로관리하는 컴퓨터 하드디스크 시스템 데이터 보호 장치 및그 방법 - Google Patents

시스템 변경 데이터를 시스템 영역 내에서 선점적으로관리하는 컴퓨터 하드디스크 시스템 데이터 보호 장치 및그 방법 Download PDF

Info

Publication number
KR100527275B1
KR100527275B1 KR1020040040870A KR20040040870A KR100527275B1 KR 100527275 B1 KR100527275 B1 KR 100527275B1 KR 1020040040870 A KR1020040040870 A KR 1020040040870A KR 20040040870 A KR20040040870 A KR 20040040870A KR 100527275 B1 KR100527275 B1 KR 100527275B1
Authority
KR
South Korea
Prior art keywords
area
cluster
location
system area
data
Prior art date
Application number
KR1020040040870A
Other languages
English (en)
Inventor
이창주
전영욱
오성욱
Original Assignee
주식회사 르노소프트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 르노소프트 filed Critical 주식회사 르노소프트
Priority to KR1020040040870A priority Critical patent/KR100527275B1/ko
Priority to PCT/KR2005/001669 priority patent/WO2005119459A1/en
Application granted granted Critical
Publication of KR100527275B1 publication Critical patent/KR100527275B1/ko

Links

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/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • 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/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/80Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in storage media based on magnetic or optical technology, e.g. disks with sectors
    • G06F21/805Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in storage media based on magnetic or optical technology, e.g. disks with sectors using a security table for the storage sub-system

Abstract

본 발명은 컴퓨터의 사용 중 컴퓨터 하드디스크에 저장된 시스템 데이터가 고의 또는 실수에 의한 조작으로 손상되는 경우 이를 보호/복구하도록 하는 컴퓨터 하드디스크 시스템 데이터 보호 장치 및 그 방법에 관한 것으로, 본 발명에 의한 시스템 변경 데이터를 시스템 영역 내에서 선점적으로 관리하는 컴퓨터 하드디스크 시스템 데이터 보호 장치는 컴퓨터 시스템의 하드디스크 영역에 시스템 영역과 메타 버퍼 영역을 분할하여 설정하고, 메타 버퍼 영역 내에 메타정보 테이블, 시스템영역정보 테이블 및 매핑 테이블을 위한 영역을 예약하는 설치부; 볼륨 비트맵 또는 FAT 테이블의 정보로부터 시스템 영역 내의 각 클러스터의 "원본", "보호" 및 "비보호"를 표시하는 시스템영역정보 테이블과 시스템 영역 내에서 파일 시스템이 인식하는 클러스터 위치와 실제 저장된 클러스터 위치 사이의 매핑 관계를 저장하는 매핑 테이블을 초기화하는 초기화/복구부; 시스템 영역 내의 클러스터에 대한 쓰기 동작에 대하여, 파일 시스템이 지정한 위치가 시스템영역정보테이블에서 "원본" 또는 "보호"로 표시된 경우 매핑 테이블에 의해 지정된 위치가 파일 시스템에 의해 지정된 위치와 다른 위치를 나타내면 그 다른 위치에 클러스터에 대한 쓰기 동작을 수행하고, 같은 위치이거나 "NULL"을 나타내면 시스템 영역 내에 새로운 저장 공간을 할당받아 클러스터에 대한 쓰기 동작을 수행한 후 매핑 테이블에 새로운 위치에 대한 포인터를 저장하고, "비보호"로 표시된 경우 파일 시스템이 지정한 시스템 영역 내의 위치에 클러스터에 대한 쓰기 동작을 수행하는 쓰기동작처리부; 시스템 영역 내의 클러스터에 대한 읽기 동작에 대하여, 매핑 테이블에 의해 지정되는 데이터 저장 영역에서 클러스터에 대한 읽기 동작을 수행하되, 매핑 테이블에 의해 지정된 값이 "NULL"인 경우 파일 시스템이 지정한 시스템 영역 내의 위치에서 클러스터에 대한 읽기 동작을 수행하는 읽기동작처리부; 매핑 테이블의 각 항목을 차례로 읽어, 매핑 테이블에 의해 지정된 위치가 파일 시스템에 의해 지정된 위치와 다른 위치를 나타내는 항목에 대하여 매핑 체인을 형성하고, 각 매핑 체인에서 클러스터 순서대로 포인터에 의해 지정된 데이터를 원위치에 반영하여 저장한 후, 초기화/복구부에 의한 초기화를 수행하는 현재상태백업부; 및 설치부에 의해 설정된 메타 버퍼 영역을 시스템 영역에 통합하여 메타 버퍼 영역을 제거하는 제거부;를 포함하여 구성된다.

Description

시스템 변경 데이터를 시스템 영역 내에서 선점적으로 관리하는 컴퓨터 하드디스크 시스템 데이터 보호 장치 및 그 방법{Apparatus and method for protecting system data on computer hard-disk in which system correction data is managed preemptively}
본 발명은 컴퓨터 하드디스크에 저장된 시스템 데이터를 보호하는 장치 및 그 방법에 관한 것으로, 더욱 상세하게는 컴퓨터의 사용 중 컴퓨터 하드디스크에 저장된 시스템 데이터가 고의 또는 실수에 의한 조작으로 손상되는 경우 이를 보호/복구하도록 하는 컴퓨터 하드디스크 시스템 데이터 보호 장치 및 그 방법에 관한 것이다.
일반적으로, 컴퓨터 시스템에서는 그 컴퓨터의 하드웨어를 구동시키기 위한 다양한 종류의 프로그램(소프트웨어)이 설치되어, 하드웨어와 소프트웨어가 유기적으로 결합하여 작동함으로써 사용자가 원하는 작업을 수행할 수 있게 된다.
한편, 사용자들이 컴퓨터를 사용하다 보면, 각종 바이러스 프로그램의 공격, 사용자의 부주의나 실수 또는 악의적인 사용자의 행위로 인해 하드디스크에 저장된 시스템 데이터가 치명적인 손상을 입는 일이 종종 발생한다. 이 외에도 예기치 못한 사태나 특정 프로그램의 설치 혹은 삭제로 인해 컴퓨터 시스템이 정상적인 동작을 하지 못하게 되는 경우가 있다.
컴퓨터 시스템에 발생되는 이와 같은 문제에 대응하여 컴퓨터 하드디스크에 저장된 시스템 데이터를 보호하기 위해 종래에는 다음과 같은 기술들이 사용되었다.
첫째, 바이러스 프로그램으로부터 컴퓨터 시스템을 보호하거나 치료하기 위해서는 대응하는 백신 프로그램을 사용하였다. 그러나, 이 방법은 이미 알려진 바이러스 프로그램으로부터 컴퓨터 시스템을 보호하기 위해서는 유용하지만, 새로이 만들어진 바이러스 프로그램에 대해서는 아무런 도움이 되지 않는다. 또한, 이미 알려진 바이러스 프로그램이라 하더라도 이미 손상되어 버린 시스템 데이터는 원상태로 복구되지 못하고 삭제할 수밖에 없는 경우도 많다. 이와 같은 시스템 데이터의 삭제는 운영체제에 치명적인 손상을 주어 운영체제의 정상적인 동작이 불가능한 상태로 만들 수도 있다.
둘째, 컴퓨터 시스템에 필요한 프로그램을 설치한 후, 하드디스크의 이미지를 다른 기록매체(예를 들어, 씨디롬)에 저장하였다가, 컴퓨터 시스템에 문제가 발생하면 기록매체에 저장된 이미지를 하드디스크로 복사함으로써 손상된 데이터를 복구하는 방법이 사용될 수 있다. 이 방법에 의하면, 사용자는 하드디스크에 새로운 프로그램을 설치/삭제하거나 중요한 데이터를 기록한 후에는 그 때마다 하드디스크의 이미지를 백업 받아야 한다. 그런데, 하드디스크의 이미지를 기록매체에 백업 받고 백업된 하드디스크 이미지를 이용하여 컴퓨터 시스템을 복구하는 작업은 별도의 기록매체를 필요할 뿐만 아니라, 매우 번거롭고 많은 작업시간을 요구한다.
셋째, 대한민국 특허 376435호의 발명은 하드디스크 상의 시스템 데이터 원본은 그대로 유지한 상태에서 변경된 내용에 대해서만 별도의 시스템 변경 영역에 저장하여, 바이러스 프로그램 또는 사용자의 부주의로 인해 시스템 보호 영역에 잘못된 변경이 이루어진 경우에는 시스템 변경 영역에 저장된 내용만을 삭제함으로써 컴퓨터 시스템을 복구하는 방법을 제안하고 있다.
그런데, 이 방법에 의하면 하드디스크 분할부에 의해 설정된 시스템 보호 영역의 모든 데이터(사용된 영역과 빈 공간 모두)를 보호하기 때문에 시스템 데이터를 보호하기 위해 많은 버퍼 영역(시스템 변경 영역)을 필요로 한다. 즉, 버퍼 영역의 크기가 시스템 보호 영역 크기와 같아야 복구 동작 없이 시스템 보호 영역에 저장된 시스템 데이터를 보호할 수 있다. 예를 들어, 120 기가바이트의 시스템 보호 영역을 보호하기 위해서는 시스템 보호 영역에 반영되는 모든 시스템 데이터를 위한 120 기가바이트와 기타 정보들을 저장할 공간을 필요로 한다.
한편, 이 특허 발명은 시스템 보호 영역에 포함된 빈 공간도 보호함으로써 하드디스크 보호 프로그램을 설치 후 시스템 데이터에 대한 액세스에 부하를 주어 컴퓨터의 속도를 현저히 느리게 하고, 시스템 보호 영역의 빈 공간을 전혀 사용하지 못한다는 큰 문제점을 안고 있다. 또한, 복구 원본을 변경하기 위해서는 반드시 시스템 복구 과정을 거친 후 관리자 모드로 부팅하여 프로그램을 재설치하여야 하기 때문에, 복구 원본을 변경하기 불편할 뿐만 아니라 새로운 복구 원본을 만들기 위해 많은 시간을 소비하게 된다. 이 문제 이외에도 복구 원본을 변경하기 위해 관리자 모드로 부팅한 상태에서 바이러스의 공격을 받거나 사용자의 실수로 프로그램을 잘못 설치하였을 때에는 시스템을 정상으로 돌릴 수 없는 문제점을 안고 있다.
본 발명은 대한민국 특허 376435호의 발명이 갖는 상기의 문제점을 해결하기 위하여 창안된 것으로서, 시스템 영역 정보 테이블을 두어 시스템 보호 영역의 데이터 중 보호 대상을 클러스터 단위로 설정할 수 있도록 하고, 매핑 테이블을 두어 시스템 영역에 저장된 원본 시스템 데이터와 시스템 변경 데이터와의 대응관계를 구축하고, 시스템 변경 데이터를 시스템 영역 내에서 선점적으로 관리하여 전체 디스크 영역을 보다 효율적으로 사용할 수 있도록 하고, 궁극적으로는 컴퓨터 시스템의 사용 중 시스템 데이터의 손상이 발생한 경우 보호가 필요한 시스템 데이터에 대하여 신속하게 복원할 수 있도록 하는 컴퓨터 하드디스크 시스템 데이터 보호 장치 및 그 방법을 제공함을 제1 및 제2의 목적으로 한다.
또한, 컴퓨터가 상기 방법을 기능시키도록 하는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공함을 제3의 목적으로 한다.
상기의 목적들을 달성하기 위하여, 본 발명에 의한 시스템 변경 데이터를 시스템 영역 내에서 선점적으로 관리하는 컴퓨터 하드디스크 시스템 데이터 보호 장치는 컴퓨터 시스템의 하드디스크 영역에 시스템 영역과 메타 버퍼 영역을 분할하여 설정하고, 메타 버퍼 영역 내에 메타정보 테이블, 시스템영역정보 테이블 및 매핑 테이블을 위한 영역을 예약하는 설치부; 볼륨 비트맵 또는 FAT 테이블의 정보로부터 시스템 영역 내의 각 클러스터의 "원본", "보호" 및 "비보호"를 표시하는 시스템영역정보 테이블과 시스템 영역 내에서 파일 시스템이 인식하는 클러스터 위치와 실제 저장된 클러스터 위치 사이의 매핑 관계를 저장하는 매핑 테이블을 초기화하는 초기화/복구부; 시스템 영역 내의 클러스터에 대한 쓰기 동작에 대하여, 파일 시스템이 지정한 위치가 시스템영역정보테이블에서 "원본" 또는 "보호"로 표시된 경우 매핑 테이블에 의해 지정된 위치가 파일 시스템에 의해 지정된 위치와 다른 위치를 나타내면 그 다른 위치에 상기 클러스터에 대한 쓰기 동작을 수행하고, 같은 위치이거나 "NULL"을 나타내면 시스템 영역 내에 새로운 저장 공간을 할당받아 상기 클러스터에 대한 쓰기 동작을 수행한 후 매핑 테이블에 새로운 위치에 대한 포인터를 저장하고, "비보호"로 표시된 경우 파일 시스템이 지정한 시스템 영역 내의 위치에 상기 클러스터에 대한 쓰기 동작을 수행하는 쓰기동작처리부; 시스템 영역 내의 클러스터에 대한 읽기 동작에 대하여, 매핑 테이블에 의해 지정되는 데이터 저장 영역에서 상기 클러스터에 대한 읽기 동작을 수행하되, 매핑 테이블에 의해 지정된 값이 "NULL"인 경우 파일 시스템이 지정한 시스템 영역 내의 위치에서 상기 클러스터에 대한 읽기 동작을 수행하는 읽기동작처리부; 매핑 테이블의 각 항목을 차례로 읽어, 매핑 테이블에 의해 지정된 위치가 파일 시스템에 의해 지정된 위치와 다른 위치를 나타내는 항목에 대하여 매핑 체인을 형성하고, 각 매핑 체인에서 클러스터 순서대로 포인터에 의해 지정된 데이터를 원위치에 반영하여 저장한 후, 상기 초기화/복구부에 의한 초기화를 수행하는 현재상태백업부; 및 상기 설치부에 의해 설정된 메타 버퍼 영역을 시스템 영역에 통합하여 메타 버퍼 영역을 제거하는 제거부;를 포함하여 구성된다.
상기의 다른 목적을 달성하기 위하여, 본 발명에 의한 시스템 변경 데이터를 시스템 영역 내에서 선점적으로 관리하는 컴퓨터 하드디스크 시스템 데이터 보호방법은 (a) 컴퓨터 시스템의 하드디스크 영역에 시스템 영역과 메타 버퍼 영역을 분할하여 설정하고, 메타 버퍼 영역 내에 메타정보 테이블, 시스템영역정보 테이블 및 매핑 테이블을 위한 영역을 예약하는 설치 단계; (b) 볼륨 비트맵 또는 FAT 테이블의 정보로부터 시스템 영역 내의 각 클러스터의 "원본", "보호" 및 "비보호"를 표시하는 시스템영역정보 테이블과 시스템 영역 내에서 파일 시스템이 인식하는 클러스터 위치와 실제 저장된 클러스터 위치 사이의 매핑 관계를 저장하는 매핑 테이블을 초기화하는 초기화 단계; (c) 시스템 영역 내의 클러스터에 대한 쓰기 동작에 대하여, 파일 시스템이 지정한 위치가 시스템영역정보테이블에서 "원본"으로 표시된 경우 매핑 테이블에 의해 지정되는 시스템 영역에 상기 클러스터에 대한 쓰기 동작을 수행하되 매핑 테이블에 의해 지정된 값이 초기화 상태인 경우 시스템 영역 내의 빈 영역을 확보하여 상기 클러스터에 대한 쓰기 동작을 수행하고, "보호"로 표시된 경우 시스템 영역 내의 빈 영역을 확보하여 쓰기 요청된 위치의 클러스터를 읽어 확보된 빈 영역에 저장한 후 쓰기 요청된 위치에 상기 클러스터에 대한 쓰기 동작을 수행하고, 그 이외의 경우 파일 시스템이 지정한 시스템 영역 내의 위치에 상기 클러스터에 대한 쓰기 동작을 수행하는 쓰기동작처리 단계; (d) 시스템 영역 내의 클러스터에 대한 읽기 동작에 대하여, 매핑 테이블에 의해 지정되는 데이터 저장 영역에서 상기 클러스터에 대한 읽기 동작을 수행하되, 매핑 테이블에 의해 지정된 값이 초기화 상태인 경우 파일 시스템이 지정한 시스템 영역 내의 위치에서 상기 클러스터에 대한 읽기 동작을 수행하는 읽기동작처리 단계; (e) 볼륨 비트맵 또는 FAT 테이블의 정보로부터 시스템 영역 내의 각 클러스터의 "원본", "보호" 및 "비보호"를 표시하는 시스템영역정보테이블을 생성하고, 시스템 영역 내에서 파일 시스템이 인식하는 클러스터 위치와 실제 저장된 클러스터 위치 사이의 매핑 관계를 저장하는 매핑 테이블을 초기화하는 복구 단계; 및 (f) 상기 설치 단계에서 설정된 메타 버퍼 영역을 시스템 영역에 통합하여 메타 버퍼 영역을 제거하는 제거 단계;를 포함하여 구성된다.
상기의 또 다른 목적을 달성하기 위하여, 본 발명에 의한 컴퓨터로 읽을 수 있는 기록매체는 시스템 변경 데이터를 시스템 영역 내에서 선점적으로 관리하는 컴퓨터 하드디스크 시스템 데이터 보호방법을 컴퓨터에 기능시키는 프로그램을 기록하는 것을 특징으로 한다.
이하에서, 본 발명에 따른 시스템 변경 데이터를 시스템 영역 내에서 선점적으로 관리하는 컴퓨터 하드디스크 시스템 데이터 보호 장치에 대한 바람직한 실시예를 첨부된 도면에 의거하여 상세하게 설명하기로 한다.
도 1에 의하면, 본 발명에 의한 컴퓨터 하드디스크 시스템 데이터 보호 장치(이하에서 "하드디스크 보호 장치(1)"라고 한다)는 초기화/복구부(10), 쓰기동작처리부(20), 읽기동작처리부(30), 현재상태백업부(40), 설치부(50) 및 제거부(60)를 포함하여 구성된다. 여기서, 하드디스크 보호 장치(1)를 구성하는 각 구성요소는 하드디스크(5)를 구비한 컴퓨터 시스템(도시하지 아니함)의 하드웨어 및 소프트웨어의 결합체로 구현된다. 그런데, 본 발명이 구현된 컴퓨터 시스템은 통상적인 의미의 컴퓨터 시스템으로, 그 하드웨어 구성은 본 발명의 범위를 벗어나므로 이에 대한 구체적인 설명을 생략하기로 한다.
설치부(50)는 사용자로부터 메타 버퍼 영역(7)의 크기를 포함한 메타 정보(이에 대해서는 후술하기로 한다)를 입력받고(여기서, 메타 버퍼 영역의 크기는 시스템적으로 미리 정한 방식으로 결정할 수 있음은 물론이다), 쓰기동작처리부(20), 읽기동작처리부(30) 및 현재상태 백업부(40)를 구성하는 소프트웨어 및 디바이스 드라이버를 하드디스크(5)에 설치한다. 이후, 설치부(50)는 시스템 영역(6) 내에서 별도의 메타 버퍼 영역(7)을 예약하고, 예약된 메타 버퍼 영역(7)에서 사용 중인 클러스터들을 메타 버퍼 영역(7) 밖의 시스템 영역으로 이동시킨다. 그 다음, 설치부(50)는 도 2에 도시된 바와 같이 메타 버퍼 영역(7)에 메타정보 테이블(71), 시스템영역 정보 테이블(72) 및 매핑 테이블(73)을 위한 영역을 예약하여 둔다. 설치부(50)는 최종적으로 초기화/복구부(10)를 호출하여 초기화를 수행한다.
시스템영역정보 테이블(72)은 도 3에 도시된 바와 같이, 시스템 영역(6)의 각 클러스터를 식별하는 시스템 영역 인덱스별로 시스템 데이터의 보호 상태("원본", "보호" 및 "비보호") 를 표시하기 위한 테이블이다. 여기서, "원본"으로 표시된 클러스터들은 이하에서 설명하는 초기화 과정에서 시스템 영역(6)에서 이미 사용되고 있는 클러스터들로서, 초기화 과정 이후 이들 클러스터들에 대한 변경 데이터는 해당 클러스터에 직접 반영하지 않고 시스템 영역(6) 내의 빈 공간(즉, 시스템영역정보 테이블(72)의 보호 상태가 "비보호"로 표시된 공간)을 할당받아 별도로 저장하게 된다. 이렇게 변경 데이터가 저장되는 부분은 파일 시스템에서는 사용되지 않은 공간으로 인식되고 있는 부분이므로, 파일 시스템이 다른 데이터를 저장하는 것으로부터 보호하기 위하여 시스템영역정보 테이블(72)의 보호 상태를 "보호"로 표시한다.
매핑 테이블(73)은 도 3에 도시된 바와 같이, 시스템 영역(6)의 시스템 영역 인덱스별로 변경된 데이터가 저장된 시스템 영역(6) 내에서의 위치를 나타내는 매핑 정보(또는 매핑 인덱스)를 저장하기 위한 테이블이다. 도 3은 시스템 영역 인덱스 1과 2의 클러스터에 대하여 각각 3과 5의 클러스터가 매핑되어 있음을 예시적으로 도시한다. 한편, 이미 변경된 데이터가 저장된 클러스터 5에 파일시스템이 새로운 데이터를 저장하고자 하는 경우, 클러스터 5는 이미 선점되어 있으므로 시스템 영역(6) 내의 빈 공간(즉, 클러스터 7)을 할당받아 새로운 데이터를 저장하게 된다. 따라서, 시스템 영역 인덱스 5는 클러스터 7에 매핑된다. 결국, 클러스터 1-3, 2-5-7은 각각 매핑 체인을 형성하게 된다.
매핑 테이블(73)의 매핑 인덱스에는 초기화 과정에서 시스템영역정보 테이블(72)의 "원본"에 대응하는 부분은 시스템 영역 인덱스와 동일한 값이, 그렇지 않은 부분은 NULL 값이 할당된다. 도 4는 초기화된 시스템영역정보 테이블(72)과 매핑 테이블(73)을 예시적으로 도시한 것이다.
메타정보 테이블(71)은 본원 발명에 의한 하드디스크 보호 장치(1)를 구현하는 소프트웨어(이하에서 "하드디스크 보호 프로그램"이라 한다)가 사용하기 위한 각종 정보를 테이블화한 것이다. 이와 같은 메타 정보에는 운영체제를 구성하는 파일 시스템이 파일을 구성하는 클러스터들의 시스템 영역(6)에서의 저장 위치를 나타내는 FAT 테이블(FAT32 파일 시스템의 경우) 또는 볼륨 비트맵(Volume Bitmap, NTFS 파일 시스템의 경우)이 포함된다. 또한, 메타 정보에는 하드디스크 보호 프로그램이 동작하기 위하여 필요로 하는 각종 환경변수들, 예를 들어 메타 버퍼 영역(7)의 사용량, 메타 버퍼 영역(7)의 시작점, 클러스터 크기, 자동 복구 주기, 패스워드 등이 포함될 수 있다.
초기화/복구부(10)는 시스템 데이터를 시스템 영역(6)에 저장한 후 하드디스크 보호 장치(1)가 시스템 데이터를 보호하기 위한 환경을 만들기 위하여 수행되거나, 하드디스크(5)에 저장된 시스템 데이터에 손실이 있어 미리 설정된 원상태로 복구하기 위하여 사용되는 모듈이다. 이를 위해 초기화/복구부(10)는 도 2에 도시된 바와 같이 시스템 영역(6)의 일부 영역에 메타 버퍼 영역(7)을 설정하고, 메타 버퍼 영역(7)에 메타정보 테이블(71), 시스템영역정보 테이블(72) 및 매핑 테이블(73)을 저장하여 관리한다. 보다 구체적으로, 초기화/복구부(10)는 볼륨 비트맵 또는 FAT 테이블의 정보로부터 시스템 영역(6) 내에서 이미 사용되고 있는 공간을 파악하여, 시스템영역정보 테이블(72)에 시스템 영역 인덱스 별로 사용되고 있는 공간에 대해서는 "원본"으로 표시하고 그렇지 않은 공간에 대해서는 "비보호"로 표시한다. 또한, 초기화/복구부(10)는 메타 버퍼 영역(7) 내의 매핑 테이블(73)을 초기화하고, 각종 메타 정보에 의해 메타정보 테이블(71)을 초기화한다.
쓰기동작처리부(20)와 읽기동작처리부(30)는 컴퓨터 시스템이 수행되는 중에 운영체제에 의해 파일에 데이터를 쓰고 읽는 동작을 인터셉트하여 처리하는 모듈이다. 본원 발명에 의한 하드디스크 보호 장치(1)는 원본 변경 모드를 메타 정보로서 관리한다. 보다 상세히 설명하면, 하드디스크 보호 장치(1)는 초기화/복구부(10)가 수행된 후에 사용자로부터 원본 변경 모드로의 전환을 요청받으면, 원본 변경 모드로 전환하여 사용자가 시스템 영역의 데이터를 직접 변경할 수 있도록 한다. 이후, 사용자로부터 원본 변경 모드 해제를 요청받으면, 다시 원본 보호 모드로 전환되어 초기화/복구부(10)에 의한 초기화가 수행된다.
먼저, 쓰기동작처리부(20)는 파일 시스템으로부터 시스템 영역(6) 내의 클러스터에 대한 쓰기(Write) 동작을 수행할 시스템 영역 인덱스를 받아, 원본 변경 모드에 따라 그 처리를 달리한다. 즉, 원본 변경 모드가 설정되어 있으면 쓰기동작처리부(20)는 파일 시스템이 지정한 시스템 영역 내의 위치에 쓰기 동작을 수행한다. 그러나 원본 변경 모드가 설정되어 있지 않으면 쓰기동작처리부(20)는 시스템영역정보 테이블(72)에서 그 인덱스에 대응하는 보호정보가 "원본" 또는 "보호"로 표시된 경우 매핑 테이블(73)에 의해 지정되는 시스템 영역(6)에 주어진 클러스터에 대한 쓰기 동작을 수행하고, "비보호"로 표시된 경우 파일 시스템이 지정한 시스템 영역(6) 내의 위치(즉, 시스템 영역 인덱스가 표시하는 위치)에 주어진 클러스터에 대한 쓰기 동작을 수행한다. 그런데, 시스템 영역 인덱스에 대응하는 클러스터가 시스템영역정보 테이블(72)에서 "원본" 또는 "보호"로 표시되고 매핑 테이블(73)에 의해 지정된 값이 초기화 상태(즉, 매핑 인덱스가 시스템 영역 인덱스와 동일한 값이거나 "NULL"인 경우)인 경우에는, 쓰기동작처리부(20)는 시스템 영역(6)에서 빈 공간을 확보하고, 확보된 빈 공간에 주어진 클러스터에 대한 쓰기 동작을 수행하고, 시스템영역정보 테이블(72)에서 새로운 데이터가 저장된 클러스터의 보호 상태를 "보호"로 기록하고, 매핑 테이블(73)의 대응 항목에 새로운 데이터가 저장된 위치를 기록하게 된다. 한편, 쓰기동작처리부(20)에 의해 FAT 테이블 또는 볼륨 비트맵이 변경되는 경우, 변경된 내용은 메타정보 테이블(71)에 포함된 FAT 테이블 또는 볼륨 비트맵에 반영된다.
읽기동작처리부(30)는 파일 시스템으로부터 시스템 영역(6) 내의 클러스터에 대한 읽기(Read) 동작을 수행할 시스템 영역 인덱스를 받아, 복구 원본 변경 모드에 따라 그 처리를 달리한다. 즉, 원본 변경 모드가 설정되어 있으면 읽기동작처리부(30)는 파일 시스템이 지정한 시스템 영역 내의 위치에서 읽기 동작을 수행한다. 그러나 원본 변경 모드가 설정되어 있지 않으면 읽기동작처리부(30)는 매핑 테이블(73)에서 그 인덱스에 대응하는 매핑 정보를 이용하여 해당 클러스터에 대한 읽기 동작을 수행한다. 이때, 매핑 테이블(73)에 의해 지정된 값이 초기화 상태(NULL)인 경우, 읽기동작처리부(30)는 파일 시스템이 지정한 시스템 영역(6) 내의 위치(즉, 시스템 영역 인덱스가 표시하는 위치)에서 해당 클러스터에 대한 읽기 동작을 수행한다.
현재상태백업부(40)는 초기화 과정 이후 현재까지 시스템 데이터에 대한 변경 내용을 모두 반영하여, 새로운 원본 시스템 데이터를 구성하는 모듈이다. 따라서, 현재상태백업부(40)는 매핑 테이블(73)의 각 항목을 차례로 읽어, 매핑 테이블(73)에 의해 지정된 위치가 파일 시스템에 의해 지정된 위치와 다른 위치를 나타내는 항목(즉, 시스템 영역 인덱스와 매핑 인덱스가 서로 다른 항목)에 대하여 매핑 체인을 형성한다. 이렇게 형성된 각 매핑 체인에서 클러스터 순서대로 포인터(매핑 인덱스)에 의해 지정된 데이터를 원위치에 반영하여 저장한 후, 초기화/복구부(10)에 의한 초기화를 수행한다. 한편, 현재상태백업부(40)는 매핑 체인의 내용을 시스템 영역(6)에 반영하는 작업과 더불어 메타정보 테이블(71)에 저장된 볼륨 비트맵 또는 FAT 테이블을 시스템 영역(6)에 반영한 다음 초기화를 수행함으로써, 변경된 데이터 뿐만 아니라 시스템 영역(6)에 새로이 추가된 데이터를 새로운 원본 시스템 데이터에 포함시키는 것이 가능하다.
제거부(60)는 설치부(50)에 의해 설정된 메타 버퍼 영역(7)을 시스템 영역(6)에 통합하여 메타 버퍼 영역(7)을 제거한다. 또한, 제거부(60)는 사용자에게 현재 상태 백업 여부를 확인받아, 사용자가 원하는 경우 현재 상태를 백업한 이후 메타 버퍼 영역(7)을 제거하는 작업을 수행할 수 있으며, 설치부(50)에 의해 하드디스크(5)에 설치된 소프트웨어 및 디바이스 드라이버를 자동으로 삭제하도록 구성되는 것이 바람직하다.
이하에서, 본 발명에 의한 시스템 변경 데이터를 시스템 영역 내에서 선점적으로 관리하는 컴퓨터 하드디스크 시스템 데이터 보호 과정을 도 5를 참조하여 상세히 설명하기로 한다.
먼저, 하드디스크 보호 프로그램의 설치 모듈은 컴퓨터 시스템의 하드디스크 영역을 분할하여 시스템 영역(6)과 메타 버퍼 영역(7)을 설정한다(S50). 도 6은 설치 단계(S50)를 보다 상세히 설명한다.
설치 모듈은 사용자로부터 메타 버퍼 영역(7)에 대한 크기를 입력받고(S10), 쓰기동작처리 모듈, 읽기동작처리 모듈, 현재 상태 백업 모듈 등을 구성하는 소프트웨어 및 디바이스 드라이버를 하드디스크(5)에 설치한다(S20). 이후, 설치 모듈은 시스템 영역 내에서 별도의 메타 버퍼 영역(7)을 예약하고, 예약된 메타 버퍼 영역(7)에서 사용 중인 클러스터들을 메타 버퍼 영역(7) 밖의 시스템 영역으로 이동시킨다(S30). 그 다음, 설치 모듈은 하드디스크 영역에 시스템 영역(6)과 메타 버퍼 영역(7)을 분할하여 설정하고(S40), 메타 버퍼 영역(7)에 메타정보 테이블(71), 시스템영역 정보 테이블(72) 및 매핑 테이블(73)을 위한 영역을 예약하여 둔다(S45). 이렇게 설정된 메타 버퍼 영역(7)은 사용자로부터 숨겨진 영역으로, 사용자는 자신이 원하는 파일을 저장하기 위하여 메타 버퍼 영역(7)을 사용할 수는 없다. 설치 모듈은 최종적으로 초기화 모듈을 호출하여 초기화를 수행한다(S100).
다음, 하드디스크 보호 프로그램의 초기화 모듈은 시스템영역정보 테이블(72)에 시스템 영역(6) 내의 각 클러스터에 대한 보호 여부를 표시하고, 메타 버퍼 영역(7) 내의 매핑 테이블(73)을 초기화한다(S100). 도 7은 초기화 단계(S100)를 보다 상세히 설명한다.
초기화 모듈은 FAT 테이블 또는 볼륨 비트맵으로부터 시스템 영역(6)의 사용 정보를 수집하고(S110), 시스템영역정보 테이블(72)의 시스템 영역 인덱스 별로 사용되고 있는 공간에 대해서는 "원본"으로 표시하고 그렇지 않은 공간에 대해서는 "비보호"로 표시한다(S120). 이후, 초기화 모듈은 매핑 테이블(73)의 매핑 인덱스에 대하여 시스템영역정보 테이블(72)의 "원본"에 대응하는 부분은 시스템 영역 인덱스와 동일한 값을, 그렇지 않은 부분은 NULL 값을 할당하여 초기화하고(S130), 각종 메타 정보를 수집하여 메타정보 테이블(71)을 초기화한다(S140).
이후, 하드디스크 보호 프로그램의 쓰기동작처리 모듈과 읽기동작처리 모듈은 컴퓨터 시스템이 수행되는 도중에 운영체제에 의해 하드디스크(5)에 데이터를 쓰고 읽는 동작을 인터셉트하여 쓰기동작과 읽기동작을 처리한다(S200, S300). 도 8은 시스템 영역(6)에 쓰기동작처리단계(S200)를, 도 9는 시스템 영역(6)에서의 읽기동작처리단계(S300)를 보다 상세히 설명한다.
쓰기동작처리 모듈은 파일 시스템으로부터 시스템 영역(6) 내의 클러스터에 대한 쓰기(Write) 동작을 수행할 시스템 영역 인덱스를 받고(S210), 원본 변경 모드가 설정 여부를 확인한다(S215). 원본 변경 모드가 설정되어 있으면 쓰기동작처리 모듈은 파일 시스템이 지정한 시스템 영역 내의 위치에 쓰기 동작을 수행한다(S295). 이에 비해, 원본 변경 모드가 설정되어 있지 않으면 쓰기동작처리 모듈은 시스템영역정보 테이블(72)에서 그 인덱스에 대응하는 보호정보를 읽는다(S215, S220). 보호정보가 "원본" 또는 "보호"로 표시된 경우, 쓰기동작처리 모듈은 매핑 테이블(73)에서 시스템 영역 인덱스에 대응하는 매핑정보를 읽는다(S230, S240). S240 단계에서 읽은 매핑정보가 초기화 상태의 값(즉, 매핑 인덱스가 시스템 영역 인덱스와 동일한 값이거나 "NULL"인 경우)이 아닌 경우, 쓰기동작처리 모듈은 그 값에 의해 지정되는 시스템 영역(6)에 주어진 클러스터에 대한 쓰기 동작을 수행한다(S250, S260). 하지만, S240 단계에서 읽은 매핑정보가 초기화 상태의 값인 경우에는, 쓰기동작처리 모듈은 시스템영역정보 테이블(72)을 이용하여 시스템 영역(6)에서 빈 공간을 확보하고, 확보된 빈 공간에 주어진 클러스터에 대한 쓰기 동작을 수행한다(S250, S270, S280). 이후, 쓰기동작처리 모듈은 시스템영역정보 테이블(72)에서 새로운 데이터가 저장된 클러스터의 보호 상태를 "보호"로 기록하고, 매핑 테이블(73)의 대응 항목에 새로운 데이터가 저장된 위치를 기록하게 된다(S290, S292).
한편, S220 단계에서 읽은 보호정보가 "비보호"로 표시된 경우, 쓰기동작처리 모듈은 파일 시스템이 지정한 시스템 영역(6) 내의 위치(즉, 시스템 영역 인덱스가 표시하는 위치)에 주어진 클러스터에 대한 쓰기 동작을 수행한다(S230, S294). 이때, 쓰기동작처리 모듈은 FAT 테이블 또는 볼륨 비트맵에서의 변경 내용을 원본의 FAT 테이블 또는 볼륨 비트맵이 아니라 메타정보 테이블(71)에 포함된 FAT 테이블 또는 볼륨 비트맵에 반영한다.
읽기동작처리 모듈은 파일 시스템으로부터 시스템 영역(6) 내의 클러스터에 대한 읽기(Read) 동작을 수행할 시스템 영역 인덱스를 받고(S310), 원본 변경 모드가 설정 여부를 확인한다(S315). 원본 변경 모드가 설정되어 있으면 읽기동작처리 모듈은 파일 시스템이 지정한 시스템 영역 내의 위치에 읽기 동작을 수행한다(S340). 이에 비해, 원본 변경 모드가 설정되어 있지 않으면 읽기동작처리 모듈은 매핑 테이블(73)에서 시스템 영역 인덱스에 대응하는 매핑정보를 읽는다(S315, S320). 이때, 읽기동작처리 모듈은 매핑 테이블(73)에 의해 지정된 값이 "NULL"인 경우에는 파일 시스템이 지정한 시스템 영역(6) 내의 위치(즉, 시스템 영역 인덱스가 표시하는 위치)에서 해당 클러스터에 대한 읽기 동작을 수행하고, 그렇지 않은 경우에는 매핑 테이블(73)에 의해 지정되는 시스템 영역(6) 내의 위치(즉, 매핑 인덱스가 표시하는 위치)에서 해당 클러스터에 대한 읽기 동작을 수행하다(S330, S340, S350).
하드디스크 보호 프로그램은 사용자로부터 현재상태백업요청이 있는 경우 또는 환경 변수에 의해 설정된 현재상태백업주기에 이른 경우, 현재상태백업 모듈에 의해 시스템 데이터에 대한 현재의 상태를 새로운 원본 시스템 데이터를 유지하는 작업을 수행한다(S400). 도 10는 현재상태백업 단계(S400)를 보다 상세히 설명한다.
현재상태백업 모듈은 매핑 테이블(73)을 구성하는 각 항목의 정보를 차례로 읽어 매핑 테이블(73)에 의해 지정된 위치가 파일 시스템에 의해 지정된 위치와 다른 위치를 나타내는 항목(즉, 시스템 영역 인덱스와 매핑 인덱스가 서로 다른 항목)에 대하여 매핑 체인을 형성한다(S410, S420). 시스템 영역 인덱스와 매핑 인덱스가 서로 다른 항목의 경우에는 이미 최근 변경 내용이 반영되어 있는 클러스터라 할 수 있다. 이렇게 형성된 각 매핑 체인에서 클러스터 순서대로 포인터(매핑 인덱스)에 의해 지정된 데이터를 원위치에 반영하여 저장한다(S430). 즉, 각 매핑 체인에 대하여, 클러스터 순서대로 매핑 인덱스가 지정하는 위치의 데이터를 읽어 시스템 영역 인덱스가 지정하는 위치에 쓰는 과정을 해당 매핑 체인의 마지막 항목까지 반복한다. 매핑 테이블(73)에 포함된 모든 항목에 대한 백업 작업이 완료되면, 메타정보 테이블(71)에 저장된 볼륨 비트맵 또는 FAT 테이블을 시스템 영역(6)에 반영하는 작업을 수행하는 것이 필요하다. 백업 작업을 완료한 후, 초기화 모듈에 의해 초기화를 수행함으로써 새로운 원본 시스템 데이터가 유지된다(S100).
하드디스크 보호 프로그램은 사용자로부터 복구요청이 있는 경우 또는 환경 변수에 의해 설정된 복구주기에 이른 경우, 복구 모듈에 의해 초기화 이후 시스템 영역에서 발생한 모든 변경 내용을 삭제하는 작업을 수행한다(S500). 이를 위해 복구 모듈은 도 7에 도시된 초기화 모듈과 동일한 절차를 진행한다.
원본 복구가 수행된 이후에, 하드디스크 보호 프로그램은 사용자로부터 원본 변경 모드로의 전환을 요청받으면 시스템 모드를 원본 변경 모드로 전환하여 원본 변경 단계를 수행한다(S600). 원본 변경 모드에서는 도 8에서 설명된 바와 같이 사용자가 시스템 영역의 데이터를 직접 변경할 수 있다. 이후, 사용자로부터 원본 변경 모드 해제를 요청받으면, 다시 도 7에 도시된 바와 같은 초기화가 수행되어 원본 보호 모드로 전환된다.
사용자로부터 하드디스크 보호 프로그램을 제거하고자 하는 요청을 받은 경우, 제거 모듈은 시스템 영역(6)과 메타 버퍼 영역(7)을 통합하고, 하드디스크 보호 프로그램을 하드디스크에서 제거한다(S700). 도 11은 제거 모듈은 처리 과정을 설명한다.
제거 모듈은 하드디스크 보호 프로그램을 제거하기 전에 먼저 사용자로 하여금 현재상태 백업 여부를 확인받고(S510), 사용자가 원하면 현재상태백업 모듈을 호출하여 현재상태 백업 과정을 먼저 진행한다(S400). 이후, 제거 모듈은 설치 모듈에 의해 설정된 메타 버퍼 영역(7)을 제거하여 시스템 영역(6)과 메타 버퍼 영역(7)을 통합하여 시스템 영역으로 둔다(S520, S530). 또한, 제거 모듈은 설치 모듈에 의해 하드디스크(5)에 설치된 하드디스크 보호 프로그램을 구성하는 소프트웨어 및 디바이스 드라이버를 하드디스크(5)에서 자동으로 삭제한다(S540).
한편, 상술한 본 발명의 실시예는 컴퓨터에서 실행될 수 있는 프로그램(하드디스크 보호 프로그램)으로 작성가능하다. 그리고, 컴퓨터에서 사용되는 기록매체를 이용하여 하드디스크 보호 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 상기 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 씨디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)과 같은 전송매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시 예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
본 발명에 의하면, 다음과 같은 효과가 있다.
첫째, 초기화 작업 이후 원본으로 설정된 시스템 데이터는 전혀 변경하지 않음으로써 시스템 데이터에 손상을 입은 경우 새로운 초기화 과정만으로 신속하게 복구할 수 있다.
둘째, 시스템 영역 정보 테이블과 매핑 테이블을 사용함으로써 시스템 영역 전체가 아니라 시스템 영역 중에서 보호할 필요가 있는 부분만 선별적으로 관리함으로써, 시스템 데이터에 대한 액세스 시간을 줄여 시스템 속도 저하를 최소화 할 수 있다.
셋째, 시스템 영역을 보호하고 복구하기 위해 변경된 데이터를 시스템 영역 내의 빈 공간에 백업하고 관리함으로써, 변경된 시스템 데이터를 저장할 별도의 데이터 버퍼 영역을 필요로 하지 않고 메타정보 테이블, 시스템 영역정보 테이블, 매핑 테이블을 저장할 수 있는 메타 버퍼 영역만을 필요로 하기 때문에 큰 시스템 영역을 보호하기 위해 필요로 하는 버퍼 공간을 획기적으로 줄일 수 있다. 예를 들어, 120 기가바이트 크기의 시스템 영역을 보호하기 위해 대한민국 특허 376435호의 발명은 시스템 영역의 변경된 시스템 데이터를 관리하기 위해 시스템 영역의 크기와 같은 120 기가바이트와 메타 정보들을 저장하기 위한 영역을 필요로 한다. 그러나 본 발명에서는 시스템 영역의 크기에 따라 약간의 차이가 있을 수 있지만 대략 20 메가바이트(1 기가바이트 = 1000 메가바이트) 정도의 메타 버퍼 영역만을 필요로 한다.
넷째, 매핑 테이블과 시스템 영역 정보 테이블을 이용하여 현재 사용 중인 시스템 데이터들을 자동으로 복구 원본에 반영할 수 있는 방법을 제공함으로써 사용자가 복구 원본을 손쉽게 변경할 수 있는 방법을 제공하고, 복구 원본을 변경할 때 바이러스의 공격이나 사용자의 실수로 인해 시스템 데이터가 치명적인 손상을 받아 복구할 수 없는 사태를 방지한다.
다섯째, 시스템 영역으로부터 별도의 영역을 분할하지 않고, 시스템 영역의 빈 공간에 변경된 데이터를 백업해 둠으로써 디스크 공간을 유연하게 활용할 수 있다.
여섯째, 시스템 영역에서의 읽기 동작과 현재상태백업의 경우 매핑 테이블만을 이용하도록 구성함으로써 부가적인 처리 시간을 최소화한다.
도 1은 본 발명에 의한 시스템 변경 데이터를 시스템 영역 내에서 선점적으로 관리하는 컴퓨터 하드디스크 시스템 데이터 보호 장치의 전체적인 구성을 도시한 블록도이다.
도 2는 본 발명에 의한 시스템 영역의 구성을 개념적으로 도시한 것이다.
도 3은 본 발명에서 사용되는 시스템영역정보 테이블 및 매핑 테이블의 구성을 예시적으로 도시한 것이다.
도 4는 본 발명에서 사용되는 시스템영역정보 테이블 및 매핑 테이블의 초기화된 내용을 예시적으로 도시한 것이다.
도 5는 본 발명에 의한 시스템 변경 데이터를 시스템 영역 내에서 선점적으로 관리하는 컴퓨터 하드디스크 시스템 데이터 보호방법을 나타내는 흐름도이다.
도 6은 도 5에서의 설치 단계를 보다 상세히 설명하는 흐름도이다.
도 7은 도 5에서의 초기화 단계 및 복구 단계를 보다 상세히 설명하는 흐름도이다.
도 8은 도 5에서의 쓰기동작처리 단계를 보다 상세히 설명하는 흐름도이다.
도 9는 도 5에서의 읽기동작처리 단계를 보다 상세히 설명하는 흐름도이다.
도 10은 도 5에서의 현재상태백업 단계를 보다 상세히 설명하는 흐름도이다.
도 11은 도 5에서의 제거 단계를 보다 상세히 설명하는 흐름도이다.
♣도면의 주요 부분에 대한 부호의 설명 ♣
1 : 하드디스크 보호장치 5 : 하드디스크
6 :시스템 영역 7 : 메타 버퍼 영역
10 : 초기화/복구부 20 : 쓰기동작처리부
30 : 읽기동작처리부 40 : 현재상태백업부
50 : 설치부 60 : 제거부

Claims (9)

  1. 삭제
  2. 컴퓨터 시스템의 하드디스크 영역에 시스템 영역과 메타 버퍼 영역을 분할하여 설정하고, 메타 버퍼 영역 내에 메타정보 테이블, 시스템영역정보 테이블 및 매핑 테이블을 위한 영역을 예약하는 설치부;
    볼륨 비트맵 또는 FAT 테이블의 정보로부터 시스템 영역 내의 각 클러스터의 "원본", "보호" 및 "비보호"를 표시하는 시스템영역정보 테이블과 시스템 영역 내에서 파일 시스템이 인식하는 클러스터 위치와 실제 저장된 클러스터 위치 사이의 매핑 관계를 저장하는 매핑 테이블을 초기화하는 초기화/복구부;
    시스템 영역 내의 클러스터에 대한 쓰기 동작에 대하여, 파일 시스템이 지정한 위치가 시스템영역정보테이블에서 "원본" 또는 "보호"로 표시된 경우 매핑 테이블에 의해 지정된 위치가 파일 시스템에 의해 지정된 위치와 다른 위치를 나타내면 그 다른 위치에 상기 클러스터에 대한 쓰기 동작을 수행하고, 같은 위치이거나 "NULL"을 나타내면 시스템 영역 내에 새로운 저장 공간을 할당받아 상기 클러스터에 대한 쓰기 동작을 수행한 후 매핑 테이블에 새로운 위치에 대한 포인터를 저장하고, "비보호"로 표시된 경우 파일 시스템이 지정한 시스템 영역 내의 위치에 상기 클러스터에 대한 쓰기 동작을 수행하는 쓰기동작처리부;
    시스템 영역 내의 클러스터에 대한 읽기 동작에 대하여, 매핑 테이블에 의해 지정되는 데이터 저장 영역에서 상기 클러스터에 대한 읽기 동작을 수행하되, 매핑 테이블에 의해 지정된 값이 "NULL"인 경우 파일 시스템이 지정한 시스템 영역 내의 위치에서 상기 클러스터에 대한 읽기 동작을 수행하는 읽기동작처리부;
    매핑 테이블의 각 항목을 차례로 읽어, 매핑 테이블에 의해 지정된 위치가 파일 시스템에 의해 지정된 위치와 다른 위치를 나타내는 항목에 대하여 매핑 체인을 형성하고, 각 매핑 체인에서 클러스터 순서대로 포인터에 의해 지정된 데이터를 원위치에 반영하여 저장한 후, 상기 초기화/복구부에 의한 초기화를 수행하는 현재상태백업부; 및
    상기 설치부에 의해 설정된 메타 버퍼 영역을 시스템 영역에 통합하여 메타 버퍼 영역을 제거하는 제거부;를 포함함을 특징으로 하는 시스템 변경 데이터를 시스템 영역 내에서 선점적으로 관리하는 컴퓨터 하드디스크 시스템 데이터 보호 장치.
  3. 제2항에 있어서, 상기 쓰기동작처리부는
    상기 클러스터가 시스템영역정보 테이블에서 "원본" 또는 "보호"로 표시되고, 매핑 테이블에 의해 지정된 값이 초기화 상태인 경우 시스템 영역에서 저장 공간을 확보하고, 확보된 저장 공간에 상기 클러스터에 대한 쓰기 동작을 수행하고, 시스템영역정보 테이블에서 새로운 데이터의 보호 상태를 "보호"로 기록하고, 매핑 테이블의 대응 항목에 새로운 데이터가 저장된 위치를 기록하는 것을 특징으로 하는 시스템 변경 데이터를 시스템 영역 내에서 선점적으로 관리하는 컴퓨터 하드디스크 시스템 데이터 보호 장치.
  4. 제2항 또는 제3항에 있어서, 상기 컴퓨터 하드디스크 시스템 데이터 보호 장치는 원본 변경 모드를 관리하고,
    원본 변경 모드가 설정된 경우 상기 쓰기동작처리부는 파일 시스템이 지정한 시스템 영역 내의 위치에서 쓰기 동작을 수행하고, 상기 읽기동작처리부는 파일 시스템이 지정한 시스템 영역 내의 위치에 읽기 동작을 수행하는 것을 특징으로 하는 시스템 변경 데이터를 시스템 영역 내에서 선점적으로 관리하는 컴퓨터 하드디스크 시스템 데이터 보호 장치.
  5. (a) 컴퓨터 시스템의 하드디스크 영역에 시스템 영역과 메타 버퍼 영역을 분할하여 설정하고, 메타 버퍼 영역 내에 메타정보 테이블, 시스템영역정보 테이블 및 매핑 테이블을 위한 영역을 예약하는 설치 단계;
    (b) 볼륨 비트맵 또는 FAT 테이블의 정보로부터 시스템 영역 내의 각 클러스터의 "원본", "보호" 및 "비보호"를 표시하는 시스템영역정보테이블과 시스템 영역 내에서 파일 시스템이 인식하는 클러스터 위치와 실제 저장된 클러스터 위치 사이의 매핑 관계를 저장하는 매핑 테이블을 초기화하는 초기화 단계;
    (c) 시스템 영역 내의 클러스터에 대한 쓰기 동작에 대하여, 파일 시스템이 지정한 위치가 시스템영역정보테이블에서 "원본" 또는 "보호"로 표시된 경우 매핑 테이블에 의해 지정된 위치가 파일 시스템에 의해 지정된 위치와 다른 위치를 나타내면 그 다른 위치에 상기 클러스터에 대한 쓰기 동작을 수행하고, 같은 위치이거나 "NULL"을 나타내면 시스템 영역 내에 새로운 저장 공간을 할당받아 상기 클러스터에 대한 쓰기 동작을 수행한 후 매핑 테이블에 새로운 위치에 대한 포인터를 저장하고, "비보호"로 표시된 경우 파일 시스템이 지정한 시스템 영역 내의 위치에 상기 클러스터에 대한 쓰기 동작을 수행하는 쓰기동작처리 단계;
    (d) 시스템 영역 내의 클러스터에 대한 읽기 동작에 대하여, 매핑 테이블에 의해 지정되는 데이터 저장 영역에서 상기 클러스터에 대한 읽기 동작을 수행하되, 매핑 테이블에 의해 지정된 값이 "NULL"인 경우 파일 시스템이 지정한 시스템 영역 내의 위치에서 상기 클러스터에 대한 읽기 동작을 수행하는 읽기동작처리 단계;
    (e) 볼륨 비트맵 또는 FAT 테이블의 정보로부터 시스템 영역 내의 각 클러스터의 "원본", "보호" 및 "비보호"를 표시하는 시스템영역정보테이블을 생성하고, 시스템 영역 내에서 파일 시스템이 인식하는 클러스터 위치와 실제 저장된 클러스터 위치 사이의 매핑 관계를 저장하는 매핑 테이블을 초기화하는 복구 단계; 및
    (f) 상기 설치 단계에서 설정된 메타 버퍼 영역을 시스템 영역에 통합하여 메타 버퍼 영역을 제거하는 제거 단계;를 포함함을 특징으로 하는 시스템 변경 데이터를 시스템 영역 내에서 선점적으로 관리하는 컴퓨터 하드디스크 시스템 데이터 보호방법.
  6. 제5항에 있어서, 상기 (e) 복구 단계 이전에
    (g) 매핑 테이블의 각 항목을 차례로 읽어, 매핑 테이블에 의해 지정된 위치가 파일 시스템에 의해 지정된 위치와 다른 위치를 나타내는 항목에 대하여 매핑 체인을 형성하고, 각 매핑 체인에서 클러스터 순서대로 포인터에 의해 지정된 데이터를 원위치에 반영하여 저장한 후, 상기 초기화/복구부에 의한 초기화를 수행하는 현재상태백업 단계;를 더 포함함을 특징으로 하는 시스템 변경 데이터를 시스템 영역 내에서 선점적으로 관리하는 컴퓨터 하드디스크 시스템 데이터 보호방법.
  7. 제5항에 있어서, 상기 (c) 쓰기동작처리 단계는
    상기 클러스터가 시스템영역정보테이블에서 "원본" 또는 "보호"로 표시되고, 매핑 테이블에 의해 지정된 값이 초기화 상태인 경우 시스템 영역에서 저장 공간을 확보하고, 확보된 저장 공간에 상기 클러스터에 대한 쓰기 동작을 수행하고, 시스템영역정보 테이블에서 새로운 데이터의 보호 상태를 "보호"로 기록하고, 매핑 테이블의 대응 항목에 새로운 데이터가 저장된 위치를 기록하는 단계를 구비함을 특징으로 하는 시스템 변경 데이터를 시스템 영역 내에서 선점적으로 관리하는 컴퓨터 하드디스크 시스템 데이터 보호방법.
  8. 제5항에 있어서, 상기 컴퓨터 하드디스크 시스템 데이터 보호방법이 구현된 장치는 원본 변경 모드를 관리하고,
    원본 변경 모드가 설정된 경우 상기 (c) 쓰기동작처리 단계는 파일 시스템이 지정한 시스템 영역 내의 위치에서 쓰기 동작을 수행하고, 상기 (d) 읽기동작처리 단계는 파일 시스템이 지정한 시스템 영역 내의 위치에 읽기 동작을 수행하는 것을 특징으로 하는 시스템 변경 데이터를 시스템 영역 내에서 선점적으로 관리하는 컴퓨터 하드디스크 시스템 데이터 보호방법.
  9. 제5항 내지 제8항 중 어느 한 항에 의한 시스템 변경 데이터를 시스템 영역 내에서 선점적으로 관리하는 컴퓨터 하드디스크 시스템 데이터 보호방법을 컴퓨터에 기능시키는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020040040870A 2004-06-04 2004-06-04 시스템 변경 데이터를 시스템 영역 내에서 선점적으로관리하는 컴퓨터 하드디스크 시스템 데이터 보호 장치 및그 방법 KR100527275B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020040040870A KR100527275B1 (ko) 2004-06-04 2004-06-04 시스템 변경 데이터를 시스템 영역 내에서 선점적으로관리하는 컴퓨터 하드디스크 시스템 데이터 보호 장치 및그 방법
PCT/KR2005/001669 WO2005119459A1 (en) 2004-06-04 2005-06-03 Apparatus and method for protecting system data on computer hard-disk

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040040870A KR100527275B1 (ko) 2004-06-04 2004-06-04 시스템 변경 데이터를 시스템 영역 내에서 선점적으로관리하는 컴퓨터 하드디스크 시스템 데이터 보호 장치 및그 방법

Publications (1)

Publication Number Publication Date
KR100527275B1 true KR100527275B1 (ko) 2005-12-13

Family

ID=35463057

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040040870A KR100527275B1 (ko) 2004-06-04 2004-06-04 시스템 변경 데이터를 시스템 영역 내에서 선점적으로관리하는 컴퓨터 하드디스크 시스템 데이터 보호 장치 및그 방법

Country Status (2)

Country Link
KR (1) KR100527275B1 (ko)
WO (1) WO2005119459A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110286859B (zh) * 2019-06-28 2020-04-14 中国海洋大学 基于fat文件系统的数据存储方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3037183B2 (ja) * 1997-02-21 2000-04-24 北海道日本電気ソフトウェア株式会社 ハードディスク装置管理方式および方法
KR100458838B1 (ko) * 1997-04-09 2005-01-24 삼성전자주식회사 하드디스크드라이브복구방법을실행하는프로그램이저장된기록매체
KR100621614B1 (ko) * 1999-08-30 2006-09-06 삼성전자주식회사 컴퓨터 시스템의 파일 백업 방법
KR20020097344A (ko) * 2001-06-20 2002-12-31 주식회사 마이크로모스 컴퓨터 하드디스크 내 자료 복구 방법
KR100489178B1 (ko) * 2001-12-19 2005-05-17 (주)새늘 디스크블록화를 통한 하드디스크 보호방법

Also Published As

Publication number Publication date
WO2005119459A1 (en) 2005-12-15

Similar Documents

Publication Publication Date Title
JP4512638B2 (ja) システム領域情報テーブルとマッピングテーブルを使用したコンピューターハードディスクシステムデータ保護装置及びその方法
JP4160933B2 (ja) 超大規模ファイル・システムでのファイル・システム使用のすばやい復元
US7263589B2 (en) Apparatus and method for controlling booting operation of computer system
US6205558B1 (en) Recovery of file systems after modification failure
EP2176795B1 (en) Hierarchical storage management for a file system providing snapshots
US6792518B2 (en) Data storage system having mata bit maps for indicating whether data blocks are invalid in snapshot copies
US6957362B2 (en) Instantaneous restoration of a production copy from a snapshot copy in a data storage system
US8051044B1 (en) Method and system for continuous data protection
US8732121B1 (en) Method and system for backup to a hidden backup storage
US7694105B2 (en) Data storage systems that implement sector sets
JP2004326800A (ja) ファイルシステムのバージョンを管理する方法およびシステム
US7469261B2 (en) Apparatus and method for protecting system data on computer hard-disk
JP2007200314A (ja) 隠蔽領域管理装置および方法
US9152823B2 (en) Systems, methods, and computer readable media for computer data protection
KR100376435B1 (ko) 컴퓨터 하드디스크에 저장된 데이터 보호 장치 및 방법그리고 컴퓨터가 그 방법을 수행하도록 하는 프로그램을기록한 컴퓨터로 읽을 수 있는 기록매체
KR101615646B1 (ko) 컴퓨터시스템, 그 제어방법과, 그 컴퓨터프로그램이 저장된 기록매체
CN104049914A (zh) 一种对保护分区执行写操作的方法和装置
US6823348B2 (en) File manager for storing several versions of a file
KR100527275B1 (ko) 시스템 변경 데이터를 시스템 영역 내에서 선점적으로관리하는 컴퓨터 하드디스크 시스템 데이터 보호 장치 및그 방법
KR100637932B1 (ko) 파일 시스템의 언마운트 방법

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
A302 Request for accelerated 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: 20121126

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20131125

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20141217

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20151224

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20161125

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20171124

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20181126

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20191125

Year of fee payment: 15