KR102189607B1 - Write control method and disk controller for automated backup and recovery - Google Patents

Write control method and disk controller for automated backup and recovery Download PDF

Info

Publication number
KR102189607B1
KR102189607B1 KR1020190164414A KR20190164414A KR102189607B1 KR 102189607 B1 KR102189607 B1 KR 102189607B1 KR 1020190164414 A KR1020190164414 A KR 1020190164414A KR 20190164414 A KR20190164414 A KR 20190164414A KR 102189607 B1 KR102189607 B1 KR 102189607B1
Authority
KR
South Korea
Prior art keywords
block address
disk
storage device
data
auxiliary storage
Prior art date
Application number
KR1020190164414A
Other languages
Korean (ko)
Inventor
김한준
허선영
김종
김봉준
Original Assignee
연세대학교 산학협력단
포항공과대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 연세대학교 산학협력단, 포항공과대학교 산학협력단 filed Critical 연세대학교 산학협력단
Priority to KR1020190164414A priority Critical patent/KR102189607B1/en
Application granted granted Critical
Publication of KR102189607B1 publication Critical patent/KR102189607B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Disclosed are a write control method for automated backup and recovery capable of preventing a file on a disk from being infected by a malicious code such as ransomware and recovering data at a specific point in time. The disclosed write control method for automated backup and recovery comprises the steps of: receiving a write command from a host for a block address of a disk; performing the write command on the block address of an auxiliary storage device corresponding to the block address of the disk; and storing data stored in the block address of the auxiliary storage device in the block address of the disk after a preset delay time.

Description

자동 백업 및 복원을 위한 쓰기 제어 방법 및 디스크 컨트롤러{WRITE CONTROL METHOD AND DISK CONTROLLER FOR AUTOMATED BACKUP AND RECOVERY}Write control method and disk controller for automatic backup and restore {WRITE CONTROL METHOD AND DISK CONTROLLER FOR AUTOMATED BACKUP AND RECOVERY}

본 발명은 SSD, HDD와 같은 디스크를 위한 데이터 처리 방법 및 디스크 컨트롤러에 관한 것으로서, 보다 상세하게는 자동 백업 및 복원을 위한 쓰기 제어 방법 및 디스크 컨트롤러에 관한 것이다. The present invention relates to a data processing method and a disk controller for disks such as SSD and HDD, and more particularly, to a write control method and disk controller for automatic backup and restoration.

최근 랜섬웨어와 같은 악성 코드에 의해, SSD 또는 HDD와 같은 디스크에 저장된 데이터를 암호화하거나 삭제되는 일이 빈번하게 발생하고 있다. 이러한 악성 코드는 전용 백신에 의해 탐지 및 제거되기는 하지만, 새로운 악성 코드들이 계속하여 발견되고 있으며, 새로운 악성 코드들이 계속하여 발견될 때마다 전용 백신 역시 업데이트되어야하기 때문에, 전용 백신만으로 악성 코드의 위험을 대비하기에는 한계가 있다.Recently, data stored on a disk such as an SSD or an HDD is encrypted or deleted frequently by malicious codes such as ransomware. These malicious codes are detected and removed by a dedicated vaccine, but new malicious codes are continuously discovered, and the dedicated vaccine must be updated whenever new malicious codes are continuously discovered. There are limits to be prepared.

이에 최근에는 별도의 저장 공간에 데이터를 저장한 후 데이터를 백업하는 방식으로 악성 코드에 대비하는 기술들이 개발되고 있다.Accordingly, in recent years, technologies to prepare for malicious code are being developed by storing data in a separate storage space and then backing up data.

관련 선행문헌으로 대한민국 공개특허 제2011-0018605호 및 대한민국 등록특허 제10-1920866호가 있다.As related prior documents, there are Korean Patent Application Publication No. 2011-0018605 and Korean Patent Registration No. 10-1920866.

본 발명은 랜섬 웨어와 같은 악성 코드에 의해 디스크의 파일이 감염되는 것을 방지하고 특정 시점의 데이터를 복원할 수 있는 쓰기 제어 방법 및 디스크 컨트롤러를 제공하기 위한 것이다.An object of the present invention is to provide a write control method and a disk controller capable of preventing a file on a disk from being infected by a malicious code such as ransomware and restoring data at a specific point in time.

상기한 목적을 달성하기 위해 본 발명의 일실시예에 따르면 디스크의 블록 주소에 대한 호스트의 쓰기 명령을 수신하는 단계; 상기 디스크의 블록 주소에 대응되는 보조 저장 장치의 블록 주소에 대해, 상기 쓰기 명령을 수행하는 단계; 및 미리 설정된 유예 시간 이후, 상기 보조 저장 장치의 블록 주소에 저장된 데이터를 상기 디스크의 블록 주소에 저장하는 단계를 포함하는 자동 백업 및 복원을 위한 쓰기 제어 방법이 제공된다.In order to achieve the above object, according to an embodiment of the present invention, the method includes: receiving a write command from a host for a block address of a disk; Performing the write command on a block address of an auxiliary storage device corresponding to the block address of the disk; And storing the data stored in the block address of the auxiliary storage device in the block address of the disk after a preset grace time, and there is provided a write control method for automatic backup and restoration.

또한 상기한 목적을 달성하기 위해 본 발명의 다른 실시예에 따르면, 디스크의 블록 주소에 대한 호스트의 쓰기 명령을 수신하는 수신부; 상기 디스크의 블록 주소에 대응되는 보조 저장 장치의 블록 주소를 관리하는 라우팅부; 및 상기 보조 저장 장치의 블록 주소에 저장된 데이터를, 미리 설정된 유예 시간 이후, 상기 디스크의 블록 주소에 저장하는 백업-복원부를 포함하는 자동 백업 및 복원을 위한 디스크 컨트롤러가 제공된다.In addition, in order to achieve the above object, according to another embodiment of the present invention, there is provided a receiving unit for receiving a write command from a host for a block address of a disk; A routing unit for managing a block address of an auxiliary storage device corresponding to the block address of the disk; And a backup-restore unit for storing data stored in the block address of the auxiliary storage device in the block address of the disk after a preset grace time.

