KR20020024227A - Harddisk protect method - Google Patents

Harddisk protect method Download PDF

Info

Publication number
KR20020024227A
KR20020024227A KR1020020006888A KR20020006888A KR20020024227A KR 20020024227 A KR20020024227 A KR 20020024227A KR 1020020006888 A KR1020020006888 A KR 1020020006888A KR 20020006888 A KR20020006888 A KR 20020006888A KR 20020024227 A KR20020024227 A KR 20020024227A
Authority
KR
South Korea
Prior art keywords
hard disk
block
disk
data
protection
Prior art date
Application number
KR1020020006888A
Other languages
Korean (ko)
Other versions
KR100489178B1 (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 한 동 원
Publication of KR20020024227A publication Critical patent/KR20020024227A/en
Application granted granted Critical
Publication of KR100489178B1 publication Critical patent/KR100489178B1/en

Links

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device

Abstract

PURPOSE: A method of protecting a hard disk through disk blocking is provided to manage the hard disk through the disk blocking, and to install a disk protection interrupt handler while performing a POST(Power-On Self Test) process of a computer, to have control over input/output processes of the hard disk and control a BIOS(Basic Input/Output System) interrupt handler, so as to protect the hard disk before booting an operating system. CONSTITUTION: A hard disk protection system performs a POST process to install a ROM program, and snatches an interrupt INT13 to have control over a disk protection interrupt handler(11). The hard disk protection system controls operations of a hard disk(3) as handling hard disk input/output processes through every INT 13. The hard disk protection system temporarily intercepts system DOS operations, and performs a protection operation for a ROM program driver by setting up a protection processing routine in a predetermined location of the hard disk(3). The hard disk protection system distinguishes a protection area from a non-protection area by concentrating data of the hard disk(3) on one position, and generates a backup file.

Description

디스크블록화를 통한 하드디스크 보호방법{HARDDISK PROTECT METHOD}Hard Disk Protection Method by Disk Blocking {HARDDISK PROTECT METHOD}

본 발명은 컴퓨터의 저장매체 상에 기록된 운영(OS)프로그램을 포함한 모든데이터를 보호하는 기술에 관한 것으로, 특히 하드디스크에 기록되는 최초 설정상태의 데이터를 항시 모니터링하고 이를 근거로 하여 디스크의 블록화를 수행하므로 컴퓨터의 초기화 시 포스트(POST: Power-On Self Test)과정을 통하여 최적의 컴퓨터 작동환경이 설정되도록 한 컴퓨터 하드디스크의 데이터 보호시스템 및 그 방법에 관한 것이다.The present invention relates to a technique for protecting all data including an operating program recorded on a storage medium of a computer, and in particular, the data of the initial setting state recorded on the hard disk is always monitored and based on the blockage of the disk. The present invention relates to a data protection system of a computer hard disk and a method for setting an optimal computer operating environment through a post-power-on self test (POST) process.

본 발명은 또한 디스크블록화를 통하여 수행된 백업을 이용하여 하드디스크 전체를 보호영역으로 지정할 수 있고, 이에 따라 하드디스크 용량의 90% 이상을 활용할 수 있을 뿐만 아니라 운영프로그램을 포함하여 하드디스크에 있는 데이터가 컴퓨터 사용 중 하드디스크포맷이나 파일삭제에도 불구하고 시스템 재시작만으로 최초의 최적상태로 컴퓨터를 보호하고 복구해주는 하드디스크 데이터를 보호하는시스템 및 방법에 관한 것이다.The present invention can also designate the entire hard disk as a protected area by using the backup performed through disk blocking, and thus can utilize not only 90% or more of the hard disk capacity but also the data on the hard disk including an operating program. The present invention relates to a system and method for protecting hard disk data that protects and recovers the computer to its optimal state by restarting the system despite the hard disk format or file deletion while the computer is in use.

최근, 컴퓨터의 저장매체가 대용량화됨에 따라 사용자의 컴퓨터에는 운영체제, 멀티미디어데이터, 문서데이터, 게임 및 응용프로그램들을 많이 저장하게 된다. 이 데이터를 사용자의 부주의라든지 컴퓨터 바이러스로 인하여 사용할 수 없을 때, 사용자는 많은 시간을 투자하여 프로그램을 다시 설치해야 한다. 특히, 학교, 관공서 교육실 및 게임 방 등에서 컴퓨터를 유지 보수하는 데 있어, 많은 비용을 지불해야 하는 결점이 있었다.Recently, as a storage medium of a computer becomes larger, a user's computer stores a lot of operating systems, multimedia data, document data, games, and applications. When this data is not available due to user's negligence or computer virus, the user has to spend a lot of time to reinstall the program. In particular, the maintenance of computers in schools, government offices, training rooms, etc., had to be expensive.

예컨대 50 대의 컴퓨터가 있는 기업이나 학교 등의 실습실이나 피씨(PC)룸, 인터넷 카페와 같은 장소라면 몇 대씩의 컴퓨터가 고장나서 사용할 수 없는 상태로 있는 실정이다. 이를테면 2 대는 미싱 오퍼레이팅시스템 에러가 나고, 4 대는 윈도우 부팅 중 블루스크린을 표시하면서 죽고, 또 1 대는 네트워크 연결이 이루어지지 않는 경우가 관리자가 헌신적이고 지속적으로 유지 보수를 하지 않는 한 흔한 경우일 것이다.For example, if you have a lab or a PC room or internet cafe with 50 computers, several computers are broken and cannot be used. For example, two would be missing operating system errors, four would die with a blue screen during Windows boot, and one would not be able to connect to the network, as long as the administrator was not dedicated and consistently maintainable.

만약 초보자들의 컴퓨터에 윈도우 부팅 중 다운이나 네트워크 연결실패 등의 문제가 생기게 되면, 초보자들이 원인을 발견하여 이를 직접 고치는 것은 아주 어려운 것이다. 또한, 전문가가 전화 상으로 문제를 해결하는 것도 있지만, 간혹 해결이 불가능한 경우도 있고 많은 고객의 요청을 처리할 수 있는 인력을 유지하는데 드는 비용도 만만치 않다. 그런데, 운이 좋아서 컴퓨터 제조회사에서 제공한 복구 시디롬(CD ROM)을 사용하여 운영체제를 다시 깔더라도, 많은 사용자들에게 있어 설정을 변경하고, ADSL(ASYMMETRIC DIGITAL SUBSCRIBER LINE) 접속을 위하여 필요한프로그램을 추가로 설치해야하며 네트워크 설정을 바꾸는 등의 작업등은 매우 어려운 일인 것이다.If a beginner's computer encounters problems with booting down or failing to connect to the network, it is very difficult for the novice to find the cause and fix it directly. In addition, while experts solve problems over the phone, sometimes they can't be solved and the cost of maintaining a staff that can handle many customer requests can be daunting. By the way, even if you're fortunate to rebuild your operating system using a recovery CD-ROM provided by your computer manufacturer, many users will need to change settings and add the necessary programs to access ADSL (ASYMMETRIC DIGITAL SUBSCRIBER LINE). It is very difficult to install and change the network settings.

도 1 는 종래 하드디스크에서 운영체제에 따라 보호프로그램이 설치되지 않을 때의 하드디스크의 엑세스 형태인 바, 먼저 시스템셋업 들어가기에서 컴퓨터에 전원이 들어오면 시스템바이오스(BIOS: BASIC INPUT/OUTPUT SYSTEM)가 자동으로 시스템상황을 점검하고, 기록되어 있는 시스템의 정보와 실체정보가 일치하는지를 검사한다. 이 과정에서 문제가 생기면, 메모리와 디스크드라이브의 용량, 그래픽카드의 형태 및 시리얼 구성 등이 다를 경우에는 시스템바이오스는 이상증상을 표시해준다.1 is a form of access of a hard disk when a protection program is not installed according to an operating system in a conventional hard disk. First, when a computer is turned on at the time of entering the system setup, the BIOS (BASIC INPUT / OUTPUT SYSTEM) is automatically Check the system status and check whether the recorded system information matches the actual information. If a problem occurs during this process, the system device will display abnormal symptoms if the memory and disk drive capacity, graphics card type and serial configuration are different.

컴퓨터를 동작시키는 운영체제를 보관하고 실행하는 공간으로써의 보조기억장치인 하드디스크는 사용자가 사용하는 컴퓨터를 위한 데이터와 사용자가 만든 데이터를 저장하고 있다. 이 시스템바이오스에서 상기 하드디스크를 인식하게 되는 바, 즉 하드디스크를 바이오스에서 인식시킨 다음에는 하드디스크를 초기화시키는 파티션을 하게 된다.A hard disk, which is an auxiliary memory device for storing and executing an operating system for operating a computer, stores data for a computer used by a user and data created by a user. The hard disk is recognized by the system device, i.e., after the hard disk is recognized by the BIOS, the hard disk is initialized.

이러한 파티션을 하게 되면 하드디스크는 포맷할 수 있는 영역을 설정하게 되고, 부팅을 위한 간단한 프로그램을 부트(BOOT) 레코드에 기록하게 된다. 따라서, 이 파티션을 통해서 사용자는 하드디스크가 사용할 운영체제를 결정하게 되고, 파티션이 끝난 컴퓨터는 이제 파티션을 나눠서 포맷을 하게 된다. 이 포맷하는 것으로서 하드디스크는 사용자가 데이터를 써넣을 수 있는 공간이 되고, 비로소 이 공간에 새로운 운영체제를 설치하거나 사용자가 필요했던 데이터를 써넣게 된다.With this partition, the hard disk sets up an area for formatting and writes a simple program for booting to the BOOT record. Thus, this partition allows the user to decide which operating system the hard disk will use, and the partitioned computer is now partitioned and formatted. In this format, the hard disk becomes a space for a user to write data, and a new operating system or a data required by the user is written in this space.

이상과 같이 동작되는 하드디스크(3)는 도1A에 도시된 바와 같이 도스운영체제에서는 바이어스(BIOS) 인터럽트핸들러(1 : INT13)와 마이크로컨트롤러(2)를 통해 엑세스되어지고, 다른 하드디스크(10)는 도1B에 도시된 바와 같이 윈도우 NT/2000 운영체제에서는 입출력관리자(4)에 의해 파일시스템드라이버(5), 디스크클래스드라이버(6), 디스크 포트드라이버(7), 디스크 미니포트드라이버(8)및 마이크로컨트롤러(9)를 통해 엑세스되어진다.As shown in FIG. 1A, the hard disk 3 operated as described above is accessed through the BIOS interrupt handler 1: INT13 and the microcontroller 2 in the DOS operating system, and the other hard disk 10. As shown in FIG. 1B, in the Windows NT / 2000 operating system, the file system driver 5, the disk class driver 6, the disk port driver 7, the disk miniport driver 8, It is accessed via the microcontroller 9.

따라서, 도스운영체제에서는 바이어스 인터럽트핸들러(1 : INT13)를 이용하여 하드디스크 입출력을 제어하도록 되어 있다. 그리고, 윈도우 95/98/ME/NT/2000에서는 전용 드라이버를 두어 하드디스크 입출력을 제어할 수 있다.Therefore, in the DOS operating system, the hard disk I / O is controlled by using the bias interrupt handler (Int13). In Windows 95/98 / ME / NT / 2000, a dedicated driver can be used to control hard disk I / O.

이러한 구성을 이용하는 대표적인 기술로써는 미국특허 제5,675,725호에는 컴퓨터에서 저장장치가 불완전하게 하거나 데이터가 오염, 손실, 또는 컴퓨터 바이러스에 의해 감염될 가능성으로부터 보호하기 위하여 저장장치에 저장된 데이터의 백업카피를 제공하는 컴퓨터 백업시스템이 개시되어 있다.As a representative technique using such a configuration, US Pat. No. 5,675,725 provides a backup copy of data stored in the storage device to protect the computer from incomplete storage or from the possibility of data being contaminated, lost, or infected by a computer virus. A computer backup system is disclosed.

이 컴퓨터 백업시스템은 저장수단의 테이프 유닛과 디스크 드라이브와 컴퓨터의 또 다른 부분간 데이터의 흐름을 제어하는 백업 프로그램 응용부를 구비하여, 각각 디스크 드라이브로부터 정상독출 및 기록동작을 차단하도록 동작하는 과정을 레코딩 한다.The computer backup system includes a backup program application section for controlling the flow of data between the tape unit of the storage means and the disk drive and another part of the computer, recording the operation of blocking normal read and write operations from the disk drive, respectively. do.

이를 위하여 이 백업시스템은 백업프로그램이 파일 억세스를 원하면 언제든지 디스크에 데이터를 기록하는 표준 루틴, 즉 구동시스템의 인테그랄(integral) INT 21h(Interrupt 21 hex)로 되는 인터럽트핸들러 루틴을 부르고, 이 루틴에 의해수행된 액션은 엔트리루틴으로 패스 된 파라메터에 의존하여 동작한다.For this purpose, the backup system calls a standard routine that writes data to disk whenever the backup program wants to access a file, that is, the interrupt handler routine that is the integral INT 21h (Interrupt 21 hex) of the operating system. The action performed depends on the parameter passed to the entry routine.

그러므로, 백업프로그램응용부는 백업되는 파일에 데이터를 이루는 변경의 레코드를 유지시키고, 원본 및 갱신 파일부 또는 레코드 모두는 백업동안 저장되고, 또 다른 응용이 갱신된 데이터를 독출 하는 동안 원래 데이터를 독출 한다. 독출 동작이 백업프로그램에 의해 또는 또 다른 응용에 의해 초기화되는지의 여부를 식별하기 위하여, 이 시스템은 스택을 이용하여 독출 요구의 소스를 결정한다. 선택적으로 사용자, 프로세스 또는 테스크 식별을 질문한다. 백업시스템에 의해 파일에 억세스는 시스템 파일 테이블을 처리함으로써, 보장된다. 그것은 소정주기동안 백업동작의 시작을 지연함으로써, 파일이 '양호' 상태인 것을 보증한다.Therefore, the backup program application keeps a record of the changes that make up the data in the file being backed up, and both the original and update file portions or records are stored during the backup, and the original data is read while another application reads the updated data. . To identify whether the read operation is initiated by the backup program or by another application, the system uses the stack to determine the source of the read request. Optionally ask for user, process or task identification. Access to the file by the backup system is ensured by processing the system file table. It delays the start of the backup operation for a certain period, thereby ensuring that the file is in a 'good' state.

그러나, 이 컴퓨터 백업시스템은 운영체계(OS)가 구동된 후에만 활용될 수 있는 것으로 사전에 저장된 데이터가 OS와 함께 바이러스 등에 의하여 감염되거나 다른 방식으로 손상된 경우 인터럽트 INT13이 호출되는 상태로 되어 디스크의 입출력(I/O)을 제어하고, 백업프로그램이 손상된 백업파일 억세스를 준비하도록 하는 인터럽트 INT 21h가 호출되지 않아 디스크에 데이터를 기록하는 표준 루틴을 수행하지 못한다는 단점을 가진다.However, this computer backup system can be utilized only after the operating system (OS) is running. If the previously stored data is infected with the OS with a virus or otherwise damaged, interrupt INT13 is called and the disk is Interrupt INT 21h, which controls input / output (I / O) and allows a backup program to prepare for access to a damaged backup file, is not called, and thus a standard routine for writing data to a disk cannot be performed.

이러한 점에 비추어 컴퓨터는 전원이 인가되어 POST(Power-On Self Test)과정을 수행하는 중에 모든 인터럽트 INT13을 가로채어 이를 통하여 디스크입출력을 핸들링하고 디스크의 작동을 제어하므로 하드 디스크데이터를 검사하고 보호 하다면 매우 바람직함을 알 수 있다.In light of this, the computer intercepts all interrupts INT13 during the power-on self test (POST) process, handles disk I / O and controls disk operation. It can be seen that it is very desirable.

상기와 같은 문제점들을 감안하여, 본 발명은 POST과정에서 DOS 인터럽트핸들러를 장악하여 디스크보호 응용프로그램을 읽어와 자신이 하드디스크를 보호를 수행하는 컴퓨터 하드디스크의 데이터 보호시스템을 제공하는 것을 그 목적으로 한다.In view of the above problems, the present invention is to provide a data protection system of a computer hard disk that reads the disk protection application by controlling the DOS interrupt handler during the POST process to protect the hard disk by itself. do.

본 발명의 다른 목적은 관리자가 세팅 해 놓은 상태를 항상 유지시켜 줄뿐만 아니라 사용자들이 변경을 하더라도 시스템을 오프-온 하면 본래 상태로 되돌려 주고, 컴퓨터의 모든 기능, 즉 네트워크나 화면설정을 바꾸는 것부터, 새로운 프로그램을 설치하고 제거하는 것, 또는 파일을 지우고 드라이브를 포맷하는 것 등을 모두 동작시킬 수 있도록 디스크블록화를 통한 컴퓨터 하드디스크의 데이터 보호시스템 및 그 방법을 제공하는데 있다.Another object of the present invention is not only to maintain the state set by the administrator at all times, but also to change the system back to the original state even if the user changes, and from changing all the functions of the computer, that is, network or screen configuration, The present invention provides a data protection system and a method of protecting a computer hard disk through disk blocking so that a new program can be installed and removed, or a file can be deleted and a drive formatted.

도 1 는 종래 하드디스크에서 운영체제에 따라 보호프로그램이 설치되지 않을 때의 하드디스크의 엑세스 형태,1 is an access form of a hard disk when a protection program is not installed according to an operating system in a conventional hard disk,

도 2 은 본 발명의 실시예에 관한 각 운영체제별로 보호시스템이 설치되어 있는 도면,2 is a diagram in which a protection system is installed for each operating system according to an embodiment of the present invention;

도 3 및 도 4 는 디스크 보호프로그램이 설치되지 않을 때, 또는 설치된 후의 하드디스크상태를 나타낸 도면,3 and 4 are views showing the state of the hard disk when the disk protection program is not installed or after it is installed;

도 5 및 도 6 은 하드디스크의 데이터를 백업 받을 파일의 구조를 나타낸 도면들,5 and 6 are views showing the structure of a file to be backed up data of the hard disk,

도 7 은 하드디스크의 보호영역과 비 보호영역을 정의한 도면,7 is a diagram defining protected and unprotected areas of a hard disk;

도 8 은 데이터 쓰기가 발생할 때 데이터를 보호하는 동작흐름도,8 is an operation flowchart of protecting data when data writing occurs;

도 9 는 데이터 읽기가 발생할 때 하드디스크를 읽어주는 동작흐름도,9 is an operation flowchart of reading a hard disk when data reading occurs;

도 10 은 보호프로그램이 동작된 후의 하드디스크상태와 데이터가 백업되어 있는 상태를 나타낸 도면,10 is a view showing a state of the hard disk and the state of the data is backed up after the protection program is operated;

도 11 은 하드디스크 데이터를 정리하는 프로그램의 동작흐름도,11 is an operation flowchart of a program for arranging hard disk data;

도 12 는 네트워크를 이용한 보호프로그램이 설치된 시스템 관리도이다.12 is a system management diagram in which a protection program using a network is installed.

♠도면의 주요부분에 대한 부호의 설명 ♠♠ Explanation of symbols for the main parts of the drawing ♠

3, 10 : 하드디스크(HDD DISK) 11 : 디스크보호 인터럽트핸들러3, 10: HDD DISK 11: Disk Protection Interrupt Handler

12 : 멀티드라이버 13 : 계층디바이스 드라이브12: multi-driver 13: layer device drive

20 : 백업파일헤드 21 : 블록매핑테이블20: Backup file head 21: Block mapping table

22 : 백업블록22: backup block

이러한 목적을 달성하기 위하여, 본 발명은 ROM프로그램으로 구성되며, 컴퓨터에 전원이 들어와서 운영(OS)체제가 부팅 되기 전에 DOS 인터럽트핸들러와 바이오스인터럽트 핸들러를 장악하고 도스 모드 프로그램을 불러오는 ROM 카드수단; 하드디스크에 사전에 기록되어 시스템의 도스작동을 중단시키고 하드디스크의 보호를 수행하는 프로그램 드라이버수단과; 현재 작동모드를 표시하고 보호모드인 경우 백업영역의 크기를 표시하는 응용프로그램부들로 이루어진 컴퓨터 하드디스크의 데이터보호 시스템으로 구성되어있다.In order to achieve this object, the present invention is composed of a ROM program, ROM card means for taking control of the DOS interrupt handler and bios interrupt handler and loading the DOS mode program before the operating system (OS) is booted to power the computer; Program driver means previously recorded in the hard disk to interrupt DOS operation of the system and to protect the hard disk; It consists of a data protection system of a computer hard disk composed of application program parts which display the current operation mode and the size of the backup area in the protection mode.

또한, 본 발명은 ROM프로그램을 설치하기 위하여 포스트 과정을 수행하면서 인터럽트 INT13을 가로채어 디스크보호 인터럽트핸들러를 장악하고, 모든 INT13을 통한 하드디스크 입출력을 핸들링 하면서 하드디스크에 대한 동작제어를 하며; 시스템의 도스작동을 일시적으로 중단시키고 ROM프로그램 드라이버를 하드디스크의 소정위치에 보호처리루틴을 설정하여 보호작동을 수행하고; 하드디스크 상에 데이터를 한곳으로 집중하여 보호영역과 비 보호영역을 구분한 뒤 백업 파일을 생성하는 단계로 이루어진 컴퓨터 하드디스크의 데이터보호방법으로 구성되어있다.In addition, the present invention intercepts interrupt INT13 while performing a post process to install a ROM program, takes control of a disk protection interrupt handler, and controls operation of a hard disk while handling hard disk input / output through all INT13; Temporarily stops the DOS operation of the system and sets the ROM program driver at a predetermined position on the hard disk to perform a protection operation; It consists of a data protection method of a computer hard disk which consists of creating a backup file after dividing the protected and non-protected areas by concentrating the data on the hard disk in one place.

본 발명의 또 다른 실시예에 따르면, WINDOWS NT/2000의 입출력 계층, 파일시스템드라이버, 디스크 클래스 드라이버, 디스크포트 드라이버 및 디스크 미니포트 드라이버에 대하여, 하드디스크의 입출력을 장악하는 프로그램드라이버 수단이 파일시스템드라이버와 디스크 클래스 드라이버사이에 설정된다.According to still another embodiment of the present invention, a program driver means for controlling input and output of a hard disk is provided in a file system for an input / output layer, a file system driver, a disk class driver, a disk port driver, and a disk miniport driver of WINDOWS NT / 2000. Set between the driver and the disk class driver.

본 발명의 또 다른 실시예에 따르면, WINDOWS 95/98/ME의 입출력 계층으로 되는 디바이스 드라이브 VSD_9에 하드디스크의 입출력을 장악하는 프로그램드라이버 수단이 파일시스템드라이버 와 디스크 클래스 드라이버사이에 설정된다.According to another embodiment of the present invention, a program driver means for controlling input and output of a hard disk is set between the file system driver and the disk class driver in the device drive VSD_9 serving as the input / output layer of WINDOWS 95/98 / ME.

본 발명은 하드디스크에 백업파일을 생성하는데 있어 하드디스크의 데이터를 정리하기 전에 여러 조각으로 보호영역이 나누어져 있고 이렇게 여러 조각으로 나누어진 데이터를 정리하여 보호영역으로써 하나의 데이터로 만들며; 디스크 보호를 설정한 후 디스크 데이터를 백업하기 위한 백업파일을 생성하고; 여러 개 섹터를 하나의 블록으로 보고 상기 백업파일 내 해당 블록 매핑테이블을 만들며; 상기 하드디스크에 읽기/쓰기 동작이 발생하면 섹터번호를 가지고 비 보호영역 리스트에속하는지 검사하여 비 보호영역이면 운영체제에 제어권을 넘기고, 그렇지 않으면 디스크 보호모드에서 불록 매핑테이블에 매핑을 한 뒤 데이터를 블록 백업영역에 읽고 쓴 것을 그 특징으로 한다.According to the present invention, in generating a backup file on a hard disk, a protected area is divided into pieces before the data of the hard disk is sorted, and thus the data divided into pieces is sorted into a single piece of data as a protected area; Create a backup file for backing up the disk data after setting the disk protection; View several sectors as one block and create a corresponding block mapping table in the backup file; If a read / write operation occurs on the hard disk, it checks whether it belongs to an unprotected area list with a sector number. If it is an unprotected area, it transfers control to the operating system. It is characterized by reading and writing to the block backup area.

이하, 본 발명의 실시예를 예시도면에 의거하여 상세히 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 2 는 각각의 운영체제별로 보호프로그램이 설치되어 있는 유형을 나타낸 것인 바, 본 발명에 따른 디스크블록화를 통한 하드디스크의 데이터보호시스템 및 그 방법을 설명 하고자 한다.2 shows a type in which a protection program is installed for each operating system, and a system and method for protecting data of a hard disk through disk block according to the present invention will be described.

먼저, 도2A에서, 컴퓨터에 전원이 인가되면 POST(Power On Self Test)과정을 수행하고, 이 POST 과정중 ROM카드가 하드디스크(3, 10 : HDD DISK)의 데이터를 검사하여 컴퓨터 BIOS 인터럽터인 INT13 을 후크(HOOK)하여 동작을 시작하고 하드디스크의 입출력을 장악하여 디스크보호 인터럽트핸들러(11)를 설정한다. 이 인터럽트핸들러(11)는 시스템의 도스작동을 일시적으로 중단시키고 ROM프로그램 드라이버를 하드디스크의 소정위치에 보호처리루틴을 설정하여 보호작동을 수행하도록 한다. 이 ROM 프로그램드라이버는 하드디스크 상에 데이터를 한곳으로 집중하여 보호영역과 비 보호영역을 구분한 뒤 백업 파일을 블록화를 통하여 생성하는 디스크데이터 보호루틴을 수행한다.First, in FIG. 2A, when power is supplied to the computer, a POST (Power On Self Test) process is performed, and during this POST process, the ROM card checks the data of the hard disks (3, 10: HDD DISK) to be a computer BIOS interrupter. Hook INT13 to start the operation, take control of the hard disk I / O, and set the disk protection interrupt handler 11. The interrupt handler 11 temporarily stops the DOS operation of the system and sets the ROM program driver to a protection routine at a predetermined position on the hard disk to perform the protection operation. The ROM program driver concentrates the data on the hard disk in one place, divides the protected and non-protected areas, and executes a disk data protection routine that creates backup files by blocking them.

도2B의 윈도우 95/98/ME/NT/2000에 대한 경우, 전용 드라이버를 두어 하드디스크 입출력을 제어할 수 있다. 이를테면, 도 1(B)에 도시된 윈도우 NT/2000 의 입출력계층은 파일시스템드라이버(5), 디스크클래스 드라이버(6), 디스크 포트드라이버(7)및 디스크 미니포트드라이버(8)를 포함하게 되는 바, 본 발명에 따라 멀티드라이버(12), 즉 ROM드라이버를 파일시스템 드라이버(5)와 디스크클래스 드라이버 (6)사이에 삽입되어 하드디스크 입출력을 제어하게 된다.In the case of Windows 95/98 / ME / NT / 2000 of FIG. 2B, a dedicated driver may be provided to control hard disk input and output. For example, the input / output layer of Windows NT / 2000 shown in FIG. 1B includes a file system driver 5, a disk class driver 6, a disk port driver 7, and a disk miniport driver 8. According to the present invention, the multi-driver 12, that is, the ROM driver, is inserted between the file system driver 5 and the disk class driver 6 to control hard disk input and output.

도2C 에 도시된 윈도우 95/98/ME 인 경우에는, 계층디바이스 드라이브(13)의 VSD-9에 본 발명에 따라 ROM드라이버를 삽입하여 하드디스크 입출력을 제어하게 된다. 따라서, 상기 VSD-9 에다 보호처리 루틴을 삽입한다. 상기 계층디바이스 드라이브(13)에는 Reserved for IFS Manager, Installable File System, FSD extension --- VSD-8, VSD-9, Miscellaneous port driver ----- Socket driver, Reserved for IOS registry 등으로 되어 있다.In the case of Windows 95/98 / ME shown in Fig. 2C, the ROM driver is inserted into the VSD-9 of the hierarchical device drive 13 in accordance with the present invention to control hard disk input and output. Therefore, a protection routine is inserted into the VSD-9. The hierarchical device drive 13 includes Reserved for IFS Manager, Installable File System, FSD extension --- VSD-8, VSD-9, Miscellaneous port driver ----- Socket driver, Reserved for IOS registry, and the like.

도3은 디스크 보호프로그램이 설치된 후의 하드디스크상태를 나타낸 것으로, 하드디스크는 알루미늄 판의 프래터(PLATTER)를 실린더(헤드), 트랙 및 섹터순으로 나누어 구분하고, 시스템BIOS를 통해서 하드디스크를 사용할 대 0번 실린더, 0번 트랙, 1번 섹터에서부터 데이터를 읽어서 차례로 섹터 값을 높이게 된다.Fig. 3 shows the state of the hard disk after the disk protection program is installed. The hard disk is divided into an aluminum plate platter in the order of cylinder (head), track, and sector, and the hard disk can be used through the system BIOS. By reading data from cylinder 0, track 0, and sector 1, sector values are sequentially increased.

즉, 하드디스크(3, 10)를 펼쳐 도식화하면 데이터를 정리하기 전의 디스크표면으로 섹터번호(14)가 예컨데 0 - 99 (가로, 세로 0 - 9, 0 - 99)로 나누어지고, 이 하드디스크의 데이터가 여러 조각, 즉 0 - 13, 28 - 32, 35 - 38및 50 - 64 섹터로 나누어져 있다.That is, when the hard disks 3 and 10 are unfolded and illustrated, the sector number 14 is divided into 0-99 (horizontal, vertical 0-9, 0-99), for example, on the surface of the disk before the data is organized. Is divided into several pieces: 0-13, 28-32, 35-38, and 50-64 sectors.

따라서, 상기 하드디스크(3, 10)를 도시화할 때에는 데이터분포는 한 곳으로 집중되어 있는 것이 아니고 여러 조각으로 나누어져 있다. 데이터를 정리하기 전의 디스크표면은 섹터 수를 전술한 바와 같이 100으로 보고 있으나, 예컨대 1 기가바이트 크기의 하드디스크(3, 10)에는 2,000,000 개 정도의 섹터가 존재한다.Therefore, when the hard disks 3 and 10 are illustrated, the data distribution is not concentrated in one place but divided into pieces. The disk surface before the data is organized, the number of sectors is 100 as described above, but about 2,000,000 sectors exist in the 1 gigabyte hard disks 3 and 10, for example.

본 발명의 디스크보호 ROM프로그램을 설치하면 하드디스크(3, 10)의 데이터를 도 4 와 같이 정리하여 한 곳으로 집중시킨다. 즉, 데이터를 정리한 후의 디스크표면은 여러 조각으로 나누어진 데이터를 정리하여 하나의 데이터(예컨대 0 - 35 섹터)를 만든다. 따라서, 데이터를 한 곳으로 집중시켜 보호해야 할 곳과 보호하지 말아야 할 곳을 명확히 구분한 뒤 백업파일(예컨데 37 - 50 섹터)을 만들어 하드디스크(3, 10)에 보호한다. 상기 37 - 50 섹터의 백업파일은 일반적인 데이터와는 달리 연속적인 데이터형태를 갖추고 있다. 그러므로, 보호를 설정한 후의 디스크표면에는 하드디스크(3, 10)의 데이터를 백업하기 위한 백업파일이 블록단위로 전술한 바와 같이 생성되어 있다.When the disk protection ROM program of the present invention is installed, the data of the hard disks 3 and 10 are arranged as shown in FIG. 4 and concentrated in one place. In other words, the disk surface after arranging data organizes the data divided into pieces to form one data (for example, 0 to 35 sectors). Therefore, by centralizing the data in one place, clearly distinguishing where it should be protected and where it should not be protected, a backup file (for example 37-50 sectors) is created and protected on the hard disks (3, 10). The backup file of 37 to 50 sectors has a continuous data form unlike general data. Therefore, a backup file for backing up the data of the hard disks 3 and 10 is generated in block units as described above on the disk surface after the protection is set.

도 5 는 하드디스크의 데이터를 백업 받을 파일의 구조를 나타낸 것으로, 도 4 에 도시된 37 - 50 섹터인 백업파일 내에는 백업파일의 정보를 담아두는 백업파일헤드(20), 블록 매핑테이블(21)및, 보호영역의 데이터를 백업 받아두는 백업블록(22)등으로 구성되어 있다. 이 백업블록(22)에는 도면에서 확대된 바와 같이 백업 받은 블록의 정보를 받아두는 블록헤드(23)와 백업블록(24)등으로 구성되어 있다.FIG. 5 shows a structure of a file to be backed up with data of a hard disk. A backup file head 20 and a block mapping table 21 containing information of a backup file are included in a backup file having 37 to 50 sectors shown in FIG. And a backup block 22 for backing up data in the protected area. The backup block 22 is composed of a block head 23, a backup block 24, and the like, which receive information of the backed up block as enlarged in the figure.

도 6 에 도시된 보호를 설정한 다음의 디스크표면에는 하드디스크를 블록화한 도면으로 한 블록은 하나의 섹터보다 작을 수 없으며, 디스크의 크기에 따라 변할 수 있다. 여기서, 2 개의 섹터(예컨데 섹터번호(14)를 0 과 1로하여 각각 2 와 3, --- 98 과 99로 함)를 하나의 블록(예컨데 블록번호(15)를 0 - 49로 함) 으로 보고, 50 개의 블록매핑테이블(21)을 만든다. 그 일례로 127 개를 1 블록으로 보고 있을 수도 있다. 하나의 블록매핑테이블(21)의 크기는 4 바이트이고, 이곳에는 백업파일(25)내의 블록번호(15)가 저장되어진다.On the disk surface after setting the protection shown in Fig. 6, a block in which the hard disk is blocked may not be smaller than one sector, and may vary depending on the size of the disk. Here, two sectors (e.g., sector number 14 is 0 and 1, respectively, 2 and 3, and --- 98 and 99, respectively) are one block (e.g., block number 15 is 0-49). As shown, 50 block mapping tables 21 are created. For example, 127 may be viewed as one block. The size of one block mapping table 21 is 4 bytes, where the block number 15 in the backup file 25 is stored.

따라서, 하드디스크를 블록화 하면 백업파일(25)내에 블록매핑테이블(21)이 만들어지는 바, 이 블록의 수만큼 블록매핑테이블(21)에 엔트리가 만들어지고, 한개의 엔트리크기는 4 바이트이고 초기 설정값으로 - 1 이 엔트리에 들어간다.Therefore, when the hard disk is blocked, a block mapping table 21 is created in the backup file 25. An entry is made in the block mapping table 21 as many as the number of blocks. As set-1 enters this entry.

그러므로, 보호보드에서 하드디스크에 읽기/쓰기 동작이 발생하면 섹터번호를 가지고 비 보호영역 리스트에 속하는지 검사하여 비 보호영역이면 운영체제에 제어권을 넘기게 되고, 그렇지 않으면 이후 상세히 기재되는 ROM프로그램과 으용프로그램의 보호루틴에 따라 블록 매핑데이블에 매핑을 한 뒤 데이터를 블록 백업영역에 읽고/쓰게 된다.Therefore, if a read / write operation on the hard disk occurs in the protection board, it checks whether it belongs to the unprotected area list with the sector number, and if it is a non-protected area, it transfers control to the operating system. After mapping to the block mapping table according to the program's protection routine, data is read / written to the block backup area.

도 7A는 하드디스크의 보호영역(19)과 비 보호영역(18)을 정의한 것으로, 하드디스크에 작업, 즉 파일저장, 파일삭제 및 파일추가를 많이 하면 데이터는 도시된 바와 같이 여러 조각, 즉 보호영역(19)의 섹터번호(14)가 0 - 13, 28 - 32, 35 - 38, 50 - 64로 흩어져 있다. 그러면 데이터를 정리하기 전의 디스크표면에서 비 보호영역(18)리스트의 시작섹터(16)와 끝섹터(17)에는 14 와 27, 33 와 34, 39 와 49, 그리고 65 와 99로 되어 있다.FIG. 7A defines the protected area 19 and the unprotected area 18 of the hard disk. When a lot of work, ie file storage, file deletion, and file addition are performed on the hard disk, the data is divided into pieces, that is, protected as shown. The sector numbers 14 of the area 19 are scattered from 0-13, 28-32, 35-38, 50-64. Then, on the disk surface before the data is organized, the start sector 16 and the end sector 17 of the unprotected area 18 list are 14 and 27, 33 and 34, 39 and 49, and 65 and 99.

또 도 7B에 도시된 바와 같이, 하드디스크를 정리하더라도 지속적인 디스크정리를 하지 않으면 하드디스크의 데이터는 여러 조각으로 흩어진다. 여기서 보호영역(19)은 섹터번호(14)가 0 - 36 이고 비 보호영역(18)은 37 - 99이다. 따라서, 비 보호영역(18) 리스트는 데이터가 흩어져 있을 경우, 데이터가 없는 공간을 검색하여 시작지점과 끝점을 기억하여 보호영역(19)에서 제외시킨다.As shown in Fig. 7B, even when the hard disk is arranged, the data of the hard disk is scattered into pieces unless the disk is cleaned. In this case, the protection area 19 has sector numbers 14 of 0-36 and the non-protection area 18 of 37-99. Therefore, when the data is scattered, the non-protected area 18 list searches for a space without data, stores the start point and the end point, and excludes the protected area 19 from the list.

한편, ROM(READ ONLY MEMORY) 프로그램은 운영체제가 부팅 되기 전에 동작하는 프로그램으로, 컴퓨터시스템에 보호 프로그램설치, 보호할 영역설정, 비 보호할 영역설정, 사용자 계정, 도스 운영체제에서의 하드디스크보호를 담당한다. 만일, 하드디스크 자료가 불량이거나 프로그램을 설치한 연속적인 빈 공간은 하드디스크에서 찾을 수 없는 경우에는 조각모음 프로그램을 통하여 연속적인 공간을 만들고, 디스크 보호프로그램을 설치한 후에 윈도우드라이버 등이 동작할 수 있도록 설정정보와 로그인 정보를 만들어 하드디스크에 쓰고, 디스크 보호동작을 수행한다.On the other hand, ROM (READ ONLY MEMORY) program is a program that runs before the operating system is booted. It is responsible for installing a protection program on a computer system, setting the area to be protected, setting the area to be unprotected, user account, and hard disk protection in the DOS operating system. do. If the hard disk data is bad or the continuous empty space where the program is installed cannot be found on the hard disk, the defragmentation program creates the continuous space, and after installing the disk protection program, the Windows driver can operate. Create configuration information and login information to write to the hard disk, and perform disk protection.

이어, 디스크보호모드에서 ROM프로그램의 쓰기 알고리즘과 읽기 알고리즘에 대해 도8 내지 도9 에 의거하여 설명하면 다음과 같다.Next, the write algorithm and the read algorithm of the ROM program in the disk protection mode will be described with reference to Figs.

도8 은 보호모드에서 데이터 쓰기 루틴의 동작 흐름도이다. 먼저, 단계(5-1)에서 ROM드라이브가 하드디스크를 쓰기 루틴으로 설정하게 되면, 하드디스크의 입출력을 인터럽트핸들러를 통하여 제어하게된다. 단계(5-2)에서는 이미 운영체제에 의하여 사전에 설정된 도2 에 도시된 하드디스크(3, 10)의 쓰기 위치를 검사하게된다. 즉, 단계(5-3)에서는 파티션영역을 검사하도록 하드디스크(3, 10)에서 쓰기 섹터가 파티션 섹터보다 작으면, 단계(5-4)로 이전하여 이 파티션 영역이 존재하지 않는 것으로 판단하여 쓰기 오류로 인식하고 쓰기 방지에러로 리턴 한다(단계5-23). 만일, 쓰기 섹터가 파티션 섹터보다 크면 파티션영역이 존재하는 것으로 판단하여 보호영역을 검사하게된다. 단계(5-5)에서 쓰기 섹터가 드라이브섹터보다 작은가를 판단한다. 쓰기 섹터가 드라이브섹터보다 작으면 단계(5-7)에서 쓸곳의 섹터번호(N)에 크기(S)만큼 하드디스크(3, 10)의 데이터를 버퍼(B)에 채우게되고 데이터의 쓰기 작동을 하도록 운영체계를 이네이블 시킨다.8 is an operation flowchart of a data writing routine in the protected mode. First, when the ROM drive sets the hard disk as a write routine in step 5-1, the I / O of the hard disk is controlled through the interrupt handler. In step 5-2, the write positions of the hard disks 3 and 10 shown in Fig. 2 are already checked by the operating system. That is, in step 5-3, if the write sector in the hard disks 3 and 10 is smaller than the partition sector to check the partition area, the process moves to step 5-4 to determine that this partition area does not exist. Recognizes as a write error and returns to a write protection error (step 5-23). If the write sector is larger than the partition sector, it is determined that the partition area exists and the protected area is checked. In step 5-5, it is determined whether the write sector is smaller than the drive sector. If the write sector is smaller than the drive sector, in step 5-7, the data of the hard disks 3 and 10 is filled in the buffer B by the size S in the sector number N of the write destination and the write operation of the data is completed. Enable the operating system to

만일, 단계(5-5)에서 쓰기 섹터가 드라이브섹터보다 크면, 단계(5-6)로 이전하여 보호영역(19 : 도 7 참조) 인가를 판단한다. 보호영역이 아니면 단계(5-7)로 이전하고, 보호영역인 경우, 단계(5-8)에서 보호영역을 검사한다. 즉, 매핑테이블 캐시(C)에서 매핑데이터를 검사한다.If the write sector is larger than the drive sector in step 5-5, the process moves to step 5-6 to determine whether the protection area 19 (see Fig. 7) is applied. If it is not a protected area, the process moves to step 5-7, and if it is a protected area, the protected area is checked in step 5-8. That is, the mapping data is checked in the mapping table cache C.

그 다음, 단계(5-9)에서 현재의 모드가 하드디스크(3, 10)를 보호해야하는 보호 모드인지를 검사하게 되고, 해당블록의 매핑테이블이 캐시(C)에 있는가를 검사한다. 만일 없는 경우 단계(5-10)에서 백업파일에서 다른 매핑테이블을 읽고 단계(5-8)로 이전한다. 매핑테이블이 캐시(C)에 있는 경우, 단계(5-11)에서는 매핑테이블 캐시(C)에서 섹터번호가 속한 블록매핑테이블(21 : 도 5 및 도 6 참조)을 찾아 엔트리(E)값을 읽어 -1 인지를 검사한다. 단계(5-12)에서는 블록 매핑테이블(21)에서 엔트리값이 -1 이면 단계(5-14)로 이전하여 섹터번호(N)가 비 보호영역 리스트(도 7 참조)에 속하는 지를 검사하고, 속하지 않으면, 단계(5-15)와 (5-16)를 거치면서 매핑테이블에 할당된 백업파일의 블록파일을 블록번호를 엔트리(E)에 넣고 블록이 백업파일(25 : 도 5 및 도 6 참조)에 백업되어 있지 않기 때문에 블록을 백업파일(25)로 백업을 하고, 상기 비 보호 영역리스트에 속하면 백업을 하지 않는다.Then, in step 5-9, it is checked whether the current mode is a protection mode that should protect the hard disks 3 and 10, and whether the mapping table of the corresponding block is in the cache C. If not, the other mapping table is read from the backup file in step 5-10 and the procedure goes to step 5-8. If the mapping table is in the cache C, in step 5-11, the block mapping table 21 (refer to FIGS. 5 and 6) to which the sector number belongs is found in the mapping table cache C. Read to see if it is -1. In step 5-12, if the entry value is -1 in the block mapping table 21, the process moves to step 5-14 to check whether the sector number N belongs to the unprotected area list (see Fig. 7), If it does not belong, the block file of the backup file allocated to the mapping table goes through steps 5-15 and 5-16, and the block number is placed in the entry E, and the block is stored in the backup file 25 (Figs. 5 and 6). Block is backed up to the backup file 25, and if it belongs to the unprotected area list, no backup is performed.

또한 단계(5-12)에서 블록 매핑테이블(21)에서 엔트리 값이 -1 이 아니면 블록은 백업되어 있으므로 블록백업 작업은 하지 않고 단계(5-13)로 이전하여 다음블록이 존재하는지 검사한다. 만일 할당블록이 더 있는 경우 단계(5-8)로 점프하게된다. 모든 블록이 백업되어 있으면 단계(5-17)에서 캐시에 있는 매핑테이블중 변경된 테이블이 있으면 백업파일(25)에 데이터를 쓰게 된다.In addition, if the entry value is not -1 in the block mapping table 21 in step 5-12, the block is backed up, and thus, the block is backed up and the process proceeds to step 5-13 to check whether the next block exists. If there are more allocation blocks, then jump to step 5-8. If all blocks have been backed up, in step 5-17, if there is a changed table among the mapping tables in the cache, data is written to the backup file 25.

그러므로, 단계(5-18)에서는 쓰기 섹터번호는 블록의 시작과 같지 않을 수도 있음으로, 블록내의 쓰기 섹터번호에서 블록 끝까지의 크기(Sw)를 구한다. 이후 쓰기에 해당하는 섹터들만 백업파일(25)내의 백업된 블록(22)에 데이터를 쓰게되는데, 단계(5-19)에서는 섹터번호(N)의 블록이 백업파일에 매핑된 섹터번호(B)를 구한다. 단계(5-20)에서는 쓸 섹터가 남았다면 블록 크기(Sw)만큼 섹터번호(B)를 쓴다. 단계(5-21)에서는 전체섹터(S)에서 쓰기가 이루어진 섹터크기(Sw)를 제하여 단계(5-22)에서 더 이상의 쓰기 작동이 가능한가를 검사한다. 단계(5-22)에서는 여분의 섹터의 크기를 판단하여 동일한 작업을 다시 수행하고 그렇지 않으면 작업을 종료한다.Therefore, in step 5-18, the write sector number may not be the same as the start of the block, so the size Sw from the write sector number in the block to the end of the block is obtained. Thereafter, only the sectors corresponding to the write write data to the backed up block 22 in the backup file 25. In step (5-19), the sector number (B) in which the block of sector number (N) is mapped to the backup file is written. Obtain In step 5-20, if there are remaining sectors to be written, the sector number B is written by the block size Sw. In step 5-21, it is checked whether further write operations are possible in step 5-22 by subtracting the sector size Sw in which writing is performed in the entire sector S. In step 5-22, the size of the spare sector is determined, and the same operation is performed again. Otherwise, the operation is terminated.

도 9 는 보호모드에서 읽기 루틴의 동작흐름도이다. 먼저, 단계(6-1)에서 ROM드라이브가 하드디스크를 읽기 루틴으로 설정하게 되면, 하드디스크의 입출력을 인터럽트핸들러를 통하여 제어하게된다. 단계(6-2)에서는 이미 운영체제에 의하여 사전에 설정된 도2 에 도시된 하드디스크(3, 10)의 수정위치를 검사하게된다. 즉, 하드디스크(3, 10)에서 읽기가 발생한 곳이 어디인지를 검사하고 단계(6-3)에서는 읽기 섹터와 파티션영역을 비교하게되는데 하드디스크(3, 10)에서 읽기 섹터가 파티션 섹터보다 크면 파티션영역으로 판단하고, 쓰기 작업에서 백업작업이 이루어지지 않는 영역이므로, 단계(6-12)로 점프하여 도2 에 도시된 하드디스크(3, 10)에읽기 위치의 섹터번호(N)에서 크기(S)만큼 하드디스크(3, 10)의 데이터를 읽고 데이터를 버퍼(B)에 채운다음 데이터의 읽기 작동을 하도록 운영체계를 이네이블 시킨다.9 is a flowchart of the operation of the read routine in the protected mode. First, when the ROM drive sets the hard disk as a read routine in step 6-1, the I / O of the hard disk is controlled through the interrupt handler. In step 6-2, the modification positions of the hard disks 3 and 10 shown in Fig. 2 already set by the operating system are examined. That is, it examines where the read occurs on the hard disks 3 and 10 and compares the read sectors with the partition areas in step 6-3. In the hard disks 3 and 10, the read sectors are compared to the partition sectors. If it is large, it is determined as a partition area, and since the backup operation is not performed in the write operation, the process jumps to step 6-12 and at the sector number N of the read position on the hard disks 3 and 10 shown in FIG. The operating system reads the data of the hard disks 3 and 10 by the size S, fills the data into the buffer B, and then enables the operating system to read the data.

만일, 단계(6-3)에서 읽기 섹터가 파티션섹터보다 작고, 단계(6-4)에서 읽기 섹터가 드라이브섹터보다 작은 것으로 판단되고, 단계(6-4)에서 읽기 섹터가 드라이브 섹터보다 크지만 단계(6-5)에서 읽기 섹터가 보호영역이 아닌 것으로 판단되면, 단계(6-12)로 점프하게되어 하드디스크(3, 10)의 섹터번호(N)에서 크기(S)만큼 하드디스크(3, 10)의 데이터를 읽어 버퍼(B)에 채우게되고 데이터의 읽기 작동을 하도록 운영체계를 이네이블 시킨다.If the read sector is smaller than the partition sector in step 6-3, the read sector is smaller than the drive sector in step 6-4, and the read sector is larger than the drive sector in step 6-4, If it is determined in step 6-5 that the read sector is not the protected area, the process jumps to step 6-12, where the hard disk (S) equals the size S by the sector number N of the hard disks 3 and 10. Read the data of 3, 10) to fill the buffer (B) and enable the operating system to read the data.

