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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller 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
Description
본 발명은 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
수신부(131)는 디스크(140)의 블록 주소에 대한 호스트(110)의 쓰기 명령을 수신한다.The
라우팅부(132)는 디스크(140)의 블록 주소에 대응되는 보조 저장 장치(150)의 블록 주소를 관리한다. 즉, 라우팅부(132)는 쓰기 요청된 디스크의 블록 주소에 매핑되는 보조 저장 장치(150)의 블록 주소를 관리하며, 이러한 주소 관리를 위해 일실시예로서, 도 2와 같은 주소 매핑 테이블을 이용할 수 있다.The
백업-복원부(133)는 디스크(140)의 블록 주소에 대응되는 보조 저장 장치(150)의 블록 주소에 쓰기 명령을 수행하고, 보조 저장 장치(150)의 블록 주소에 저장된 데이터를, 미리 설정된 유예 시간 이후, 디스크(140)의 블록 주소에 저장한다. 즉, 호스트(110)의 쓰기 요청된 데이터를 보조 저장 장치(150)에 1차적으로 백업한 후, 유예 시간이 지나면 디스크(140)에 백업된 데이터를 저장한다.The backup-
이와 같이, 본 발명의 일실시예에 따르면, 쓰기 요청된 데이터가 디스크에 바로 저장되는 것이 아니라 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-
이하, 도 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
라우팅부(132)는 쓰기 요청된 디스크(140)의 블록 주소를 보조 저장 장치(150)의 블록 주소로 변환하여 주소 매핑 테이블에 저장하고, 쓰기 명령이 수행된 시간 역시 주소 매핑 테이블에 저장한다. 즉, 쓰기 요청된 디스크(140)의 블록 주소는 보조 저장 장치(150)의 블록 주소와 매핑되며, 보조 저장 장치(150)에 데이터가 저장된 시간이 타임 스탬프로서 기록된다.The
이 때, 보조 저장 장치(150)의 블록 주소에 저장된 데이터가 미리 설정된 기준 시간 이내에 갱신되는 경우, 갱신된 데이터는 보조 저장 장치(150)의 블록 주소에 덮어 씌여진다. 따라서, 디스크(140)의 블록 주소에 대응되는 보조 저장 장치(150)의 블록 주소에는 변화가 없으며, 라우팅부(132)는 타임 스탬프 값만을 갱신된 데이터가 저장된 시점으로 갱신한다. In this case, when data stored in the block address of the
반면, 보조 저장 장치(150)의 블록 주소에 저장된 데이터가 기준 시간 이후에 갱신되는 경우, 디스크(140)의 블록 주소에 대응되는 보조 저장 장치(150)의 새로운 블록 주소에 갱신되는 데이터가 저장된다. 라우팅부(132)는 보조 저장 장치(150)의 새로운 블록 주소를 주소 매핑 테이블에 기록하고, 갱신된 데이터가 저장된 시점을 타임 스탬프 값으로 기록한다.On the other hand, when data stored in the block address of the
예컨대, 도 2와 같이 디스크 블록 주소 1에 대응되는 보조 저장 장치 블록 주소 1에 데이터가 저장된 상태에서, 기준 시간 이후에 데이터가 갱신되는 경우, 보조 저장 장치(150)의 새로운 블록 주소 6에 갱신된 데이터가 저장되고, 저장된 시점에 대한 타임 스탬프가 기록된다.For example, in a state in which data is stored in the auxiliary storage
또한, 본 발명의 다른 실시예에 따르면, 디스크(140)의 블록 주소에 대한 호스트(110)의 삭제 명령이 발생한 경우, 라우팅부(132)는 주소 매핑 테이블에 디스크(140)의 블록 주소에 대한 삭제 명령이 발생하였음을 기록할 수 있다. 보조 저장 장치(150)의 블록 주소를 삭제할 수 있다. 예컨대, 도 2와 같이, 디스크 블록 주소 2에 대응되는 보조 저장 장치 블록 주소 3에 데이터가 저장된 이후, 디스크 블록 주소 2에 대한 삭제 명령이 발생한 경우, 라우팅부(132)는 "-" 표시와 같은 별도의 식별자를 이용해, 삭제 명령이 발생한 사실을 기록하며, 데이터가 삭제된 시간을 타임 스탬프로 기록한다. In addition, according to another embodiment of the present invention, when the
도 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.
상기 데이터를 상기 디스크의 블록 주소에 저장하는 단계는
상기 유예 시간 동안, 상기 보조 저장 장치에 대한 이상 행동 발생 여부를 확인하는 단계; 및
상기 확인 결과에 따라서, 상기 데이터를 상기 디스크의 블록 주소에 저장하는 단계
를 포함하는 자동 백업 및 복원을 위한 쓰기 제어 방법.
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.
상기 데이터를 상기 디스크의 블록 주소에 저장하는 단계는
상기 타임 스탬프를 이용하여, 사용자의 요청 시점에 따른 데이터를 상기 디스크의 블록 주소에 저장하는
자동 백업 및 복원을 위한 쓰기 제어 방법.
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.
상기 데이터를 상기 디스크의 블록 주소에 저장하는 단계는
상기 이상 행동이 발생된 경우, 상기 주소 매핑 테이블에서 상기 블록 주소 및 상기 타임 스탬프에 대한 정보를 삭제하는
자동 백업 및 복원을 위한 쓰기 제어 방법.
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.
상기 데이터를 상기 디스크의 블록 주소에 저장하는 단계는
상기 보조 저장 장치의 블록 주소에 저장된 데이터가 상기 디스크의 블록 주소에 저장된 이후, 상기 주소 매핑 테이블에서 상기 블록 주소 및 상기 타임 스탬프에 대한 정보를 삭제하는
자동 백업 및 복원을 위한 쓰기 제어 방법.
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.
상기 디스크의 블록 주소에 대한 호스트의 읽기 명령을 수신하는 단계; ??
상기 주소 매핑 테이블에 상기 디스크의 블록 주소의 존재 여부에 따라서, 상기 디스크 또는 상기 보조 저장 장치에 대해 상기 읽기 명령을 수행하는 단계
를 더 포함하는 자동 백업 및 복원을 위한 쓰기 제어 방법.
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.
상기 디스크의 블록 주소에 대한 호스트의 삭제 명령을 수신하는 단계; 및
상기 주소 매핑 테이블에, 상기 삭제 명령을 기록하는 단계
를 더 포함하는 자동 백업 및 복원을 위한 쓰기 제어 방법.
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.
상기 보조 저장 장치는
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.
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)
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 |
-
2019
- 2019-12-11 KR KR1020190164414A patent/KR102189607B1/en active IP Right Grant
Patent Citations (5)
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 |