본 발명의 일실시예에 따르면, 쓰기 요청된 데이터가 디스크에 바로 저장되는 것이 아니라 1차적으로 보조 저장 장치에 저장되며, 유예 시간만큼 지연된 이후에 디스크에 저장되기 때문에, 악성 코드에 감염된 안전하지 않은 쓰기 명령이 디스크에 반영되는 것이 방지될 수 있다.According to an embodiment of the present invention, since the data requested to be written is not directly stored on the disk, but is primarily stored on the auxiliary storage device, and is stored on the disk after being delayed by the grace time, the insecure infected by malicious code The write command can be prevented from being reflected on the disk.

또한 본 발명의 일실시예에 따르면, 보조 저장 장치에 대한 쓰기 시점을 주소 매핑 테이블에 기록함으로써, 특정 시점의 데이터를 디스크로 복원할 수 있다.In addition, according to an embodiment of the present invention, data at a specific point in time can be restored to a disk by recording the write point of the auxiliary storage device in the address mapping table.

도 1은 본 발명의 일실시예에 따른 자동 백업 및 복원을 위한 디스크 컨트롤러를 설명하기 위한 도면이다.
도 2는 본 발명의 일실시예에 따른 주소 매핑 테이블을 설명하기 위한 도면이다.
도 3은 본 발명의 일실시예에 따른 자동 백업 및 복원을 위한 쓰기 제어 방법을 설명하기 위한 도면이다.
도 4는 본 발명의 일실시예에 따른, 호스트의 쓰기 명령에 대한 데이터 처리 방법을 설명하기 위한 도면이다.
도 5는 본 발명의 일실시예에 따른, 유예 시간 이후 데이터가 디스크에 저장되는 방법을 설명하기 위한 도면이다.
도 6은 본 발명의 일실시예에 따른 호스트의 읽기 명령에 대한 데이터 처리 방법을 설명하기 위한 도면이다.
도 7은 본 발명의 일실시예에 따른, 호스트의 삭제 명령에 대한 데이터 처리 방법을 설명하기 위한 도면이다.
1 is a view for explaining a disk controller for automatic backup and restoration according to an embodiment of the present invention.
2 is a diagram illustrating an address mapping table according to an embodiment of the present invention.
3 is a diagram for explaining a write control method for automatic backup and restoration according to an embodiment of the present invention.
4 is a diagram illustrating a data processing method for a write command of a host according to an embodiment of the present invention.
5 is a diagram illustrating a method of storing data on a disk after a grace time according to an embodiment of the present invention.
6 is a diagram illustrating a data processing method for a read command of a host according to an embodiment of the present invention.
7 is a diagram for explaining a data processing method for a delete command from a host according to an embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. In the present invention, various modifications may be made and various embodiments may be provided, and specific embodiments will be illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the present invention to a specific embodiment, it is to be understood to include all changes, equivalents, and substitutes included in the spirit and scope of the present invention. In describing each drawing, similar reference numerals have been used for similar elements.

본 발명은 랜섬 웨어와 같은 악성 코드에 의해 디스크에 저장된 데이터가 감염되는 것을 방지하기 위한 쓰기 제어 방법 및 디스크 컨트롤러에 관한 발명이다.The present invention relates to a write control method and a disk controller for preventing data stored on a disk from being infected by a malicious code such as ransomware.

호스트의 쓰기 명령에 대한 데이터가 악성 코드에 감염된 상태에서 바로 디스크에 저장될 경우에, 디스크의 전체 데이터가 모두 암호화되거나 삭제되는 것을 방지하기 위해, 본 발명의 일실시예는 보조 저장 장치에 1차적으로 데이터를 백업한 이후, 미리 설정된 유예 시간 이후에 디스크에 백업된 데이터를 저장한다.In order to prevent the entire data of the disk from being encrypted or deleted when the data for the write command of the host is immediately stored on the disk in a state infected with malicious code, an embodiment of the present invention is primarily used in an auxiliary storage device. After the data is backed up by the computer, the backed up data is saved to the disk after a preset grace time.

즉, 본 발명의 일실시예는 디스크에 대한 쓰기를 일정 기간 지연시킴으로써, 디스크에 대한 악성 코드의 감염을 방지할 수 있는 것이다.That is, according to an embodiment of the present invention, by delaying writing to the disk for a certain period of time, it is possible to prevent the infection of malicious code on the disk.

여기서, 유예 시간은 악성 코드가 탐지되는데 필요한 시간에 대응되는 시간으로서, 이러한 유예 시간 동안 악성 코드에 의한 보조 저장 장치의 이상 행동이 발생되지 않는 경우, 보조 저장 장치에 백업된 데이터는 안전한 데이터로 판단될 수 있으며, 디스크에 저장된다. Here, the grace time is a time corresponding to the time required to detect the malicious code. If abnormal behavior of the auxiliary storage device by the malicious code does not occur during this grace period, the data backed up to the auxiliary storage device is determined as safe data. Can be and stored on disk.

본 발명의 일실시예는 데이터의 백업 공간으로서 보조 저장 장치를 이용하며, 이러한 보조 저장 장치는 USB, SD 카드와 같은 별도의 저장장치 뿐만 아니라 파티션된 디스크의 일부 공간이나, 가상 디스크를 포함할 수 있다. An embodiment of the present invention uses an auxiliary storage device as a data backup space, and this auxiliary storage device may include a partial space of a partitioned disk or a virtual disk as well as separate storage devices such as USB and SD card. have.

이하에서, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일실시예에 따른 자동 백업 및 복원을 위한 디스크 컨트롤러를 설명하기 위한 도면이며, 도 2는 본 발명의 일실시예에 따른 주소 매핑 테이블을 설명하기 위한 도면이다.FIG. 1 is a diagram illustrating a disk controller for automatic backup and restoration according to an embodiment of the present invention, and FIG. 2 is a diagram illustrating an address mapping table according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일실시예에 따른 디스크 컨트롤러(130)는 호스트(110)와는 독립적으로 저장 장치(120)에 추가로 포함되는 프로세싱 모듈로서, 수신부(131), 라우팅부(132) 및 백업-복원부(133)를 포함한다.Referring to FIG. 1, the disk controller 130 according to an embodiment of the present invention is a processing module additionally included in the storage device 120 independently of the host 110, and includes a receiving unit 131 and a routing unit 132. ) And a backup-restore unit 133.