한편, 단계(6-5)에서 읽기 섹터가 보호영역(19 : 도 7 참조)으로 판단되면, 단계(6-6)에서 보호영역을 검사한다. 즉, 매핑테이블 캐시(C)에서 매핑데이터를 검사한다. 단계(6-7)에서 현재의 모드가 하드디스크(3, 10)를 보호해야하는 보호 모드인지를 판단하게 되고, 해당블록의 매핑테이블이 캐시(C)에 있는가를 검사한다. 만일 없는 경우 단계(6-8)에서 백업파일에서 다른 매핑테이블을 읽고 단계(6-6)로 이전한다. 매핑테이블이 캐시(C)에 있는 경우, 단계(6-9)에서는 매핑테이블 캐시(C)에서 섹터번호가 속한 블록매핑테이블(21 : 도 5 및 도 6 참조)을 찾아 엔트리(E)값을 읽고 단계(6-10)에서 엔트리 값이 -1인지를 판단한다.On the other hand, if it is determined in step 6-5 that the read sector is the protected area 19 (see Fig. 7), the protected area is checked in step 6-6. That is, the mapping data is checked in the mapping table cache C. In step 6-7, it is determined whether the current mode is a protection mode to protect the hard disks 3 and 10, and it is checked whether the mapping table of the corresponding block is in the cache C. If not, the other mapping table is read from the backup file in step 6-8 and the procedure goes to step 6-6. If the mapping table is in the cache C, in step 6-9, the mapping table cache C finds the block mapping table 21 (see FIGS. 5 and 6) to which the sector number belongs, and returns the entry E value. Read and determine in step 6-10 if the entry value is -1.

