KR100527274B1 - 시스템 영역 정보 테이블과 매핑 테이블을 사용한 컴퓨터하드디스크 시스템 데이터 보호 장치 및 그 방법 - Google Patents

시스템 영역 정보 테이블과 매핑 테이블을 사용한 컴퓨터하드디스크 시스템 데이터 보호 장치 및 그 방법 Download PDF

Info

Publication number
KR100527274B1
KR100527274B1 KR1020040040869A KR20040040869A KR100527274B1 KR 100527274 B1 KR100527274 B1 KR 100527274B1 KR 1020040040869 A KR1020040040869 A KR 1020040040869A KR 20040040869 A KR20040040869 A KR 20040040869A KR 100527274 B1 KR100527274 B1 KR 100527274B1
Authority
KR
South Korea
Prior art keywords
area
cluster
mapping table
buffer area
write operation
Prior art date
Application number
KR1020040040869A
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 KR1020040040869A priority Critical patent/KR100527274B1/ko
Priority to EP05746346A priority patent/EP1769368B1/en
Priority to DE602005011295T priority patent/DE602005011295D1/de
Priority to US11/596,275 priority patent/US7624243B2/en
Priority to PCT/KR2005/001668 priority patent/WO2005119458A1/en
Priority to JP2007514913A priority patent/JP4512638B2/ja
Priority to AT05746346T priority patent/ATE415658T1/de
Priority to CNB2005800181792A priority patent/CN100397369C/zh
Application granted granted Critical
Publication of KR100527274B1 publication Critical patent/KR100527274B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • 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
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Abstract

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

Description

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

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

Priority Applications (8)

Application Number Priority Date Filing Date Title
KR1020040040869A KR100527274B1 (ko) 2004-06-04 2004-06-04 시스템 영역 정보 테이블과 매핑 테이블을 사용한 컴퓨터하드디스크 시스템 데이터 보호 장치 및 그 방법
EP05746346A EP1769368B1 (en) 2004-06-04 2005-06-03 Apparatus and method for protecting system data on computer hard-disk
DE602005011295T DE602005011295D1 (de) 2004-06-04 2005-06-03 Verfahren und vorrichtung zum schützen von systemdaten auf einer computerfestplatte
US11/596,275 US7624243B2 (en) 2004-06-04 2005-06-03 Apparatus and method for protecting system data on computer hard-disk
PCT/KR2005/001668 WO2005119458A1 (en) 2004-06-04 2005-06-03 Apparatus and method for protecting system data on computer hard-disk
JP2007514913A JP4512638B2 (ja) 2004-06-04 2005-06-03 システム領域情報テーブルとマッピングテーブルを使用したコンピューターハードディスクシステムデータ保護装置及びその方法
AT05746346T ATE415658T1 (de) 2004-06-04 2005-06-03 Verfahren und vorrichtung zum schützen von systemdaten auf einer computerfestplatte
CNB2005800181792A CN100397369C (zh) 2004-06-04 2005-06-03 用于保护计算机硬盘上的系统数据的装置和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040040869A KR100527274B1 (ko) 2004-06-04 2004-06-04 시스템 영역 정보 테이블과 매핑 테이블을 사용한 컴퓨터하드디스크 시스템 데이터 보호 장치 및 그 방법

Publications (1)

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

Family

ID=35463056

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040040869A KR100527274B1 (ko) 2004-06-04 2004-06-04 시스템 영역 정보 테이블과 매핑 테이블을 사용한 컴퓨터하드디스크 시스템 데이터 보호 장치 및 그 방법

Country Status (8)