수신부(131)는 디스크(140)의 블록 주소에 대한 호스트(110)의 쓰기 명령을 수신한다.The receiving unit 131 receives a write command from the host 110 to the block address of the disk 140.

라우팅부(132)는 디스크(140)의 블록 주소에 대응되는 보조 저장 장치(150)의 블록 주소를 관리한다. 즉, 라우팅부(132)는 쓰기 요청된 디스크의 블록 주소에 매핑되는 보조 저장 장치(150)의 블록 주소를 관리하며, 이러한 주소 관리를 위해 일실시예로서, 도 2와 같은 주소 매핑 테이블을 이용할 수 있다.The routing unit 132 manages the block address of the auxiliary storage device 150 corresponding to the block address of the disk 140. That is, the routing unit 132 manages the block address of the auxiliary storage device 150 mapped to the block address of the disk requested to be written, and as an embodiment, an address mapping table as shown in FIG. 2 is used for this address management. I can.

백업-복원부(133)는 디스크(140)의 블록 주소에 대응되는 보조 저장 장치(150)의 블록 주소에 쓰기 명령을 수행하고, 보조 저장 장치(150)의 블록 주소에 저장된 데이터를, 미리 설정된 유예 시간 이후, 디스크(140)의 블록 주소에 저장한다. 즉, 호스트(110)의 쓰기 요청된 데이터를 보조 저장 장치(150)에 1차적으로 백업한 후, 유예 시간이 지나면 디스크(140)에 백업된 데이터를 저장한다.The backup-restore unit 133 performs a write command to the block address of the auxiliary storage device 150 corresponding to the block address of the disk 140, and stores data stored in the block address of the auxiliary storage device 150, which is set in advance. After the grace time, it is stored in the block address of the disk 140. That is, after the data requested to be written by the host 110 is firstly backed up to the auxiliary storage device 150, the backed up data is stored on the disk 140 after a grace period elapses.

이와 같이, 본 발명의 일실시예에 따르면, 쓰기 요청된 데이터가 디스크에 바로 저장되는 것이 아니라 1차적으로 보조 저장 장치에 저장되며, 유예 시간만큼 지연된 이후에 디스크에 저장되기 때문에, 악성 코드에 감염된 안전하지 않은 쓰기 명령이 디스크에 반영되는 것이 방지될 수 있다.As described above, according to an embodiment of the present invention, since the data requested to be written is not directly stored on the disk, but is primarily stored on the auxiliary storage device, and is stored on the disk after being delayed by the grace time, Unsafe write commands can be prevented from being reflected on the disk.

또한 백업-복원부(133)는 주소 매핑 테이블에 포함된 타임 스탬프를 이용하여 보조 저장 장치에 저장된 특정 시점의 데이터를 디스크로 복원할 수 있다.In addition, the backup-restore unit 133 may restore data of a specific time stored in the auxiliary storage device to a disk by using a time stamp included in the address mapping table.

이하, 도 2를 참조하며, 전술된 주소 매핑 테이블을 보다 자세히 설명하기로 한다.Hereinafter, referring to FIG. 2, the above-described address mapping table will be described in more detail.

본 발명의 일실시예에 따른 주소 매핑 테이블은 쓰기 요청된 디스크(140)의 블록 주소(OBA, Original Block Address), 디스크(140)의 블록 주소에 대응되는 보조 저장 장치(150)의 블록 주소(ABA, Auxiliary Block Address) 및 쓰기 명령이 보조 저장 장치(150)에 수행된 시간을 나타내는 타임 스탬프(Time Stamp)를 포함한다.The address mapping table according to an embodiment of the present invention includes a block address (OBA, Original Block Address) of the disk 140 requested to be written, and a block address of the auxiliary storage device 150 corresponding to the block address of the disk 140 ( ABA, Auxiliary Block Address) and a time stamp indicating the time at which the write command was performed on the auxiliary storage device 150 is included.

라우팅부(132)는 쓰기 요청된 디스크(140)의 블록 주소를 보조 저장 장치(150)의 블록 주소로 변환하여 주소 매핑 테이블에 저장하고, 쓰기 명령이 수행된 시간 역시 주소 매핑 테이블에 저장한다. 즉, 쓰기 요청된 디스크(140)의 블록 주소는 보조 저장 장치(150)의 블록 주소와 매핑되며, 보조 저장 장치(150)에 데이터가 저장된 시간이 타임 스탬프로서 기록된다.The routing unit 132 converts the block address of the disk 140 requested to be written into the block address of the auxiliary storage device 150 and stores it in the address mapping table, and also stores the time at which the write command is executed in the address mapping table. That is, the block address of the disk 140 requested to be written is mapped to the block address of the auxiliary storage device 150, and the time at which data is stored in the auxiliary storage device 150 is recorded as a time stamp.

이 때, 보조 저장 장치(150)의 블록 주소에 저장된 데이터가 미리 설정된 기준 시간 이내에 갱신되는 경우, 갱신된 데이터는 보조 저장 장치(150)의 블록 주소에 덮어 씌여진다. 따라서, 디스크(140)의 블록 주소에 대응되는 보조 저장 장치(150)의 블록 주소에는 변화가 없으며, 라우팅부(132)는 타임 스탬프 값만을 갱신된 데이터가 저장된 시점으로 갱신한다. In this case, when data stored in the block address of the auxiliary storage device 150 is updated within a preset reference time, the updated data is overwritten on the block address of the auxiliary storage device 150. Accordingly, there is no change in the block address of the auxiliary storage device 150 corresponding to the block address of the disk 140, and the routing unit 132 updates only the time stamp value to the time at which the updated data is stored.

반면, 보조 저장 장치(150)의 블록 주소에 저장된 데이터가 기준 시간 이후에 갱신되는 경우, 디스크(140)의 블록 주소에 대응되는 보조 저장 장치(150)의 새로운 블록 주소에 갱신되는 데이터가 저장된다. 라우팅부(132)는 보조 저장 장치(150)의 새로운 블록 주소를 주소 매핑 테이블에 기록하고, 갱신된 데이터가 저장된 시점을 타임 스탬프 값으로 기록한다.On the other hand, when data stored in the block address of the auxiliary storage device 150 is updated after the reference time, the updated data is stored in a new block address of the auxiliary storage device 150 corresponding to the block address of the disk 140. . The routing unit 132 records the new block address of the auxiliary storage device 150 in the address mapping table, and records the time when the updated data is stored as a time stamp value.