만일, 단계(6-10)에서 블록 매핑테이블(21)에서 엔트리값이 -1 이면 단계(6-11)에서 다음 읽을 블록이 있는지 검사하여, 없으면 하드디스크(3, 10)에서 읽을 섹터번호의 데이터를 읽어 버퍼(B)에 채운 운영체제를 이네이블 한다. 만일 다음의 읽기 블록이 없다면, 단계(6-5)로 점프한다.If the entry value is -1 in the block mapping table 21 in step 6-10, it is checked whether there is a next block to be read in step 6-11, and if there is no sector number to be read from the hard disks 3 and 10, Read the data and enable the operating system that fills the buffer (B). If there is no next read block, jump to step 6-5.

반대로, 단계(6-10)에서 블록 매핑테이블(21)에서 엔트리 값이 -1이 아니면, 단계(6-13)로 이전하여, 매핑된 블록에서 일기 섹터번호에서 블록 끝까지의 크기(Sr)를 구한다. 단계(6-14)에서는 읽기에 해당하는 섹터들만 백업파일(25)내의 백업된 블록(22)의 데이터를 읽게 되는데, 섹터번호(N)의 블록에서 백업파일에 매핑된 섹터번호(Nr)를 구한다. 단계(6-15)에서는 섹터번호(Nr)에서 읽기 섹터가 남았다면 블록 크기(Sr)만큼 데이터를 읽어 버퍼(B)에 채운다. 단계(6-15)에서는 전체섹터(S)에서 읽기가 이루어진 섹터크기(Sr)를 제하고 단계(6-17)에서 더 이상의 일기 작동이 가능한가를 검사한다. 단계(6-17)에서는 여분의 섹터의 크기를 판단하여 단계(6-13)으로 점프하여 동일한 작업을 다시 수행하고 그렇지 않으면 작업을 종료한다.Conversely, if the entry value is not -1 in the block mapping table 21 in step 6-10, the process proceeds to step 6-13 to determine the size Sr from the diary sector number to the end of the block in the mapped block. Obtain In steps 6-14, only the sectors corresponding to the read read the data of the backed up block 22 in the backup file 25. In the block of the sector number N, the sector number Nr mapped to the backup file is read. Obtain In step 6-15, if a read sector remains in the sector number Nr, data is read by the block size Sr and filled in the buffer B. In step 6-15, the sector size Sr that has been read in all sectors S is subtracted, and in step 6-17 it is checked whether further diary operation is possible. In step 6-17, the size of the spare sector is determined and the process jumps to step 6-13 to carry out the same operation again, otherwise the operation ends.