Country Link
US (1) US7624243B2 (ko)
EP (1) EP1769368B1 (ko)
JP (1) JP4512638B2 (ko)
KR (1) KR100527274B1 (ko)
CN (1) CN100397369C (ko)
AT (1) ATE415658T1 (ko)
DE (1) DE602005011295D1 (ko)
WO (1) WO2005119458A1 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080195676A1 (en) * 2007-02-14 2008-08-14 Microsoft Corporation Scanning of backup data for malicious software
US7945587B2 (en) * 2007-10-10 2011-05-17 Microsoft Corporation Random allocation of media storage units
US20090300115A1 (en) * 2008-06-03 2009-12-03 Telefonaktiebolaget Lm Ericsson (Publ) Method, node and system for adapting a session initiation protocol (sip) message for an ip multimedia subsystem (ims)
JP5429280B2 (ja) * 2009-03-24 2014-02-26 日本電気株式会社 データ処理装置、そのコンピュータプログラムおよびデータ処理方法
TWI437569B (zh) * 2009-10-16 2014-05-11 Silicon Motion Inc 用來管理一快閃記憶體的複數個區塊之方法以及相關之記憶裝置及其控制器
TW201133240A (en) * 2010-03-22 2011-10-01 Phison Electronics Corp System recovery method, and storage medium controller and storage system using the same
CN102207905A (zh) * 2010-03-30 2011-10-05 群联电子股份有限公司 系统恢复方法、存储媒体控制器及存储系统
US9507670B2 (en) * 2010-06-14 2016-11-29 Veeam Software Ag Selective processing of file system objects for image level backups
CN103259905B (zh) * 2012-02-15 2015-09-02 宇龙计算机通信科技(深圳)有限公司 手机智能恢复方法及系统
CN104915265B (zh) * 2014-03-10 2018-03-16 北京联想核芯科技有限公司 数据备份方法和电子设备
US10157103B2 (en) 2015-10-20 2018-12-18 Veeam Software Ag Efficient processing of file system objects for image level backups
KR102411770B1 (ko) 2015-11-13 2022-06-22 삼성전자주식회사 전자 장치를 보호하기 위한 장치 및 방법
CN110389853B (zh) * 2019-06-26 2024-01-02 威胜信息技术股份有限公司 一种嵌入式文件系统的保护及恢复方法
CN112000524A (zh) * 2020-08-27 2020-11-27 北京浪潮数据技术有限公司 系统数据在硬盘中的备份和读取方法、装置、设备及介质

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3527756B2 (ja) * 1993-02-05 2004-05-17 株式会社エヌ・ティ・ティ・データ システムファイルの更新方法
JP3037183B2 (ja) 1997-02-21 2000-04-24 北海道日本電気ソフトウェア株式会社 ハードディスク装置管理方式および方法
KR100458838B1 (ko) 1997-04-09 2005-01-24 삼성전자주식회사 하드디스크드라이브복구방법을실행하는프로그램이저장된기록매체
KR19990060338A (ko) * 1997-12-31 1999-07-26 윤종용 하드 디스크 드라이브의 바이러스에 의한 손상 데이터복구방법
KR100621614B1 (ko) 1999-08-30 2006-09-06 삼성전자주식회사 컴퓨터 시스템의 파일 백업 방법
KR100376435B1 (ko) * 2001-03-28 2003-03-17 주식회사 피엔에스텍 컴퓨터 하드디스크에 저장된 데이터 보호 장치 및 방법그리고 컴퓨터가 그 방법을 수행하도록 하는 프로그램을기록한 컴퓨터로 읽을 수 있는 기록매체
KR20020097344A (ko) * 2001-06-20 2002-12-31 주식회사 마이크로모스 컴퓨터 하드디스크 내 자료 복구 방법
CN1160731C (zh) * 2001-07-05 2004-08-04 刘海全 一种计算机硬盘数据的保护方法
CN1205555C (zh) * 2001-11-12 2005-06-08 联想(北京)有限公司 硬盘数据备份与恢复方法
CN1352425A (zh) * 2001-11-27 2002-06-05 北京实达铭泰计算机应用技术开发有限公司 一种增强计算机系统数据安全的方法
JP2003167786A (ja) * 2001-12-04 2003-06-13 Hitachi Kokusai Electric Inc ネットワーク監視システム
KR100489178B1 (ko) 2001-12-19 2005-05-17 (주)새늘 디스크블록화를 통한 하드디스크 보호방법
WO2004090722A1 (en) * 2003-04-11 2004-10-21 Star Softcomm Pte Ltd Data isolation system and method
JP4350562B2 (ja) * 2004-03-12 2009-10-21 エヌ・ティ・ティ・コムウェア株式会社 ファイルアクセス制御装置、ファイルアクセス制御方法およびファイルアクセス制御プログラム
US7395402B2 (en) * 2004-04-15 2008-07-01 Broadcom Corporation Method and system of data storage capacity allocation and management using one or more data storage drives
KR100527276B1 (ko) * 2004-06-04 2005-12-13 주식회사 르노소프트 시스템 변경 데이터를 시스템 영역 내에서 비선점적으로관리하는 컴퓨터 하드디스크 시스템 데이터 보호 장치 및그 방법
JP2005352535A (ja) * 2004-06-08 2005-12-22 Ark Joho Systems:Kk データを保護する方法

Also Published As

Publication number Publication date
US7624243B2 (en) 2009-11-24
EP1769368A1 (en) 2007-04-04
EP1769368A4 (en) 2007-11-28
CN100397369C (zh) 2008-06-25
DE602005011295D1 (de) 2009-01-08
CN1965300A (zh) 2007-05-16
ATE415658T1 (de) 2008-12-15
JP2008501182A (ja) 2008-01-17
US20080028004A1 (en) 2008-01-31
JP4512638B2 (ja) 2010-07-28
EP1769368B1 (en) 2008-11-26
WO2005119458A1 (en) 2005-12-15

Similar Documents

Publication Publication Date Title
JP4512638B2 (ja) システム領域情報テーブルとマッピングテーブルを使用したコンピューターハードディスクシステムデータ保護装置及びその方法
JP4977565B2 (ja) アクセス制御リストを用いてファイルへのアクセスを制御するアクセスコントローラ
US7263589B2 (en) Apparatus and method for controlling booting operation of computer system
US8051044B1 (en) Method and system for continuous data protection
JP4160933B2 (ja) 超大規模ファイル・システムでのファイル・システム使用のすばやい復元
JP4117265B2 (ja) ファイルシステムのバージョンを管理する方法およびシステム
US8074035B1 (en) System and method for using multivolume snapshots for online data backup
US10713361B2 (en) Anti-malware protection using volume filters
US20110022811A1 (en) Information backup/restoration processing apparatus and information backup/restoration processing system
US20060143433A1 (en) Virtual partition for recording and restoring computer data files
US20090216973A1 (en) Computer system, storage subsystem, and data management method
US9152823B2 (en) Systems, methods, and computer readable media for computer data protection
US20090300303A1 (en) Ranking and Prioritizing Point in Time Snapshots
US7469261B2 (en) Apparatus and method for protecting system data on computer hard-disk
KR100376435B1 (ko) 컴퓨터 하드디스크에 저장된 데이터 보호 장치 및 방법그리고 컴퓨터가 그 방법을 수행하도록 하는 프로그램을기록한 컴퓨터로 읽을 수 있는 기록매체
US6823348B2 (en) File manager for storing several versions of a file
US7801858B2 (en) File system and file information processing method
KR100527275B1 (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