예컨대, 도 2와 같이 디스크 블록 주소 1에 대응되는 보조 저장 장치 블록 주소 1에 데이터가 저장된 상태에서, 기준 시간 이후에 데이터가 갱신되는 경우, 보조 저장 장치(150)의 새로운 블록 주소 6에 갱신된 데이터가 저장되고, 저장된 시점에 대한 타임 스탬프가 기록된다.For example, in a state in which data is stored in the auxiliary storage device block address 1 corresponding to the disk block address 1 as shown in FIG. 2 and the data is updated after the reference time, the new block address 6 of the auxiliary storage device 150 is updated. The data is saved, and the time stamp for the saved time is recorded.

또한, 본 발명의 다른 실시예에 따르면, 디스크(140)의 블록 주소에 대한 호스트(110)의 삭제 명령이 발생한 경우, 라우팅부(132)는 주소 매핑 테이블에 디스크(140)의 블록 주소에 대한 삭제 명령이 발생하였음을 기록할 수 있다. 보조 저장 장치(150)의 블록 주소를 삭제할 수 있다. 예컨대, 도 2와 같이, 디스크 블록 주소 2에 대응되는 보조 저장 장치 블록 주소 3에 데이터가 저장된 이후, 디스크 블록 주소 2에 대한 삭제 명령이 발생한 경우, 라우팅부(132)는 "-" 표시와 같은 별도의 식별자를 이용해, 삭제 명령이 발생한 사실을 기록하며, 데이터가 삭제된 시간을 타임 스탬프로 기록한다. In addition, according to another embodiment of the present invention, when the host 110 deletes the block address of the disk 140, the routing unit 132 displays the block address of the disk 140 in the address mapping table. It can be recorded that the deletion command has occurred. The block address of the auxiliary storage device 150 may be deleted. For example, as shown in FIG. 2, after data is stored in the auxiliary storage device block address 3 corresponding to the disk block address 2, when a deletion command for the disk block address 2 occurs, the routing unit 132 displays a "-" Using a separate identifier, the fact that the deletion command has occurred is recorded, and the time when the data was deleted is recorded as a time stamp.

도 3은 본 발명의 일실시예에 따른 자동 백업 및 복원을 위한 쓰기 제어 방법을 설명하기 위한 도면으로서, 전술된 디스크 컨트롤러의 쓰기 제어 방법이 일실시예로서 설명된다.3 is a view for explaining a write control method for automatic backup and restoration according to an embodiment of the present invention, and the above-described write control method of the disk controller is described as an embodiment.

본 발명의 일실시예에 따른 디스크 컨트롤러는 디스크의 블록 주소에 대한 호스트의 쓰기 명령을 수신(S310)한다.The disk controller according to an embodiment of the present invention receives a write command from the host for the block address of the disk (S310).

그리고 디스크 컨트롤러는 쓰기 요청된 디스크의 블록 주소에 대응되는 보조 저장 장치의 블록 주소에 대해, 쓰기 명령을 수행(S320)하며, 이 때 전술된 주소 매핑 테이블을 이용하여 쓰기 명령을 수행할 수 있다.In addition, the disk controller executes a write command for the block address of the auxiliary storage device corresponding to the block address of the disk requested to be written (S320), and at this time, may perform the write command using the address mapping table described above.

단계 S320에서, 디스크 컨트롤러는 보조 저장 장치의 블록 주소에 저장된 데이터가 미리 설정된 기준 시간 이내에 갱신되는 경우, 보조 저장 장치의 블록 주소에 갱신되는 데이터를 덮어쓴다. 예컨대 기준 시간이 30분이며, 이전에 저장된 데이터가 30분 이내에 갱신되는 경우, 디스크 컨트롤러는 동일한 블록 주소에 갱신된 데이터를 저장한다.In step S320, when the data stored in the block address of the auxiliary storage device is updated within a preset reference time, the disk controller overwrites the updated data in the block address of the auxiliary storage device. For example, if the reference time is 30 minutes and previously stored data is updated within 30 minutes, the disk controller stores the updated data in the same block address.

그리고 디스크 컨트롤러는 보조 저장 장치의 블록 주소에 저장된 데이터가 기준 시간 이후에 갱신되는 경우, 디스크의 블록 주소에 대응되는 보조 저장 장치의 새로운 블록 주소에 갱신되는 데이터를 저장한다. 예컨대, 이전에 저장된 데이터가 30분 이후에 갱신되는 경우, 디스크 컨트롤러는 이전 블록 주소와는 다른 새로운 블록 주소에 갱신된 데이터를 저장한다.In addition, when data stored in the block address of the auxiliary storage device is updated after the reference time, the disk controller stores the updated data in a new block address of the auxiliary storage device corresponding to the block address of the disk. For example, if previously stored data is updated after 30 minutes, the disk controller stores the updated data in a new block address different from the previous block address.

본 발명의 일실시예에 따른 디스크 컨트롤러는 단계 S320에서 쓰기 명령이 수행되고 미리 설정된 유예 시간 이후, 보조 저장 장치의 블록 주소에 저장된 데이터를 디스크의 블록 주소에 저장(S330)한다.The disk controller according to an embodiment of the present invention stores the data stored in the block address of the auxiliary storage device in the block address of the disk after the write command is executed in step S320 and a preset grace time is performed (S330).

단계 S330에서, 디스크 컨트롤러는 유예 시간 동안, 보조 저장 장치에 대한 이상 행동 발생 여부를 확인하고, 확인 결과에 따라서, 데이터를 디스크의 블록 주소에 저장할 수 있다. 유예 시간은 실시예에 따라서 다양하게 결정될 수 있으며, 일예로서, 악성 코드 탐지를 위한 백신이 실행되는데 소요되는 시간이거나 또는 사용자가 임의로 설정한 시간일 수 있다. 예컨대, 사용자가 임의로 설정한 유예 시간 동안 보조 저장 장치에서 데이터의 암호화나 삭제 등이 발생하지 않는 경우, 이상 행동이 발생하지 않은 것으로 간주될 수 있다.In step S330, the disk controller may check whether an abnormal behavior has occurred in the auxiliary storage device during the grace period, and store data in a block address of the disk according to the check result. The grace time may be determined in various ways according to embodiments, and as an example, it may be a time required to execute a vaccine for detecting a malicious code or may be a time arbitrarily set by a user. For example, if data encryption or deletion does not occur in the auxiliary storage device during a grace time set arbitrarily by the user, it may be considered that no abnormal behavior has occurred.