도 10 은 보호프로그램이 동작된 후의 하드디스크상태와 데이터가 백업되어 있는 상태를 나타낸 것으로, 도 2 내지 도 7 에 도시된 하드디스크(3, 10)를 근거하여 도 5 에 도시된 백업파일(25)은 도 6 과 도 7 의 디스크표면과 블록 매핑테이블(21)을 통해 설명한다. 비 보호영역(18) 리스트의 영역에 읽기/쓰기가 발생하면 백업 없이 해당 영역에 읽거나 쓴다.FIG. 10 shows a state of the hard disk after the protection program is operated and a state in which data is backed up. The backup file 25 shown in FIG. 5 is based on the hard disks 3 and 10 shown in FIGS. ) Will be described with reference to the disk surface and block mapping table 21 of FIGS. 6 and 7. If a read / write occurs in an area of the unprotected area 18 list, it is read or written to the area without backup.

하드디스크(3, 10)를 도 6 과 같이 블록화할 때 블록번호는 0 을 베이스 값으로 시작하여 블록번호를 매긴다. 상기 백업파일(25)내의 블록(22)들 역시 0 을 베이스값으로 시작하여 블록번호를 매긴다. 상기 블록매핑테이블(21)에서 -1 은 사용되지 않고 있음을 나타내고 있다. 하드디스크(3, 10)에 대하여 1 번 블록에쓰기가 발생하면 블록은 백업파일(25)내의 0 번 블록에 백업되며, 블록 매핑테이블(21)의 1 번 엔트리에는 백업파일(25)내의 블록번호 0 이 들어가게 된다.When the hard disks 3 and 10 are blocked as shown in Fig. 6, the block numbers are numbered starting with 0 as a base value. The blocks 22 in the backup file 25 are also numbered starting with 0 as the base value. In the block mapping table 21, -1 indicates that it is not used. If writing to block 1 occurs on the hard disks 3 and 10, the block is backed up to block 0 in the backup file 25, and block 1 in the backup file 25 is located in entry 1 of the block mapping table 21. The number 0 will be entered.

다른 블록 역시 5 번 블록에 쓰기가 발생하면 블록은 백업파일(25)내의 1 번 블록에 백업되며, 블록 매핑테이블(21)의 5 번 엔트리에는 백업파일(25)내의 블록번호 1 이 들어가게 된다. 하드디스크(3, 10)에 대하여 1 번 블록에 읽기가 발생하면 블록 매핑테이블(21)에는 백업파일 0 번에 백업된다고 나타나므로, 백업파일(25)내의 0 번 블록을 읽어 버퍼내의 데이터를 채운다.If another block is also written to block 5, the block is backed up to block 1 in the backup file 25, and block number 1 in the backup file 25 is entered into entry 5 of the block mapping table 21. If a read occurs in block 1 of the hard disks 3 and 10, the block mapping table 21 indicates that the backup file is backed up to the backup file 0. Therefore, the block 0 is read in the backup file 25 to fill the data in the buffer. .

한편, 비 보호영역(18)에 대한 하드디스크 엑세스는 백업이 이루어지지 않으므로 블록매핑 테이블(21)에 대한 작업도 이루어지지 않는다.On the other hand, since the hard disk access to the unprotected area 18 is not backed up, the operation on the block mapping table 21 is not performed.

도 11 은 하드디스크 데이터를 정리하는 프로그램의 동작흐름도로써, FAT(File Allocation Table)은 디스크포맷을 일컫는 것으로 하드디스크상의 저장공간을 구성하는 방법이며 대부분의 운영체제가 읽을 수 있기 때문에 인지도가 가장 높은 디스켓포맷인 것이다. 하드디스크를 셋팅할 때 먼저 파티션을 나누어주는데, 도스는 FAT16 의 파티션을 사용하고 상기 하드디스크를 클러스터란 단위로 나눠서 관리하는 방식이고, 여기서 16 은 클러스터의 조각단위가 총 65536 개의 조각까지 나눠서 사용 가능하다. WINDOW 95 OSR2 는 FAT32 의 파티션을 사용하고, WINDOW NT 는 NTFS(NT FILE SYSTEM) 라는 파일시스템(파티션)을 갖고 있다.11 is a flowchart illustrating a program for arranging hard disk data, and FAT (File Allocation Table) refers to a disk format, a method of organizing storage space on a hard disk. It's a format. When setting up a hard disk, partitioning is done first, and DOS uses a partition of FAT16 and divides and manages the hard disk in clusters, where 16 is a slice unit of the cluster, which can be divided into a total of 65536 pieces. Do. WINDOW 95 OSR2 uses a FAT32 partition, and WINDOW NT has a file system (partition) called NTFS (NT FILE SYSTEM).