디스크 컨트롤러는 유예 시간 동안 암호화나 삭제 등과 같은 이상 행동이 보조 저장 장치에서 발생하지 않은 경우에, 보조 저장 장치의 데이터를 디스크의 블록 주소에 저장한다. The disk controller stores the data of the auxiliary storage device in the block address of the disk when abnormal behavior such as encryption or deletion does not occur in the auxiliary storage device during the grace period.

이 때, 전술된 바와 같이, 데이터의 갱신에 따라서, 보조 저장 장치에는 하나의 디스크 블록 주소에 대한 다양한 버전의 데이터가 저장될 수 있는데, 실시예에 따라서 특정 버전의 데이터가 디스크로 복원될 수 있다. 디스크 컨트롤러는 타임 스탬프를 이용하여, 데이터의 갱신 시점을 확인할 수 있으며, 최근에 갱신된 최신 버전의 데이터를 디스크로 복원하거나 또는 사용자의 요청 시점에 따른 데이터를 디스크의 블록 주소에 저장할 수 있다.At this time, as described above, according to the data update, various versions of data for one disk block address may be stored in the auxiliary storage device. According to embodiments, data of a specific version may be restored to the disk. . The disk controller may use a time stamp to check the update time of data, restore the latest updated version of data to the disk, or store data according to the user's request at the block address of the disk.

보조 저장 장치의 블록 주소에 저장된 데이터가 디스크의 블록 주소에 저장된 이후에는, 디스크 및 보조 저장 장치의 블록 주소가 관리될 필요가 없으므로, 디스크 컨트롤러는 주소 매핑 테이블에서 디스크 및 보조 저장 장치의 블록 주소 및 타임 스탬프에 대한 정보를 삭제한다.After the data stored in the block address of the secondary storage device is stored in the block address of the disk, the block address of the disk and the secondary storage device does not need to be managed, so the disk controller Delete the information on the time stamp.

또한 디스크 컨트롤러는 보조 저장 장치에서 이상 행동이 발생된 경우에도, 주소 매핑 테이블에서 디스크 및 보조 저장 장치의 블록 주소 및 타임 스탬프에 대한 정보를 삭제한다. 주소 매핑 테이블의 정보가 삭제된 경우, 디스크 컨트롤러는 보조 저장 장치에 저장된 데이터를 디스크에 저장할 수 없으며, 보조 저장 장치에 백업된 데이터가 디스크에 저장되는 것이 차단될 수 있다.In addition, even when an abnormal behavior occurs in the auxiliary storage device, the disk controller deletes information on the block address and time stamp of the disk and auxiliary storage device from the address mapping table. When information in the address mapping table is deleted, the disk controller cannot store data stored in the auxiliary storage device on the disk, and data backed up in the auxiliary storage device may be blocked from being stored on the disk.

이하, 본 발명의 구체적 실시예를 도면을 참조하여 자세히 설명하기로 한다.Hereinafter, specific embodiments of the present invention will be described in detail with reference to the drawings.

도 4는 본 발명의 일실시예에 따른, 호스트의 쓰기 명령에 대한 데이터 처리 방법을 설명하기 위한 도면이다.4 is a diagram illustrating a data processing method for a write command of a host according to an embodiment of the present invention.

호스트가 디스크 컨트롤러로 디스크 블록 주소 X에 대한 쓰기를 요청(S410)한 경우, 디스크 컨트롤러는 쓰기 요청된 데이터가 기준 시간 이내에 갱신된 데이터인지 여부를 판단(S420)한다. 디스크 컨트롤러는 주소 매핑 테이블에 디스크 블록 주소 X가 존재하는 경우, 쓰기 요청된 데이터가 갱신된 데이터인지 판단할 수 있으며, 타임 스탬프값을 이용해 기준 시간 이내에 갱신되었는지 판단할 수 있다.When the host requests the disk controller to write to the disk block address X (S410), the disk controller determines whether the write-requested data is data updated within the reference time (S420). When the disk block address X exists in the address mapping table, the disk controller can determine whether the write-requested data is updated data, and can determine whether the data has been updated within a reference time using a time stamp value.

만일, 쓰기 요청된 데이터가 기준 시간 이내에 갱신된 데이터인 경우, 디스크 컨트롤러는 블록 주소 Y가 아닌 기존에 데이터가 저장된 블록 주소에 갱신된 데이터를 덮어쓴다(S430).If the write-requested data is data updated within the reference time, the disk controller overwrites the updated data in the block address where the data is stored, not the block address Y (S430).

쓰기 요청된 데이터가 기준 시간 이후에 갱신된 데이터인 경우, 디스크 컨트롤러는 호스트의 쓰기 명령을 반영하기 위해, 보조 저장 장치에 데이터가 저장되지 않은 비어있는 블록이 존재하는지 확인(S440)한다. 비어있는 블록이 존재하지 않는 경우, 디스크 컨틀롤러는 호스트로 쓰기가 실패했다는 에러 메시지를 보고(S450)한다.If the write-requested data is data updated after the reference time, the disk controller checks whether there is an empty block in which no data is stored in the auxiliary storage device in order to reflect the write command of the host (S440). If there is no empty block, the disk controller reports an error message indicating that writing to the host has failed (S450).

보조 저장 장치에 비어있는 블록이 존재할 경우, 디스크 컨트롤러는 비어있는 블록 중에서, 디스크 블록 주소 X에 대응되는 보조 저장 장치의 블록 주소 Y를 선택(S460)한다.When an empty block exists in the auxiliary storage device, the disk controller selects a block address Y of the auxiliary storage device corresponding to the disk block address X from among the empty blocks (S460).

디스크 컨트롤러는 주소 매핑 테이블에 보조 저장 장치의 새로운 블록 주소인 Y를 기록(S470)하고, 블록 주소 Y에 데이터를 저장(S480)한다.The disk controller writes the new block address Y of the auxiliary storage device in the address mapping table (S470) and stores the data in the block address Y (S480).