상기 FAT16, FAT32의 조각모음 작업은 먼저 하드디스크(3, 10)의 파티션에서 각각의 파티션정보를 추출한다. 하드디스크 입출력을 최소화시키기 위하여 확장메모리에 캐시 버퍼를 할당한다. 상기 파티션 정보에서 BOOT 섹터를 얻어서 BOOT 섹터에서 조각모음에 필요한 FAT1, FAT2, 섹터당 클러스터, 섹터수등을 얻을 수 있다.The defragmentation operation of FAT16 and FAT32 first extracts respective partition information from partitions of the hard disks 3 and 10. Allocate a cache buffer in extended memory to minimize hard disk I / O. By obtaining a BOOT sector from the partition information, FAT1, FAT2, clusters per sector, the number of sectors, etc. required for defragmentation can be obtained.

먼저, FAT16 인 경우에는 파일할당 테이블의 클러스터가 파일인지 디렉토리 클러스터를 구분하기 위한 버퍼를 확장메모리에 할당한다. ROOT 디렉토리를 시작으로 B-Tree 방식으로 파티션에 있는 디렉토리를 검색하면서 디렉토리, 파일 레코드정보를 확장메모리에 저장한다. FAT 정보로 조각모음을 할 것인가를 결정하고 FAT에서 빈공간, 옮길 공간클러스터 정보를 추출한다.First, in the case of FAT16, a buffer for distinguishing whether a cluster of a file allocation table is a file or a directory cluster is allocated to the extended memory. Starting from the ROOT directory, the directory and file record information are stored in the extended memory by searching the directories in the partition using the B-Tree method. Decide whether to defragment with FAT information, and extract free space and spatial cluster information to move from FAT.

상기 옮길 클러스터가 파일이면 클러스터 데이터를 옮기고 파일레코드정보를 갱신한다. 상기 옮길 클라스터가 디렉토리면 서브디렉토리정보를 모두 갱신하고, 파일레코드 정보를 갱신한다. 상기 옮길 클러스터가 더이상 없으면 FAT1과 FAT2를 동기화시키고 조각모음을 끝낸다.If the cluster to be moved is a file, the cluster data is moved and the file record information is updated. If the cluster to be moved is a directory, all subdirectory information is updated, and file record information is updated. If there are no more clusters to move, synchronize the FAT1 and FAT2 and finish the defragmentation.

상기 NTFS 의 조각모음 작업은 전술한 FAT16, FAT23 처럼 BOOT 섹터에서 NTFS 조각모음에 필요한 MFT(MASTER FILE TABLE) 위치정보, 클러스터들의 정보를 추출한다. MFT의 비트맵을 분석하여 조각모음을 할 것인지를 검사한다. MFT 데이터에서 빈 런리스트를 분석한다. MFT 데이터에서 사용한 런리스트를 분석한다. 사용한 런리스트에서 옮길 LCN(LOGICAL CLUSTER NUMBER) 이 있는지 검사하고 있으면 클러스터데이터를 옮기고 옮긴 파일의 런리스트를 갱신하다. 옮길 LCN이 없으면 MFT 파일레코드를 동기화시키고 MFT BOOT 정보를 갱신하고 종료한다.The NTFS defragmentation operation extracts MFT (MASTER FILE TABLE) location information and cluster information necessary for NTFS defragmentation from the BOOT sector as described above with FAT16 and FAT23. Analyze the bitmap of the MFT to see if it should be defragmented. Analyze empty runlists in MFT data. Analyze the runlist used in the MFT data. If you are checking if there is an LCN (LOGICAL CLUSTER NUMBER) to move in the used runlist, move the cluster data and update the runlist of the moved file. If there is no LCN to move, synchronize the MFT file record, update the MFT BOOT information, and exit.

도 12A는 네트워크를 이용한 보호프로그램이 설치된 시스템관리도로써, 도12(A)에 도시된 서버(30)에는 각각의 호스트를 모니터링및 제어를 할 수 있는 마스트프로그램이 설치되어 있다. 이 서버(30)에는 네트워크를 통해 본 발명의 보호프로그램이 설치된 컴퓨터(31)과, 상기 서버(30)에 클라이언트 정보및 제어에 응답하는 호스트프로그램이 설치되어 있는 클라이언트 컴퓨터(32, 33)가 각각 접속되어 있다.FIG. 12A is a system management diagram in which a protection program using a network is installed. The server 30 shown in FIG. 12A is provided with a mast program for monitoring and controlling each host. The server 30 includes a computer 31 in which the protection program of the present invention is installed via a network, and client computers 32 and 33, each of which is provided with a host program that responds to client information and control in the server 30, respectively. Connected.

따라서, 상기 서버(30)에서는 랜(LAN)상의 컴퓨터(31 - 33)의 정보(전원 온/오프상태(피그체크), 보호프로그램 모드, 버전, 운영체제)를 알 수 있고, 전원관리 및 보호 프로그램 모드전환, 키보드/마우스 잠금을 원격으로 동시에 제어가 가능하다. 또한, WAN상의 컴퓨터를 IP 어드레스를 통해 랜상의 컴퓨터와 동일한 제어가 가능하다.Therefore, the server 30 can know the information (power on / off state (pig check), protection program mode, version, operating system) of the computers 31-33 on the LAN, power management and protection program Simultaneous remote control of mode switching and keyboard / mouse lock is possible. In addition, the computer on the WAN can be controlled identically to the computer on the LAN through an IP address.

도 12B 에 도시된 마스트프로그램(37)은 네트워크(34)를 통해 클라이언트의 정보를 읽고, 키보우드와 마우스, 전원및 보호프로그램(36)의 모드를 제어한다. 호스트프로그램(35)은 상기 마스트프로그램(37)에 클라이언트의 정보를 제공하고 제어명령을 제어한다. 보호프로그램 드라이버(36)는 호스트프로그램(35)의 모드변경 명령을 수행한다.The mast program 37 shown in FIG. 12B reads the client's information via the network 34 and controls the modes of keyboard and mouse, power and protection program 36. The host program 35 provides the client program information to the master program 37 and controls the control command. The protection program driver 36 executes a mode change command of the host program 35.

따라서, 호스트프로그램(35)은 서버(30)에게 자신의 운영체제, 보호프로그램의 현재정보를 알려준다. 유동 IP를 사용할 경우 클라이언트는 자신의 MAC 어드레스를 구해 서버에게 전송한다. 상기 서버(30)로부터의 모드변경 신호를 받으면 보호프로그램 드라이버(36)에게 서버(30)로부터의 신호를 전달한다. 상기 보호프로그램 드라이버(36)는 이 신호를 받아서 서버(30)가 원하는 동작을 하게 된다.Therefore, the host program 35 informs the server 30 of the current information of its operating system and protection program. When using dynamic IP, the client obtains its MAC address and sends it to the server. Upon receiving the mode change signal from the server 30, the protection program driver 36 transmits the signal from the server 30. The protection program driver 36 receives this signal to perform the desired operation of the server 30.

이상 설명한 바와 같이, 본 발명에 의하면, 컴퓨터의 POST과정 중에 디스크보호 인터럽트핸들러를 설치하여 하드디스크의 입출력을 장악하고 바이오스 인터럽트핸들러를 제어하므로 운영체제의 부팅전에 하드디스크의 보호를 달성하도록 한다.As described above, according to the present invention, the disk protection interrupt handler is installed during the POST process of the computer, thereby controlling the input and output of the hard disk and controlling the BIOS interrupt handler, thereby achieving protection of the hard disk before booting the operating system.

또한 본 발명은 디스크블록화를 통하여 하드디스크를 관리하므로 컴퓨터의 POST과정 중에 디스크보호 인터럽트핸들러를 설치하여 하드디스크의 입출력을 장악하고 바이오스 인터럽트핸들러를 제어하므로 운영체제의 부팅전에 하드디스크의 보호를 달성하도록 한다. 하드디스크 전체를 보호영역으로 지정할 수 있고 하드디스크의 90% 이상을 활용할 수 있을 뿐만 아니라 하드디스크에 있는 내용을 어떤 상태로 만들어 놔도 빠르고 완벽하게 컴퓨터를 보호하고 복구해주는 하드디스크 데이터를 보호하는 시스템 및 그 제어하는 방법을 제공할 수 있다.In addition, the present invention manages the hard disk through disk block, so that the disk protection interrupt handler is installed during the POST process of the computer to control the input and output of the hard disk and control the BIOS interrupt handler to achieve the protection of the hard disk before booting the operating system . It is possible to designate the entire hard disk as a protected area, utilize more than 90% of the hard disk, and to protect the hard disk data quickly and completely, even if the contents of the hard disk are in any state, It is possible to provide a method for controlling the same.

또한, 본 발명의 디스크블록화를 통한 하드디스크 보호방법에 대한 기술사상을 예시도면에 의거하여 설명했지만, 이는 본 발명의 가장 양호한 실시예를 예시적으로 설명한 것이지 본 발명을 한정하는 것은 아니다. 본 발명은 이 기술분야의 통상 지식을 가진 자라면 누구나 본 발명의 기술사상의 범주를 이탈하지 않는 범위내에서 다양한 변형 및 모방이 가능함은 명백한 사실이다.In addition, although the technical idea of the method for protecting a hard disk through the disk block of the present invention has been described based on the exemplary drawings, the present invention has been described by way of example and is not intended to limit the present invention. It is apparent that the present invention can be variously modified and imitated by those skilled in the art without departing from the scope of the technical idea of the present invention.

Claims (12)

디스크 블록화를 통한 컴퓨터 하드디스크의 데이터 보호시스템에 있어서,In the data protection system of a computer hard disk through disk blocking, ROM프로그램으로 구성되며, 컴퓨터에 전원이 들어와서 운영(OS)체제가 부팅 되기 전에 DOS 인터럽트핸들러와 바이오스인터럽트 핸들러를 장악하고 도스 모드 프로그램을 불러오는 ROM 카드수단; 하드디스크에 사전에 기록되어 시스템의 도스작동을 중단시키고 하드디스크의 보호를 수행하는 프로그램 드라이버수단과; 현재 작동모드를 표시하고 보호모드인 경우 백업영역의 크기를 표시하는 응용프로그램부들로 이루어진 컴퓨터 하드디스크의 데이터보호 시스템.ROM card means composed of a ROM program, which controls the DOS interrupt handler and the BIOS interrupt handler and loads a DOS mode program before the computer is powered on and the operating system is booted; Program driver means previously recorded in the hard disk to interrupt DOS operation of the system and to protect the hard disk; Data protection system of a computer hard disk consisting of application program parts which display the current operation mode and the size of the backup area in the protection mode. 제 1항에 있어서,The method of claim 1, WINDOWS NT/2000의 입출력 계층에 대하여, 파일시스템드라이버, 디스크 클래스 드라이버, 디스크포트 드라이버 및 디스크 미니포트 드라이버에 대하여, 하드디스크의 입출력을 장악하는 프로그램드라이버 수단이 파일시스템드라이버와 디스크 클래스 드라이버사이에 설치한 컴퓨터 하드디스크의 데이터보호 시스템.For the WINDOWS NT / 2000 I / O layer, for the file system driver, disk class driver, disk port driver, and disk miniport driver, a program driver means for controlling the hard disk I / O is installed between the file system driver and the disk class driver. Data protection system of a computer hard disk. 제 1항에 있어서,The method of claim 1, WINDOWS 95/98/ME의 입출력 계층에 대하여, 디바이스 드라이브 VSD_9에 하드디스크의 입출력을 장악하는 프로그램드라이버 수단이 파일시스템드라이버 와 디스크 클래스 드라이버사이에 설치된 컴퓨터 하드디스크의 데이터보호 시스템.The data protection system of a computer hard disk installed in the device I / O layer of WINDOWS 95/98 / ME by means of a program driver means for securing the hard disk I / O to the device drive VSD_9. 디스크 블록화를 통한 컴퓨터 하드디스크의 데이터 보호방법에 있어서,In the data protection method of a computer hard disk through disk blocking, ROM프로그램을 설치하기 위하여 포스트 과정을 수행하면서 인터럽트 INT13을 가로채어 디스크보호 인터럽트핸들러를 장악하는 단계;Intercepting interrupt INT13 to secure a disk protection interrupt handler while performing a post process to install a ROM program; 모든 INT13을 통한 하드디스크 입출력을 핸들링 하면서 하드디스크에 대한 동작제어를 하는 단계;Controlling operation of the hard disk while handling all the hard disk inputs and outputs through the INT13; 시스템의 도스작동을 일시적으로 중단시키고 ROM프로그램 드라이버를 하드디스크의 소정위치에 보호처리루틴을 설정하여 보호작동을 수행하는 단계와;Temporarily stopping the DOS operation of the system and setting the ROM program driver at a predetermined position on the hard disk to perform a protection operation; 하드디스크 상에 데이터를 한곳으로 집중하여 보호영역과 비 보호영역을 구분한 뒤 백업 파일을 생성하는 단계로 이루어진 컴퓨터 하드디스크의 데이터보호방법.A data protection method of a computer hard disk comprising the steps of concentrating data on a hard disk in one place to separate a protected area from a non-protected area and then generating a backup file. 제 4항에 있어서,The method of claim 4, wherein 하드디스크에 백업파일을 생성하는데 있어,To create a backup file on your hard disk, 하드디스크의 데이터를 정리하기 전에 여러 조각으로 보호영역이 나누어져 있고 이렇게 여러 조각으로 나누어진 데이터를 정리하여 보호영역으로써 하나의 데이터로 만들며;Before the data on the hard disk is organized, the protected area is divided into several pieces, and the data divided into several pieces is organized into a single piece of data as a protected area; 디스크 보호를 설정한 후 디스크 데이터를 백업하기 위한 백업파일을 생성하고;Create a backup file for backing up the disk data after setting the disk protection; 여러 개 섹터를 하나의 블록으로 보고 상기 백업파일 내 해당 블록 매핑테이블을 만들며; 상기 하드디스크에 읽기/쓰기 동작이 발생하면 섹터번호를 가지고 비 보호영역 리스트에 속하는지 검사하여 비 보호영역이면 운영체제에 제어권을 넘기고;View several sectors as one block and create a corresponding block mapping table in the backup file; If a read / write operation occurs on the hard disk, check whether the hard disk belongs to an unprotected area list, and if not, transfer control to the operating system; 그렇지 않으면 디스크 보호모드에서 불록 매핑테이블에 매핑을 한 뒤 데이터를 블록 백업영역에 읽고 쓰게 한 컴퓨터 하드디스크의 데이터보호방법.Otherwise, the data protection method of a computer hard disk that maps to a block mapping table in disk protection mode and then reads and writes data to the block backup area. 제 4 항에 있어서,The method of claim 4, wherein 상기 도스운영체제 대신에 윈도우 95/98/ME/NT/2000에서는 전용 드라이버를 두어 하드디스크 입출력을 제어한 것을 특징으로 하는 디스크블록화를 통한 컴퓨터 하드디스크의 데이터 보호방법.In Windows 95/98 / ME / NT / 2000 in place of the DOS operating system, a dedicated driver to control the hard disk input and output, characterized in that the computer hard disk data protection method through the disk block. 제 4 항에 있어서,The method of claim 4, wherein 상기 전용드라이버가 멀티드라이버 또는 보호루틴을 삽입하는 VSD-9 인 것을 특징으로 하는 디스크블록화를 통한 컴퓨터의 하드디스크의 데이터보호방법.And said dedicated driver is a VSD-9 into which a multi-driver or a protection routine is inserted. 제 4 항에 있어서,The method of claim 4, wherein 상기 백업파일에는 백업파일의 정보를 담아두는 백업파일헤드, 블록 매핑테이블및, 보호영역의 데이터를 백업 받아두는 백업블록등으로 구성되어 있는 것을 특징으로 하는 디스크블록화를 통한 컴퓨터의 하드디스크의 데이터보호방법.The backup file includes a backup file head for storing information of the backup file, a block mapping table, and a backup block for backing up data in a protected area. Way. 제 8 항에 있어서,The method of claim 8, 상기 백업블록에는 백업받은 블록의 정보를 받아두는 블록헤드와 백업블록등으로 구성되어 있는 것을 특징으로 하는 디스크블록화를 통한 컴퓨터의 하드디스크의 데이터보호방법.The backup block comprises a block head for receiving the information of the backed up block and the backup block, characterized in that the data protection method of the hard disk of the computer through the disk block. 제 4 항에 있어서,The method of claim 4, wherein 하나의 블록매핑테이블의 크기는 4 바이트이고, 이곳에는 백업파일내의 블록번호가 저장되어진 것을 특징으로 하는 디스크블록화를 통한 컴퓨터의 하드디스크의 데이터보호방법.The size of one block mapping table is 4 bytes, where the block number in the backup file is stored. 제 4 항에 있어서,The method of claim 4, wherein 각 운영체제로부터 하드디스크에 쓰기가 발생하면 쓸곳의 섹터번호와 크기및 데이터가 담긴 버퍼를 받고, 상기 하드디스크에서 쓰기가 발생한 곳이 어디인지를 검사하여 파티션영역이 아니면 보호영역인지를 검사하며;Receiving a buffer containing a sector number, a size, and data of a writing destination when writing to the hard disk from each operating system, and checking where the writing occurs on the hard disk to check whether the partition is a partition area or a protected area; 상기 파티션영역이 보호영역이면 현재의 모드가 하드디스크를 보호해야하는 보호 모드인지의 검사, 그렇지 않으면 원래의 섹터번호에 데이터를 쓰며, 현재의 모드가 보호모드이면 매핑테이블 캐시에서 섹터번호가 속한 블록매핑테이블을 찾아 엔트리값을 읽어 -1 인지를 검사하고;If the partition area is a protected area, check whether the current mode is a protected mode that should protect the hard disk. Otherwise, write data to the original sector number. If the current mode is a protected mode, block mapping to which the sector number belongs in the mapping table cache. Find the table and read its entry to see if it is -1; 상기 블록 매핑테이블에서 엔트리값이 -1 이면 섹터번호가 비보호영역 리스트에 속하는지를 검사하여 속하지 않으면, 블록이 백업파일에 백업되어 있지 않기 때문에 블록을 백업파일로 백업을 하고 상기 비보호 영역리스트에 속하면 백업을 하지 않으며;If the entry value is -1 in the block mapping table, if the sector number does not belong to the unprotected area list, the block is not backed up in the backup file. No backup; 상기 블록 매핑테이블에서 엔트리값이 -1 이 아니면 블록은 백업되어 있으므로 블록백업 작업은 하지 않고 다음 블록이 존재하는지 검사하고, 모든 블록이 백업되어 있으면 백업파일에 데이터를 쓰고;If the entry value is not -1 in the block mapping table, the block is backed up, and thus the block is not backed up, and the next block is checked. If all the blocks are backed up, data is written to the backup file; 블록내의 쓰기 섹터번호에서 블록끝까지의 크기를 구하여 쓰기에 해당하는 섹터들만 백업파일내의 백업된 블록에 데이터를 쓰고, 만일 쓸 섹터가 남았다면 동일한 작업을 다시 수행하고 그렇지 않으면 작업을 종료한 것을 특징으로 하는 디스크블록화를 통한 컴퓨터의 하드디스크의 데이터보호방법.It calculates the size from the write sector number in the block to the end of the block, and writes only the sectors corresponding to the write to the backed up block in the backup file.If there are remaining sectors to write, the same operation is performed again. Data protection method of the hard disk of a computer through the disk block. 제 4 항에 있어서,The method of claim 4, wherein 각 운영체제로부터 하드디스크에 읽기가 발생하면 읽을 곳의 섹터번호와 크기 및 데이터를 담을 버퍼를 받고, 상기 하드디스크에서 읽기가 발생한 곳이 어디인지를 검사하여 파티션영역이면 쓰기 작업에서 백업작업이 이루어지지 않는 영역이므로, 읽을 섹터번호에서 하드디스크를 읽어 버퍼에 채운 다음 작업을 종료하고;When the hard disk reads from each operating system, it receives a buffer containing the sector number, size, and data of the read destination, and checks where the read occurs on the hard disk. The hard disk is read from the sector number to be read, filled with the buffer, and the operation ends; 모드가 보호모드이고 보호영역이면 블록매핑 테이블캐시에서 섹터번호가 속한 블록 매핑테이블을 찾아 엔트리값을 읽어 -1 인지를 검사하며;If the mode is protected mode and protected area, the block mapping table cache finds the block mapping table to which the sector number belongs, reads the entry value, and checks whether -1; 상기 블록 매핑테이블에서 엔트리값이 -1 이면 다음 읽을 블록이 있는지 검사하여 없으면 하드디스크에서 읽을 섹터번호의 데이터를 읽어 버퍼에 채운 다음 종료하고;If the entry value is -1 in the block mapping table, it is checked whether there is a next block to be read, if not, data of the sector number to be read from the hard disk is read and filled in the buffer, and then terminated; 만일 상기 블록 매핑테이블에서 엔트리값이 -1 이 아니면 백업파일내의 백업된 블록에서 데이터를 읽어 버퍼를 채우고, 다음 읽을 블록이 있는지 검사하여 있으면 읽고 없으면 작업을 종료한 것을 특징으로 하는 디스크블록화를 통한 컴퓨터의 하드디스크의 데이터보호방법.If the entry value is not -1 in the block mapping table, the data is read from the backed up block in the backup file, and the buffer is read. If the next block is checked, the operation is terminated. To protect your hard disk data.
KR10-2002-0006888A 2001-12-19 2002-02-06 Harddisk protect method KR100489178B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020010081398 2001-12-19
KR20010081398 2001-12-19