호스트의 쓰기 명령 각각에 대응하여 보조 저장 장치의 새로운 블록에 데이터를 저장할 경우, 보조 저장 장치의 효율이 떨어지므로, 본 발명의 일실시예는 보조 저장 장치의 효율을 높이기 위해, 기준 시간 이내에 갱신된 데이터를 기존 블록 주소에 덮어씌어 저장한다.When data is stored in a new block of the auxiliary storage device in response to each write command of the host, the efficiency of the auxiliary storage device decreases. Therefore, an embodiment of the present invention is Data is saved by overwriting the existing block address.

도 5는 본 발명의 일실시예에 따른, 유예 시간 이후 데이터가 디스크에 저장되는 방법을 설명하기 위한 도면이다.5 is a diagram illustrating a method of storing data on a disk after a grace time according to an embodiment of the present invention.

본 발명의 일실시예에 따른 디스크 컨트롤러는, 보조 저장 장치에 이상 행동이 발생했는지 여부를 확인(S510)한다. 디스크 컨트롤러는 악성 코드 백신 등을 이용하여 이상 행동을 주기적으로 탐지할 수 있다.The disk controller according to an embodiment of the present invention checks whether an abnormal behavior has occurred in the auxiliary storage device (S510). The disk controller can periodically detect abnormal behavior using a malicious code vaccine or the like.

이상 행동이 발생한 경우, 디스크 컨트롤러는 주소 매핑 테이블의 모든 정보를 삭제(S520)한다. 따라서, 보조 저장 장치의 데이터는 디스크에 저장될 수 없다.When an abnormal behavior occurs, the disk controller deletes all information in the address mapping table (S520). Therefore, the data of the auxiliary storage device cannot be stored on the disk.

이상 행동이 발생하지 않은 경우, 디스크 컨트롤러는 보조 저장 장치에 저장된 데이터 중에서, 저장 시점 이후로 유예 시간을 초과한 데이터(entry E)가 존재하는지 판단(S530)한다. 실시예에 따라서, 디스크 컨트롤러는 단계 S510을 생략하고, 단계 S530을 수행할 수 있다.If no abnormal behavior has occurred, the disk controller determines whether there is data (entry E) that has exceeded the grace time since the storage point among data stored in the auxiliary storage device (S530). According to an embodiment, the disk controller may skip step S510 and perform step S530.

디스크 컨트롤러는 유예 시간을 초과한 데이터가 최신 버전인지 여부를 확인(S540)한다. 최신 버전인 경우, 디스크 컨트롤러는 최신 버전 데이터에 대한 보조 저장 장치의 블록 주소가 존재하는지를 판단(S550)한다. 보조 저장 장치의 블록 주소가 존재하지 않은 경우, 즉 삭제 명령이 기록된 경우는, 최신 버전 데이터에 대한 삭제가 요청된 경우이므로, 디스크 컨트롤러는 디스크의 블록 주소 X에 저장된 데이터를 삭제(S560)한다. 보조 저장 장치의 블록 주소가 존재하는 경우, 디스크 컨트롤러는 최전 버전 데이터를 디스크의 블록 주소 X에 저장(S570)한다.The disk controller checks whether the data exceeding the grace time is the latest version (S540). In the case of the latest version, the disk controller determines whether there is a block address of the auxiliary storage device for the latest version data (S550). When the block address of the auxiliary storage device does not exist, that is, when a delete command is recorded, since deletion of the latest version data is requested, the disk controller deletes the data stored in the block address X of the disk (S560). . When the block address of the auxiliary storage device exists, the disk controller stores the last version data in the block address X of the disk (S570).

단계 S560 및 S570 이후, 디스크 컨트롤러는 주소 매핑 테이블에서, 최신 버전 데이터 및 이전 버전 데이터에 대한 블록 주소 및 타임 스탬프에 대한 정보를 삭제(S580)한다.After steps S560 and S570, the disk controller deletes information on block addresses and time stamps for the latest version data and previous version data from the address mapping table (S580).

도 6은 본 발명의 일실시예에 따른 호스트의 읽기 명령에 대한 데이터 처리 방법을 설명하기 위한 도면이다.6 is a diagram illustrating a data processing method for a read command of a host according to an embodiment of the present invention.

본 발명의 일실시예에 따른 디스크 컨트롤러는, 디스크의 블록 주소에 대한 호스트의 읽기 명령을 수신하고, 주소 매핑 테이블에 디스크의 블록 주소의 존재 여부에 따라서, 디스크 또는 보조 저장 장치에 대해 읽기 명령을 수행한다.The disk controller according to an embodiment of the present invention receives a read command from a host for a block address of a disk, and issues a read command to a disk or an auxiliary storage device according to the presence of a block address of the disk in the address mapping table. Perform.

도 6을 참조하며 보다 자세히 설명하면, 호스트가 디스크 컨트롤러로 디스크 블록 주소 X에 대한 읽기를 요청(S610)한 경우, 디스크 컨트롤러는 주소 매핑 테이블에, 디스크의 블록 주소 X에 대한 정보가 존재하는지 확인(S620)한다.Referring to FIG. 6 and describing in more detail, when a host requests a disk controller to read the disk block address X (S610), the disk controller checks whether information about the disk block address X exists in the address mapping table. (S620).

주소 매핑 테이블에 디스크의 블록 주소 X에 대한 정보가 존재하지 않는 경우, 디스크 컨트롤러는 이미 보조 저장 장치에 저장된 데이터가 디스크에 저장된 것으로 판단하여, 디스크로부터 디스크 블록 주소 X에 저장된 데이터를 읽어온다(S630).If there is no information on the block address X of the disk in the address mapping table, the disk controller determines that data already stored in the auxiliary storage device is stored on the disk, and reads the data stored in the disk block address X from the disk (S630). ).

주소 매핑 테이블에 디스크의 블록 주소 X에 대한 정보가 존재하는 경우, 보조 저장 장치의 데이터가 디스크에 저장되기 전이므로, 디스크 컨트롤러는 디스크의 블록 주소 X에 대한 최신 버전 데이터를 검색(S640)한다. 그리고 디스크 컨트롤러는 최신 버전 데이터에 대한 보조 저장 장치의 블록 주소가 주소 매핑 테이블에 존재하는지를 확인(S650)한다.When information about the block address X of the disk exists in the address mapping table, since the data of the auxiliary storage device is before being stored on the disk, the disk controller searches for the latest version data of the block address X of the disk (S640). Then, the disk controller checks whether the block address of the auxiliary storage device for the latest version data exists in the address mapping table (S650).

보조 저장 장치의 블록 주소가 존재하지 않는 경우, 해당 블록이 삭제된 것이므로, 디스크 컨트롤러는 호스트로 읽기 실패 메시지를 보고(S660)한다.If the block address of the auxiliary storage device does not exist, since the block has been deleted, the disk controller reports a read failure message to the host (S660).

보조 저장 장치의 블록 주소 Y가 존재하는 경우, 디스크 컨트롤러는 보조 저장 장치의 블록 주소 Y에 저장된 데이터를 읽어온다(S670).When the block address Y of the auxiliary storage device exists, the disk controller reads the data stored in the block address Y of the auxiliary storage device (S670).

도 7은 본 발명의 일실시예에 따른, 호스트의 삭제 명령에 대한 데이터 처리 방법을 설명하기 위한 도면이다.7 is a diagram for explaining a data processing method for a delete command from a host according to an embodiment of the present invention.

본 발명의 일실시예에 따른 디스크 컨트롤러는, 디스크의 블록 주소에 대한 호스트의 삭제 명령을 수신(S710)하며, 주소 매핑 테이블서, 삭제 명령을 기록한다.이 때, 디스크 컨트롤러는 보조 저장 장치의 블록 주소가 삭제되었다는 정보를 “-“ 등과 같은 식별자를 이용하여, 데이터가 삭제된 시간의 타임 스탬프와 함께 주소 매핑 테이블에 기록(S720)한다.The disk controller according to an embodiment of the present invention receives a host delete command for a block address of the disk (S710), and records the address mapping table and the delete command. In this case, the disk controller of the auxiliary storage device Information indicating that the block address has been deleted is recorded in the address mapping table together with a time stamp of the time at which the data was deleted using an identifier such as “-” (S720).

앞서 설명한 기술적 내용들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예들을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 하드웨어 장치는 실시예들의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The technical contents described above may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiments, or may be known and usable to those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. -A hardware device specially configured to store and execute program instructions such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of the program instructions include not only machine language codes such as those produced by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware device may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.As described above, in the present invention, specific matters such as specific components, etc., and limited embodiments and drawings have been described, but this is provided only to help a more general understanding of the present invention, and the present invention is not limited to the above embodiments. , If a person of ordinary skill in the field to which the present invention belongs, various modifications and variations are possible from these descriptions. Therefore, the spirit of the present invention is limited to the described embodiments and should not be defined, and all things that are equivalent or equivalent to the claims as well as the claims to be described later fall within the scope of the spirit of the present invention. .

Claims (12)

디스크의 블록 주소에 대한 호스트의 쓰기 명령을 수신하는 단계;
상기 디스크의 블록 주소에 대응되는 보조 저장 장치의 블록 주소에 대해, 상기 쓰기 명령을 수행하는 단계; 및
미리 설정된 유예 시간 이후, 상기 보조 저장 장치의 블록 주소에 저장된 데이터를 상기 디스크의 블록 주소에 저장하는 단계를 포함하며,
상기 쓰기 명령을 수행하는 단계는
주소 매핑 테이블을 이용하여, 상기 쓰기 명령을 수행하며, 상기 보조 저장 장치의 블록 주소에 저장된 데이터가 미리 설정된 기준 시간 이내에 갱신되는 경우, 상기 보조 저장 장치의 블록 주소에 갱신되는 데이터를 덮어쓰며, 상기 보조 저장 장치의 블록 주소에 저장된 데이터가 상기 기준 시간 이후에 갱신되는 경우, 상기 디스크의 블록 주소에 대응되는 상기 보조 저장 장치의 새로운 블록 주소에 상기 갱신되는 데이터를 저장하며,
상기 주소 매핑 테이블은
상기 디스크의 블록 주소, 상기 보조 저장 장치의 블록 주소 및 상기 쓰기 명령이 수행된 시간을 나타내는 타임 스탬프를 포함하는
자동 백업 및 복원을 위한 쓰기 제어 방법.
Receiving a write command from the host for the block address of the disk;
Performing the write command on a block address of an auxiliary storage device corresponding to the block address of the disk; And
After a preset grace time, storing data stored in the block address of the auxiliary storage device in the block address of the disk,
The step of performing the write command
When the write command is performed using the address mapping table, and the data stored in the block address of the auxiliary storage device is updated within a preset reference time, the updated data is overwritten in the block address of the auxiliary storage device, When data stored in the block address of the auxiliary storage device is updated after the reference time, the updated data is stored in a new block address of the auxiliary storage device corresponding to the block address of the disk,
The address mapping table is
Including a block address of the disk, a block address of the auxiliary storage device, and a time stamp indicating a time at which the write command was executed
Write control method for automatic backup and restore.
삭제delete 삭제delete 제 1항에 있어서,
상기 데이터를 상기 디스크의 블록 주소에 저장하는 단계는
상기 유예 시간 동안, 상기 보조 저장 장치에 대한 이상 행동 발생 여부를 확인하는 단계; 및
상기 확인 결과에 따라서, 상기 데이터를 상기 디스크의 블록 주소에 저장하는 단계
를 포함하는 자동 백업 및 복원을 위한 쓰기 제어 방법.
The method of claim 1,
Storing the data in the block address of the disk
Checking whether an abnormal behavior has occurred in the auxiliary storage device during the grace period; And
Storing the data in the block address of the disk according to the verification result
Write control method for automatic backup and restore comprising a.
제 4항에 있어서,
상기 데이터를 상기 디스크의 블록 주소에 저장하는 단계는
상기 타임 스탬프를 이용하여, 사용자의 요청 시점에 따른 데이터를 상기 디스크의 블록 주소에 저장하는
자동 백업 및 복원을 위한 쓰기 제어 방법.
The method of claim 4,
Storing the data in the block address of the disk
Using the time stamp, storing data according to the user's request time in the block address of the disk
Write control method for automatic backup and restore.
제 4항에 있어서,
상기 데이터를 상기 디스크의 블록 주소에 저장하는 단계는
상기 이상 행동이 발생된 경우, 상기 주소 매핑 테이블에서 상기 블록 주소 및 상기 타임 스탬프에 대한 정보를 삭제하는
자동 백업 및 복원을 위한 쓰기 제어 방법.
The method of claim 4,
Storing the data in the block address of the disk
When the abnormal behavior occurs, deleting information on the block address and the time stamp from the address mapping table
Write control method for automatic backup and restore.
제 4항에 있어서,
상기 데이터를 상기 디스크의 블록 주소에 저장하는 단계는
상기 보조 저장 장치의 블록 주소에 저장된 데이터가 상기 디스크의 블록 주소에 저장된 이후, 상기 주소 매핑 테이블에서 상기 블록 주소 및 상기 타임 스탬프에 대한 정보를 삭제하는
자동 백업 및 복원을 위한 쓰기 제어 방법.
The method of claim 4,
Storing the data in the block address of the disk
After data stored in the block address of the auxiliary storage device is stored in the block address of the disk, information on the block address and the time stamp is deleted from the address mapping table.
Write control method for automatic backup and restore.
제 6항 또는 제 7항에 있어서,
상기 디스크의 블록 주소에 대한 호스트의 읽기 명령을 수신하는 단계; ??
상기 주소 매핑 테이블에 상기 디스크의 블록 주소의 존재 여부에 따라서, 상기 디스크 또는 상기 보조 저장 장치에 대해 상기 읽기 명령을 수행하는 단계
를 더 포함하는 자동 백업 및 복원을 위한 쓰기 제어 방법.
The method of claim 6 or 7,
Receiving a read command from the host for the block address of the disk; ??
Performing the read command on the disk or the auxiliary storage device according to whether the block address of the disk exists in the address mapping table
Write control method for automatic backup and restore further comprising a.
제 1항에 있어서,
상기 디스크의 블록 주소에 대한 호스트의 삭제 명령을 수신하는 단계; 및
상기 주소 매핑 테이블에, 상기 삭제 명령을 기록하는 단계
를 더 포함하는 자동 백업 및 복원을 위한 쓰기 제어 방법.
The method of claim 1,
Receiving a host delete command for the block address of the disk; And
Recording the delete command in the address mapping table
Write control method for automatic backup and restore further comprising a.
제 1항에 있어서,
상기 보조 저장 장치는
USB, SD 카드 또는 상기 디스크의 일부 공간인
자동 백업 및 복원을 위한 쓰기 제어 방법.
The method of claim 1,
The auxiliary storage device is
USB, SD card or some space on the disk
Write control method for automatic backup and restore.
삭제delete 삭제delete
KR1020190164414A 2019-12-11 2019-12-11 Write control method and disk controller for automated backup and recovery KR102189607B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190164414A KR102189607B1 (en) 2019-12-11 2019-12-11 Write control method and disk controller for automated backup and recovery

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190164414A KR102189607B1 (en) 2019-12-11 2019-12-11 Write control method and disk controller for automated backup and recovery