Publications (2)

Publication Number Publication Date
KR20020024227A true KR20020024227A (en) 2002-03-29
KR100489178B1 KR100489178B1 (en) 2005-05-17

Family

ID=19717261

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0006888A KR100489178B1 (en) 2001-12-19 2002-02-06 Harddisk protect method

Country Status (1)

Country Link
KR (1) KR100489178B1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100457558B1 (en) * 2002-03-06 2004-11-18 엘지전자 주식회사 Refrigerator Hard Disk Drive Controlling Method
WO2005119460A1 (en) * 2004-06-04 2005-12-15 Renosoft Technology Inc. Apparatus and method for protecting system data on computer hard-disk
WO2005119458A1 (en) * 2004-06-04 2005-12-15 Renosoft Technology Inc. Apparatus and method for protecting system data on computer hard-disk
WO2005119459A1 (en) * 2004-06-04 2005-12-15 Renosoft Technology Inc. Apparatus and method for protecting system data on computer hard-disk
WO2006069490A1 (en) * 2004-12-31 2006-07-06 Intel Corporation Methods and apparatuses for implementing multiple phase software
US8356230B2 (en) 2008-09-23 2013-01-15 Samsung Electronics Co., Ltd. Apparatus to manage data stability and methods of storing and recovering data

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07262021A (en) * 1994-03-17 1995-10-13 Fujitsu Ltd System recovery system
KR200258404Y1 (en) * 1998-09-07 2002-04-22 서경석 Apparatus for protecting and recovering data in hard disk for computer
KR100626354B1 (en) * 1999-07-27 2006-09-20 삼성전자주식회사 Disk recovering method of computer system
KR100621614B1 (en) * 1999-08-30 2006-09-06 삼성전자주식회사 File backup method of computer system

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100457558B1 (en) * 2002-03-06 2004-11-18 엘지전자 주식회사 Refrigerator Hard Disk Drive Controlling Method
WO2005119460A1 (en) * 2004-06-04 2005-12-15 Renosoft Technology Inc. Apparatus and method for protecting system data on computer hard-disk
WO2005119458A1 (en) * 2004-06-04 2005-12-15 Renosoft Technology Inc. Apparatus and method for protecting system data on computer hard-disk
WO2005119459A1 (en) * 2004-06-04 2005-12-15 Renosoft Technology Inc. Apparatus and method for protecting system data on computer hard-disk
CN100397369C (en) * 2004-06-04 2008-06-25 莱纳索夫特技术公司 Apparatus and method for protecting system data on computer hard-disk
US7469261B2 (en) 2004-06-04 2008-12-23 Chang-Ju Lee Apparatus and method for protecting system data on computer hard-disk
US7624243B2 (en) 2004-06-04 2009-11-24 Chang-Ju Lee Apparatus and method for protecting system data on computer hard-disk
WO2006069490A1 (en) * 2004-12-31 2006-07-06 Intel Corporation Methods and apparatuses for implementing multiple phase software
US8356230B2 (en) 2008-09-23 2013-01-15 Samsung Electronics Co., Ltd. Apparatus to manage data stability and methods of storing and recovering data

Also Published As

Publication number Publication date
KR100489178B1 (en) 2005-05-17

Similar Documents

Publication Publication Date Title
US9785370B2 (en) Method and system for automatically preserving persistent storage
US6999913B2 (en) Emulated read-write disk drive using a protected medium
US7574575B2 (en) Disk array device including a system LU for storing control information in the disk array and backup LU for backing up the control information and controlling method thereof
US8510526B2 (en) Storage apparatus and snapshot control method of the same
US8161262B2 (en) Storage area dynamic assignment method
US7620790B1 (en) Methods and apparatus for interfacing to a data storage system
US7519806B2 (en) Virtual partition for recording and restoring computer data files
US8103826B2 (en) Volume management for network-type storage devices
EP1837751B1 (en) Storage system, storage extent release method and storage apparatus
US7305670B2 (en) Method of installing software on storage device controlling apparatus, method of controlling storage device controlling apparatus, and storage device controlling apparatus
US20060075005A1 (en) Method and apparatus of media management on disk-subsystem
USRE42859E1 (en) File server that allows an end user to specify storage characteristics with ease
US7921262B1 (en) System and method for dynamic storage device expansion support in a storage virtualization environment
US7840755B2 (en) Methods and systems for automatically identifying a modification to a storage array
US20070113041A1 (en) Data processing system, storage apparatus and management console
US20050256898A1 (en) Computer system including file sharing device and a migration method
KR100489178B1 (en) Harddisk protect method
JP3966076B2 (en) Centralized storage management method
US8117405B2 (en) Storage control method for managing access environment enabling host to access data
JP2003241970A (en) Hard disk protection system through blocking of disk and its method
Both et al. Filesystems
JP4552957B2 (en) Centralized storage management method
Cobbaut Linux System Administration
KR20050111061A (en) Method, system and storage medium for data backup

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
N231 Notification of change of applicant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130228

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20140502

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20150710

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20160511

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20170612

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20190509

Year of fee payment: 15