Publications (1)

Publication Number Publication Date
KR102189607B1 true KR102189607B1 (en) 2020-12-11

Family

ID=73786460

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190164414A KR102189607B1 (en) 2019-12-11 2019-12-11 Write control method and disk controller for automated backup and recovery

Country Status (1)

Country Link
KR (1) KR102189607B1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070057337A (en) * 2005-12-01 2007-06-07 삼성전자주식회사 Solid state disk including buffer
KR20110016134A (en) * 2009-08-11 2011-02-17 성균관대학교산학협력단 Ssd device and method for managing data in the ssd device
JP2013041403A (en) * 2011-08-15 2013-02-28 Toshiba Corp Information processor and information processing method
KR20140146718A (en) * 2013-06-17 2014-12-29 한국산업기술대학교산학협력단 System for electric control unit upgrade with security functions and method thereof
KR101888405B1 (en) * 2016-06-01 2018-08-14 주식회사 맴레이 Memory controller, and memory module and processor including the same

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070057337A (en) * 2005-12-01 2007-06-07 삼성전자주식회사 Solid state disk including buffer
KR20110016134A (en) * 2009-08-11 2011-02-17 성균관대학교산학협력단 Ssd device and method for managing data in the ssd device
JP2013041403A (en) * 2011-08-15 2013-02-28 Toshiba Corp Information processor and information processing method
KR20140146718A (en) * 2013-06-17 2014-12-29 한국산업기술대학교산학협력단 System for electric control unit upgrade with security functions and method thereof
KR101888405B1 (en) * 2016-06-01 2018-08-14 주식회사 맴레이 Memory controller, and memory module and processor including the same

Similar Documents

Publication Publication Date Title
US6618794B1 (en) System for generating a point-in-time copy of data in a data storage system
JP4520755B2 (en) Data migration method and data migration apparatus
KR101301828B1 (en) Method and apparatus for power-off recovery in flash memory-based solid state drive
US7401197B2 (en) Disk array system and method for security
US11556428B2 (en) Backup system including a data protection area and a read-only volume used by a controller to read a copy of backup data from the data protection area
US7624243B2 (en) Apparatus and method for protecting system data on computer hard-disk
US20110197279A1 (en) Management methods of storage system and file system
US8060711B2 (en) Storage system
US20120311261A1 (en) Storage system and storage control method
US20090089880A1 (en) Computer system and virus-scan method
CA2633350A1 (en) Permanent storage appliance
US10572335B2 (en) Metadata recovery method and apparatus
JP4924645B2 (en) Storage control device, storage system, and copy method.
US7853769B2 (en) Computer system for managing number of writes for storage medium and control method therefor
US10664193B2 (en) Storage system for improved efficiency of parity generation and minimized processor load
US20140337301A1 (en) Big data extraction system and method
US8539156B2 (en) Storage subsystem and its logical unit processing method
US9229814B2 (en) Data error recovery for a storage device
US20050289309A1 (en) Storage control system and storage control method
KR102189607B1 (en) Write control method and disk controller for automated backup and recovery
KR102277731B1 (en) Method for operating storage system and storage controller
CN112825098A (en) Data protection method and device, computing equipment and storage medium
JP2000020367A (en) Information storing method, information storage device and recording medium
JP2005352535A (en) Method of protecting data
US20130031320A1 (en) Control device, control method and storage apparatus

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant