KR100827287B1 - Semiconductor secondary memory unit and data saving method using the same - Google Patents

Semiconductor secondary memory unit and data saving method using the same Download PDF

Info

Publication number
KR100827287B1
KR100827287B1 KR1020070015838A KR20070015838A KR100827287B1 KR 100827287 B1 KR100827287 B1 KR 100827287B1 KR 1020070015838 A KR1020070015838 A KR 1020070015838A KR 20070015838 A KR20070015838 A KR 20070015838A KR 100827287 B1 KR100827287 B1 KR 100827287B1
Authority
KR
South Korea
Prior art keywords
data
memory
controller
backup storage
host
Prior art date
Application number
KR1020070015838A
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 주식회사 태진인포텍
Application granted granted Critical
Publication of KR100827287B1 publication Critical patent/KR100827287B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/30Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • 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/0656Data buffering arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

A semiconductor secondary memory device and a data storing method using the same are provided to improve a data transfer rate of a DMA(Direct Memory Access) controller in interface with a host and improve a data storage rate by replacing a mechanical storage medium with a semiconductor memory device. A host interface unit(310) is connected to a system bus(200) and receives a command from a host. A memory controller(330) inputs and outputs data from a memory(350). A backup storage device controller inputs and outputs the data from a backup storage device(360). A DMA controller(320) reads or writes the data to the memory and a system main storage device(100) by controlling a memory controller or a backup storage device controller, and backs up or restores the data between the backup storage device and the memory by the command received from the host through the host interface unit. A power controller(370) supplies power received from an external PSU(Power Supply Unit) to each part. A sub PSU(380) supplies the power to the power controller when the power is abnormally supplied to each part from the external PSU. The power controller informs abnormal power supply to the DMA controller when abnormal power supply of the external PSU is detected.

Description

반도체 보조 기억 장치 및 이를 이용한 데이터 저장 방법{Semiconductor Secondary Memory Unit and Data Saving Method Using the Same}Semiconductor secondary memory device and data storage method using the same {Semiconductor Secondary Memory Unit and Data Saving Method Using the Same}

도 1은 본 발명의 실시 예에 따른 반도체 보조 기억 장치의 구성을 도시한 블록도.1 is a block diagram illustrating a configuration of a semiconductor auxiliary memory device according to an exemplary embodiment of the present invention.

도 2는 도 1에 있어서, DMA 컨트롤 장치의 구성을 도시한 블록도.FIG. 2 is a block diagram showing the configuration of a DMA control apparatus in FIG. 1; FIG.

도 3은 본 발명의 실시 예에 따른 반도체 보조 기억 장치를 이용한 데이터 저장 방법의 순서를 도시한 순서도.3 is a flowchart illustrating a procedure of a data storage method using a semiconductor auxiliary memory device according to an embodiment of the present invention.

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

100: 시스템 주 기억 장치 200: 시스템 버스100: system main memory 200: system bus

300: 반도체 보조 기억 장치 310: 호스트 인터페이스300: semiconductor auxiliary memory 310: host interface

320: DMA 컨트롤 장치 321: 호스트 인터페이스 제어부320: DMA control unit 321: host interface control unit

322: DMA 상태 레지스터 323: DMA 상태 머신322: DMA Status Register 323: DMA Status Machine

324: 메모리 컨트롤러 제어부 325: 제1버퍼324: memory controller controller 325: first buffer

326: 제2버퍼 327: 백업용 저장장치 컨트롤러 제어부326: second buffer 327: backup storage controller controller

328: 제3버퍼 329: 제4버퍼328: third buffer 329: fourth buffer

330: 메모리 컨트롤러 340: 백업용 저장장치 컨트롤러330: memory controller 340: storage controller for backup

350: 메모리 360: 백업용 저장장치350: memory 360: storage device for backup

370: 전원 제어부 380: 보조 전원부370: power control unit 380: auxiliary power unit

본 발명은 반도체 보조 기억 장치 및 이를 이용한 데이터 저장 방법에 관한 것으로, 호스트와의 인터페이스에서 DMA(Direct Memory Access: DMA) 컨트롤 장치의 데이터 전송 속도를 향상시키며, 저장 매체를 기계식(예를 들어, HDD 및 FDD 등)에서 반도체(메모리)로 대체하여 데이터 저장 속도를 향상시키도록 한 반도체 보조 기억 장치 및 이를 이용한 데이터 저장 방법에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a semiconductor auxiliary storage device and a data storage method using the same. And an auxiliary memory device for improving data storage speed by replacing a semiconductor (memory) with an FDD) and a data storage method using the same.

일반적으로 반도체 보조 기억 장치는 직접 메모리 접속(이하, DMA라 함) 관련 기능을 보유하고 있다.In general, the semiconductor auxiliary memory device has a function related to a direct memory connection (hereinafter referred to as DMA).

DMA는 부착된 주변장치로부터 컴퓨터 마더보드 상의 저장매체로 데이터를 직접 보낼 수 있는 몇몇 컴퓨터의 버스 기능이다.DMA is a bus feature of some computers that can send data directly from attached peripherals to storage media on the computer motherboard.

이러한, DMA 방식은 각종 보조 기억 장치와 주 기억 장치 사이의 데이터 전송시, 중앙처리장치(Central Processing Unit: CPU) 또는 마이크로프로세서(Micro-Processor)에 의해 속도가 제한되는 것을 방지하고자 데이터 전송 경로에서 중앙처 리장치를 제거하고, 주변장치가 직접 메모리 버스를 관리하여 전송 속도를 증가시키는 방식이다. 즉, 중앙처리장치 또는 마이크로프로세서는 데이터 전송에 관여하지 않으므로, 전체적인 컴퓨터 성능이 높아진다.In the DMA scheme, the data transfer path is prevented from being limited by a central processing unit (CPU) or a microprocessor when transferring data between various auxiliary storage devices and the main memory device. Eliminating the central processing unit, the peripherals directly manage the memory bus to increase the transfer rate. In other words, the central processing unit or microprocessor is not involved in the data transfer, thereby increasing the overall computer performance.

다시 말하면, DMA 기능 수행 동안 중앙처리장치는 메모리 버스를 제어하지 않고 쉬게 된다. In other words, during execution of the DMA function, the central processing unit rests without controlling the memory bus.

이를 위하여 보조 기억 장치와의 연결에 있어서 각종 DMA 방식을 스팩(Specification) 상에 정의하고 있다. 이 스팩들은 사용자가 각각의 필요에 맞도록 DMA 엔진(Engine)을 각각 설계할 수 있도록 유연성을 가진다.To this end, various DMA schemes in connection with the auxiliary storage device are defined on the specification. These specifications give users the flexibility to design their own DMA engines to meet their needs.

이러한 DMA 엔진 중 대표적인 엔진으로는 버퍼 DMA(Buffered DMA) 엔진을 들 수 있다. A representative engine among such DMA engines is a buffered DMA engine.

버퍼 DMA는 다수의 데이터 프레임에 대한 정보 및 주소를 버퍼 디스크립터(Buffer Descriptor)라는 이름의 구조(Structure)로 관리하며, 버퍼 디스크립터는 링크드 리스트(Linded List)구조로 연결되어 있다.The buffer DMA manages information and addresses of a plurality of data frames in a structure named a buffer descriptor, and the buffer descriptors are connected in a linked list structure.

그러나, 현재까지 나와 있는 보조 기억 장치를 위한 DMA 엔진들은 기본적으로 자화(Magnetization)를 이용한 보조 기억 장치를 위한 것으로 자화되는 속도가 호스트 인터페이스 부분의 속도보다 느리기 때문에, 해당 호스트 인터페이스 쪽의 속도 제어는 개발되지 않고 있다.However, the DMA engines for the auxiliary memory that have been presented up to now are basically for the auxiliary memory using magnetization, and the speed control on the host interface side is developed because the magnetization speed is slower than that of the host interface part. It is not.

한편, 컴퓨터 시스템에서는 대용량의 데이터를 오랜 기간 또는 안전하게 보존하기 위하여 데이터 저장 기술로 데이터 백업(Back-up) 기술을 사용하는데, 이러한 데이터 백업 기술은 중앙처리장치가 일정 시간 또는 공간 등을 지정한 백업 정 책을 설정하고, 이에 따라 보조 기억 장치를 제어하여 저장하는 기술이다.On the other hand, computer systems use data backup technology as a data storage technology in order to preserve large amounts of data for a long time or safely. Such data backup technology uses a backup schedule designated by a central processing unit for a predetermined time or space. It is a technique for setting a book and controlling and storing the auxiliary memory accordingly.

이러한, 데이터 백업은 중요한 데이터를 지정한 백업 정책에 기인하여 다른 별도의 저장 공간에 사본을 저장하는 것을 말한다.Such data backup refers to storing a copy in another separate storage space due to a backup policy that designates important data.

하지만, 최근 데이터 전송 기술의 발달로 점차 전송해야 할 데이터 용량이 늘어남에 따라 백업 시간이 기하 급수적으로 증가하게 되고, 이에 따라 백업 정책을 잘못 세울 경우 중앙처리장치는 백업을 수행하기 위하여 다른 중요한 작업을 수행할 수 없게 되는 현상이 발생하게 되는 문제점이 있었다.However, with the recent development of data transfer technology, the backup time increases exponentially with the increase of data capacity to be transferred. Therefore, if the backup policy is incorrectly set, the central processing unit performs other important tasks to perform the backup. There was a problem that the phenomenon that can not be performed.

전술한 바와 같은 문제점을 해결하기 위한 것으로, 본 발명은 호스트와의 인터페이스에서 DMA 컨트롤 장치의 데이터 전송 속도를 향상시키며, 저장 매체를 기계식(예를 들어, HDD 및 FDD 등)에서 반도체(메모리)로 대체하여 데이터 저장 속도를 향상시키도록 한 반도체 보조 기억 장치 및 이를 이용한 데이터 저장 방법을 제공하는데, 그 목적이 있다.In order to solve the above problems, the present invention improves the data transfer speed of the DMA control device at the interface with the host, and the storage medium is transferred from mechanical (for example, HDD and FDD) to semiconductor (memory). An object of the present invention is to provide a semiconductor auxiliary memory device and a data storage method using the same, which are intended to improve data storage speed.

또한, 본 발명은 보조 기억 장치에서 메모리에 저장된 데이터를 자체적으로 백업함으로써, 보조 기억 장치가 다른 기능 수행시 중앙처리장치의 부하를 감소시키며, 데이터 백업 속도를 향상시켜 데이터 저장시 신뢰성을 높여주도록 하는데, 그 목적이 있다. In addition, the present invention backs up the data stored in the memory in the auxiliary storage device by itself, thereby reducing the load on the central processing unit when the auxiliary storage device performs other functions, and improves the data backup speed to increase reliability when storing data. , Its purpose is.

상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 반도체 보조 기억 장치는, 전원을 공급하는 외부 전원부 및 데이터를 저장하고 있는 시스템 주 기억 장치가 연결되어 있는 시스템 버스에 연결되어 있으며, 데이터 저장 수단인 메모리 및 백업용 저장장치를 구비한 반도체 보조 기억 장치에 있어서, 상기 시스템 버스에 연결되어 있으며, 호스트로부터의 명령을 입력받는 호스트 인터페이스부와; 상기 메모리에 데이터를 입출력하는 메모리 컨트롤러와; 상기 백업용 저장장치에 데이터를 입출력하는 백업용 저장장치 컨트롤러와; 상기 호스트 인터페이스부를 통한 호스트로부터의 명령에 따라 상기 메모리 컨트롤러 및 상기 백업용 저장장치 컨트롤러를 제어하여 상기 메모리와 상기 시스템 주 기억 장치 사이에서 데이터를 읽거나 쓰고, 상기 백업용 저장장치와 상기 메모리 사이에서 데이터를 백업/복원하는 DMA 컨트롤 장치와; 상기 외부 전원부로부터의 전원을 상기 호스트 인터페이스부, 메모리 컨트롤러, 백업용 저장장치 컨트롤러 및 상기 DMA 컨트롤 장치에 공급하는 전원 제어부를 포함하여 이루어지는 것을 특징으로 한다.A semiconductor auxiliary memory device according to an embodiment of the present invention for achieving the above object is connected to a system bus to which an external power supply for supplying power and a system main memory device for storing data are connected. A semiconductor auxiliary memory having a memory as a storage means and a backup storage device, comprising: a host interface connected to the system bus and receiving a command from a host; A memory controller for inputting and outputting data into the memory; A backup storage controller for inputting / outputting data into the backup storage device; The memory controller and the backup storage controller are controlled to read or write data between the memory and the system main storage device according to a command from the host through the host interface unit, and data is written between the backup storage device and the memory. A DMA control device for backing up and restoring; And a power control unit for supplying power from the external power supply unit to the host interface unit, a memory controller, a backup storage controller, and the DMA control device.

한편, 본 발명의 실시 예에 따른 반도체 보조 기억 장치를 이용한 데이터 저장 방법은, 전원을 공급하는 외부 전원부 및 데이터를 저장하고 있는 시스템 주 기억 장치가 연결되어 있는 시스템 버스에 연결되어 있으며, 데이터 저장 수단인 메모리 및 백업용 저장장치를 구비한 반도체 보조 기억 장치를 이용한 데이터 저장 방법에 있어서, 상기 외부 전원부로부터의 전원 이상 여부를 확인하여 이상이 없는 경우에, 호스트로부터의 명령을 분석하는 제1과정과; 상기 분석된 명령에 따라 상기 메모리에 데이터를 쓰거나, 또는 상기 메모리로부터 데이터를 읽는 제2과정과; 상기 분석된 명령에 따라 상기 메모리에 기록된 데이터를 상기 백업용 저장장치에 백업시키거나, 상기 백업용 저장장치에 백업된 데이터를 상기 메모리로 복원시키는 제3과정을 포함하여 이루어지는 것을 특징으로 한다.Meanwhile, the data storage method using the semiconductor auxiliary memory device according to an embodiment of the present invention is connected to a system bus to which an external power supply unit for supplying power and a system main memory device for storing data are connected. A data storage method using a semiconductor auxiliary memory device having an in-memory and a backup storage device, comprising: a first step of checking a power supply error from the external power supply unit and analyzing a command from a host when there is no error; A second process of writing data to or reading data from the memory according to the analyzed command; And a third step of backing up the data recorded in the memory to the backup storage device or restoring the data backed up to the backup storage device to the memory according to the analyzed command.

본 발명의 실시 예에 따른 반도체 보조 기억 장치는 컴퓨터 시스템 내에서 도 1에 도시된 바와 같이, 시스템 주 기억 장치(100)와 시스템 버스(200)를 통해 연결되어 있는 호스트 인터페이스(310)와, DMA 컨트롤 장치(320)와, 메모리 컨트롤러(330)와, 백업용 저장장치 컨트롤러(340)와, 메모리(350)와, 백업용 저장장치(360)와, 전원 제어부(370)를 구비하여 이루어진다. According to an embodiment of the present disclosure, a semiconductor auxiliary memory device may include a host interface 310 and a DMA connected to a system main memory device 100 and a system bus 200 as illustrated in FIG. 1 in a computer system. The control device 320, the memory controller 330, the backup storage controller 340, the memory 350, the backup storage device 360, and the power control unit 370 are provided.

예를 들어, 상기 백업용 저장장치(360)는 하드디스크(HDD), FDD, MMC, SD 및 PCMCI 등으로 이루어진다.For example, the backup storage device 360 may include a hard disk (HDD), FDD, MMC, SD, PCMCI, and the like.

상기 DMA 컨트롤 장치(320)는 상기 호스트 인터페이스(310), 메모리 컨트롤러(330) 및 백업용 저장장치 컨트롤러(340)와 연결되어 이루어진다. 그리고, 상기 메모리 컨트롤러(330)는 상기 메모리(350)와 연결되어 이루어지며, 상기 백업용 저장장치 컨트롤러(340)는 상기 백업용 저장장치(360)와 연결되어 이루어진다. 그리고, 상기 전원 제어부(370)는 상기 시스템 버스(200) 및 보조 전원부(380)와 연결되어 이루어진다.The DMA control device 320 is connected to the host interface 310, the memory controller 330, and the backup storage controller 340. The memory controller 330 is connected to the memory 350, and the backup storage controller 340 is connected to the backup storage 360. The power control unit 370 is connected to the system bus 200 and the auxiliary power supply unit 380.

상기 호스트 인터페이스(310)는 호스트로부터의 명령을 상기 DMA 컨트롤 장치로 전달하며, 상기 DMA 컨트롤 장치로부터의 정보를 외부 출력하여 호스트에게 제공한다. 즉, 상기 호스트 인터페이스(310) 호스트와의 인터페이스에 따라 물리적인 접속을 지원한다. The host interface 310 transmits a command from the host to the DMA control device, and externally outputs information from the DMA control device to the host. That is, the host interface 310 supports a physical connection according to the interface with the host.

예를 들어, 상기 호스트 인터페이스(310)는 호스트와의 인터페이스에 따라 SCSI(Small Computer System Interface), SATA(Serial Advanced Technology Attachment), PCI(Peripheral Component Interconnect), PCI-X 및 PCI Express 등의 물리적인 접속을 지원한다.For example, the host interface 310 may be a physical device such as Small Computer System Interface (SCSI), Serial Advanced Technology Attachment (SATA), Peripheral Component Interconnect (PCI), PCI-X, and PCI Express, depending on the interface with the host. Support connection.

상기 DMA 컨트롤 장치(320)는 상기 호스트 인터페이스(310)를 통해 전달받은 호스트로부터의 명령에 따라 상기 메모리 컨트롤러(330)를 제어하여 상기 메모리(350)에 데이터를 읽거나 쓴다.The DMA control device 320 controls the memory controller 330 according to a command received from the host through the host interface 310 to read or write data to the memory 350.

또한, 상기 DMA 컨트롤 장치(320)는 상기 호스트 인터페이스(310)를 통해 전달받은 호스트로부터의 명령에 따라 백업용 저장장치 컨트롤러(340)를 제어하여 백업용 저장장치(360)에 데이터를 백업/복원시킨다.In addition, the DMA control device 320 controls the backup storage controller 340 according to a command received from the host through the host interface 310 to back up / restore data to the backup storage device 360.

이러한, 상기 DMA 컨트롤 장치(320)의 구성을 살펴보면 도 2에 도시된 바와 같이, 호스트 인터페이스 제어부(321), DMA 상태(State) 레지스터(322), DMA 상태 머신(Machine)(323), 메모리 컨트롤러 제어부(324), 제1,2버퍼(325,326), 백업용 저장장치 컨트롤러 제어부(327) 및 제3,4버퍼(328,329)를 구비하여 이루어진다.As shown in FIG. 2, the configuration of the DMA control device 320 includes a host interface controller 321, a DMA state register 322, a DMA machine 323, and a memory controller. The controller 324, the first and second buffers 325 and 326, the backup storage controller controller 327, and the third and fourth buffers 328 and 329 are provided.

상기 호스트 인터페이스 제어부(321)는 상기 호스트 인터페이스(310)를 통해 입력된 호스트로부터의 명령을 분석하여 해당 분석된 명령에 대한 정보를 상기 DMA 상태 레지스터(322)에 써넣고, 상기 DMA 상태 머신(323)을 구동시킨다.The host interface controller 321 analyzes a command from a host input through the host interface 310, writes information about the analyzed command into the DMA status register 322, and then writes the DMA state machine 323. ).

또한, 상기 호스트 인터페이스 제어부(321)는 상기 DMA 상태 머신(323)의 요 청에 따라 상기 시스템 버스(200)의 점유 가능 여부를 확인하고, 상기 시스템 버스(200)의 점유가 가능한 경우에, 상기 시스템 버스(200)를 점유하고 해당 점유된 시스템 버스(200)를 통해 상기 시스템 주 기억 장치(100)에 접속한 후에, 이에 대하여 상기 DMA 상태 머신(323)에게 통보한다. In addition, the host interface controller 321 checks whether the system bus 200 can be occupied in response to a request of the DMA state machine 323, and when the system bus 200 is occupied, After occupying a system bus 200 and connecting to the system main storage device 100 via the occupied system bus 200, the DMA state machine 323 is informed about this.

또한, 상기 호스트 인터페이스 제어부(321)는 호스트로부터의 명령을 분석하여 해당 분석된 명령이 데이터 쓰기인 경우에, 상기 메모리(350)에 쓸 데이터를 상기 시스템 주 기억 장치(100)로부터 가져와서 상기 제1버퍼(325)에 버퍼링시킨 후에, 이에 대하여 상기 DMA 상태 머신(323)에게 통보한다.In addition, the host interface controller 321 analyzes a command from the host and, when the analyzed command is a data write, obtains data to be written to the memory 350 from the system main storage device 100 and executes the data. After buffering one buffer 325, the DMA state machine 323 is informed about this.

또한, 상기 호스트 인터페이스 제어부(321)는 상기 DMA 상태 머신(323)의 통보에 따라 상기 제2버퍼(326)에 버퍼링된 데이터를 상기 시스템 주 기억 장치(100)에 쓴다.In addition, the host interface controller 321 writes the data buffered in the second buffer 326 to the system main memory device 100 according to the notification of the DMA state machine 323.

또한, 상기 호스트 인터페이스 제어부(321)는 호스트로부터의 명령 수행이 완료되면 상기 시스템 버스(200)의 점유를 해제한다.In addition, the host interface controller 321 releases the occupation of the system bus 200 when the command from the host is completed.

또한, 상기 호스트 인터페이스 제어부(321)는 상기 제2버퍼(326)에 버퍼링된 데이터를 상기 점유된 시스템 버스(200)를 통해 상기 시스템 주 기억 장치(100)에 쓴다.In addition, the host interface controller 321 writes data buffered in the second buffer 326 to the system main memory device 100 through the occupied system bus 200.

또한, 상기 호스트 인터페이스 제어부(321)는 상기 메모리(350)로부터 데이터를 읽는 도중에 데이터 읽기 오류 발생 여부를 지속적으로 확인하여, 상기 메모리(350)로부터 데이터 읽기 도중에 오류가 확인되지 않고, 상기 메모리(350)에 데이터 읽기가 완료된 경우에, 데이터 읽기가 정상적으로 종료되었다는 것을 호스트 인터페이스(310)를 통해 출력하여 호스트에게 통보하고, 해당 데이터 읽기에 관여한 모든 모듈에게 데이터 읽기가 완료되었음을 통보한다. In addition, the host interface controller 321 continuously checks whether a data read error occurs while reading data from the memory 350, so that an error is not checked while reading data from the memory 350, and the memory 350 In the case where data reading is completed), the host reads that the data reading is normally completed through the host interface 310 and notifies the host, and notifies all modules involved in the data reading that the data reading is completed.

여기서, 상기 호스트 인터페이스 제어부(321)에서 상기 메모리(350)로부터 데이터를 읽는 도중에 데이터 읽기 오류 발생 여부를 지속적으로 확인하는 것은, 다시 말해서 상기 호스트 인터페이스 제어부(321)에서 상기 제2버퍼(326)에 버퍼링된 데이터를 상기 점유된 시스템 버스(200)를 통해 상기 시스템 주 기억 장치(100)에 쓰는 도중에, 데이터 읽기 오류 발생 여부를 지속적으로 확인하는 것을 의미한다.Here, the host interface controller 321 continuously checks whether a data read error occurs while reading data from the memory 350. In other words, the host interface controller 321 sends the second buffer 326 to the second buffer 326. While writing the buffered data to the system main memory device 100 through the occupied system bus 200, it means to continuously check whether a data read error has occurred.

또한, 상기 호스트 인터페이스 제어부(321)는 상기 메모리(350)에 데이터 읽기 도중 오류가 확인된 경우에, 해당 확인된 오류의 종류를 분석하고 그 결과를 상기 호스트 인터페이스(310)를 통해 출력하여 호스트에게 통보하고, 해당 데이터 읽기에 관여한 모든 모듈에게 데이터 읽기가 완료되었음을 통보한다.In addition, when an error is confirmed while reading data in the memory 350, the host interface controller 321 analyzes the type of the identified error and outputs the result through the host interface 310 to the host. Notifies all modules involved in reading the data that the data reading is completed.

또한, 상기 호스트 인터페이스 제어부(321)는 상기 전원 제어부(370)로부터의 공급 전원 이상 검출 통보에 따라 상기 호스트 인터페이스(320)와의 통신을 차단하고, 자체 백업 명령을 발생시켜 해당 명령에 관한 정보를 상기 DMA 상태 레지스터(322)에 써넣고, 상기 DMA 상태 머신(323)을 구동시킨다.In addition, the host interface controller 321 interrupts communication with the host interface 320 according to the notification of supply power failure detection from the power controller 370, generates a self backup command, and provides information on the command. Write to DMA status register 322 to drive DMA state machine 323.

상기 DMA 상태 레지스터(322)는 상기 호스트 인터페이스 제어부(321)로부터 데이터 쓰기/읽기/백업/복원 명령에 대한 정보를 전달받아 이를 기록한다.The DMA status register 322 receives and writes information on a data write / read / backup / restore command from the host interface controller 321.

상기 DMA 상태 머신(323)은 상기 DMA 상태 레지스터(322)의 값에 따라 상기 호스트 인터페이스 제어부(321), 메모리 컨트롤러 제어부(324) 및 백업용 저장 장 치 컨트롤러 제어부(327) 등의 각 모듈을 컨트롤하기 위한 명령 신호를 발생시키며, 해당 각 모듈의 상태를 감시한다.The DMA state machine 323 controls each module such as the host interface controller 321, the memory controller controller 324, and the backup storage controller controller 327 according to the value of the DMA status register 322. It generates a command signal for monitoring the status of each module.

또한, 상기 DMA 상태 머신(323)은 상기 DMA 상태 레지스터(322)에 기록된 명령에 대한 정보에 따라 상기 호스트 인터페이스 제어부(321)와 상기 메모리 컨트롤러 제어부(324), 및 상기 메모리 컨트롤러 제어부(324)와 상기 백업용 저장장치 컨트롤러 제어부(327) 상호 간에 데이터 전송 명령을 한다.In addition, the DMA state machine 323 is the host interface control unit 321, the memory controller control unit 324, and the memory controller control unit 324 according to the information about the command recorded in the DMA state register 322 And a data transfer command between the backup storage controller controller 327.

또한, 상기 DMA 상태 머신(323)은 상기 DMA 상태 레지스터(322)에 기록된 정보에 따라 상기 시스템 주 기억 장치(100)에 접속하기 위해 상기 호스트 인터페이스 제어부(321)로 상기 시스템 버스(200) 점유 요청을 한다.The DMA state machine 323 also occupies the system bus 200 with the host interface controller 321 to access the system main storage device 100 in accordance with the information recorded in the DMA state register 322. Make a request.

또한, 상기 DMA 상태 머신(323)은 상기 호스트 인터페이스 제어부(321)의 통보에 따라 상기 메모리(350)에 쓸 데이터가 상기 제1버퍼(325)에 버퍼링되어 있음을 상기 메모리 컨트롤러 제어부(324)에게 통보한다.In addition, the DMA state machine 323 informs the memory controller controller 324 that data to be written to the memory 350 is buffered in the first buffer 325 according to the notification of the host interface controller 321. Notify.

또한, 상기 DMA 상태 머신(323)은 상기 메모리 컨트롤러 제어부(324)에게 메모리(350)로부터 데이터 읽기 요청을 한다.In addition, the DMA state machine 323 requests the memory controller controller 324 to read data from the memory 350.

또한, 상기 DMA 상태 머신(323)은 상기 제2버퍼(326)에 상기 메모리(350)로부터 읽을 데이터가 버퍼링되어 있음을 상기 호스트 인터페이스 제어부(321)에게 통보한다.In addition, the DMA state machine 323 notifies the host interface controller 321 that the second buffer 326 is buffered with data to be read from the memory 350.

또한, 상기 DMA 상태 머신(323)은 상기 DMA 상태 레지스터(322)에 기록된 정보에 따라 상기 백업용 저장장치 컨트롤러 제어부(327)에게 데이터를 백업할 백업용 저장장치(360)에게 데이터 입력이 가능한지 여부 확인을 요청한다.In addition, the DMA state machine 323 checks whether data can be input to the backup storage device 360 to back up data to the backup storage controller controller 327 according to the information recorded in the DMA state register 322. Ask.

또한, 상기 DMA 상태 머신(323)은 상기 메모리 컨트롤러 제어부(324)에게 메모리(350) 내의 데이터 백업 요청을 한다.In addition, the DMA state machine 323 requests the memory controller controller 324 to back up data in the memory 350.

또한, 상기 DMA 상태 머신(323)은 상기 제3버퍼(328)에 상기 메모리(350)로부터 백업할 데이터가 버퍼링되어 있음을 상기 백업용 저장장치 컨트롤러 제어부(327)에게 통보한다.In addition, the DMA state machine 323 notifies the backup storage controller controller 327 that the data to be backed up from the memory 350 is buffered in the third buffer 328.

또한, 상기 DMA 상태 머신(323)은 상기 DMA 상태 레지스터(322)에 기록된 정보에 따라 상기 백업용 저장장치 컨트롤러 제어부(327)에게 데이터를 복원할 백업용 저장장치(360)로부터 데이터 출력이 가능한지 여부 확인을 요청한다.In addition, the DMA state machine 323 checks whether data can be output from the backup storage device 360 to restore data to the backup storage controller controller 327 according to the information recorded in the DMA state register 322. Ask.

또한, 상기 DMA 상태 머신(323)은 상기 백업용 저장장치 컨트롤러 제어부(327)에게 백업용 저장장치(360) 내의 데이터 복원 요청을 한다.The DMA state machine 323 also requests the backup storage controller controller 327 to restore data in the backup storage 360.

또한, 상기 DMA 상태 머신(323)은 상기 제4버퍼(329)에 상기 백업용 저장장치(360)로부터 복원할 데이터가 버퍼링되어 있음을 상기 메모리 컨트롤러 제어부(324)에게 통보한다.The DMA state machine 323 also informs the memory controller controller 324 that the data to be restored from the backup storage device 360 is buffered in the fourth buffer 329.

상기 메모리 컨트롤러 제어부(324)는 메모리(350)의 종류에 따라 해당 메모리(350)에 연결을 위한 상기 메모리 컨트롤러(330)를 제어한다.The memory controller controller 324 controls the memory controller 330 for connection to the corresponding memory 350 according to the type of the memory 350.

예를 들어, 상기 메모리(350)는 DDR(Dual Data Rate) SDRAM, DDR2 SDRAM, QDR(Quad Data Rate) SDRAM, SRAM, FRAM, PRAM 및 Flash Memory 등으로 이루어진다.For example, the memory 350 may include dual data rate (DDR) SDRAM, DDR2 SDRAM, quad data rate (QDR) SDRAM, SRAM, FRAM, PRAM, and Flash Memory.

또한, 상기 메모리 컨트롤러 제어부(324)는 상기 DMA 상태 머신(323)의 요청에 따라 데이터를 써넣을 메모리(350)에 데이터 입력이 가능한지 여부를 확인하고, 상기 메모리(350)에 데이터 입력이 가능한 경우에, 상기 제1버퍼(325)에 버퍼링되어 있는 데이터를 상기 메모리(350)에 쓰거나 복원한다.In addition, the memory controller controller 324 checks whether or not data can be input to the memory 350 to which data is to be written at the request of the DMA state machine 323, and when data can be input to the memory 350. The data buffered in the first buffer 325 is written or restored to the memory 350.

또한, 상기 메모리 컨트롤러 제어부(324)는 상기 메모리(350)에 데이터를 쓰기/복원 도중에 데이터 쓰기/복원 오류 발생 여부를 지속적으로 확인하여, 상기 메모리(350)에 데이터 쓰기/복원 도중에 오류가 확인되지 않고, 상기 메모리(350)에 데이터 쓰기/복원이 완료된 경우에, 데이터 쓰기/복원이 정상적으로 종료되었다는 것을 호스트 인터페이스(310)를 통해 출력하여 호스트에게 통보하고, 해당 데이터 쓰기/복원 관여한 모든 모듈에게 데이터 쓰기가 완료되었음을 통보한다.In addition, the memory controller controller 324 continuously checks whether a data write / restore error occurs while data is written / restored to the memory 350, and thus the error is not confirmed during data write / restore to the memory 350. When the data write / restore is completed in the memory 350, the host notifies the host that the data write / restore has been normally completed through the host interface 310, and notifies all modules involved in the corresponding data write / restore. Notify that data writing is completed.

또한, 상기 메모리 컨트롤러 제어부(324)는 상기 메모리(350)에 데이터 쓰기/복원 도중에 오류가 확인된 경우에, 해당 확인된 오류의 종류를 분석하고 그 결과를 상기 호스트 인터페이스(310)를 통해 출력하여 호스트에게 통보하고, 해당 데이터 쓰기/복원에 관여한 모든 모듈에게 데이터 쓰기/복원이 완료되었음을 통보한다.In addition, the memory controller controller 324 analyzes the type of the identified error and outputs the result through the host interface 310 when an error is confirmed during data writing / restore to the memory 350. Notifies the host and notifies all modules involved in the data write / restore that the data write / restore is complete.

또한, 상기 메모리 컨트롤러 제어부(324)는 데이터를 읽을 메모리(350)로부터 데이터 출력이 가능한지 여부를 확인하고, 상기 메모리(350)에 데이터 출력이 가능한 경우에, 상기 메모리(350)로부터 읽을 데이터를 가져와서 이를 상기 제2버퍼(326)에 버퍼링시킨 후에, 이에 대하여 상기 DMA 상태 머신(323)에게 통보한다.In addition, the memory controller controller 324 checks whether data can be output from the memory 350 to read data, and, when data can be output to the memory 350, obtains data to be read from the memory 350. And buffer it in the second buffer 326, then notify the DMA state machine 323 about it.

또한, 상기 메모리 컨트롤러 제어부(324)는 데이터를 백업할 메모리(350)의 데이터 출력 가능 여부를 확인하여, 상기 메모리(350)부로부터 데이터 출력이 가능한 경우에, 상기 메모리(350)로부터 백업할 데이터를 가져와서 이를 상기 제3버퍼(328)에 버퍼링시킨 후에, 이에 대하여 상기 DMA 상태 머신(323)에게 통보한다.In addition, the memory controller controller 324 determines whether data can be output from the memory 350 to back up data, and when data can be output from the memory 350, the data to be backed up from the memory 350. And buffer it in the third buffer 328, then notify the DMA state machine 323 about it.

또한, 상기 메모리 컨트롤러 제어부(324)는 데이터를 복원할 메모리(350)에 데이터 입력이 가능한지 여부를 확인하고, 상기 메모리(350)에 데이터 입력이 가능한 경우에, 상기 메모리(350)에 데이터 복원이 가능함을 상기 DMA 상태 머신(323)에게 통보한다.In addition, the memory controller controller 324 checks whether data can be input to the memory 350 to restore the data, and when data can be input to the memory 350, the data restoration is performed to the memory 350. Notify the DMA state machine 323 that it is possible.

또한, 상기 메모리 컨트롤러 제어부(324)는 상기 DMA 상태 머신(323)의 통보에 따라 상기 제4버퍼(329)에 버퍼링된 데이터를 상기 메모리(350)로 복원시킨다.In addition, the memory controller controller 324 restores the data buffered in the fourth buffer 329 to the memory 350 according to the notification of the DMA state machine 323.

상기 백업용 저장장치 컨트롤러 제어부(327)는 각종 백업을 위한 저장장치를 위한 인터페이스를 컨트롤하는 백업용 저장장치 컨트롤러(340)를 제어한다.The backup storage controller controller 327 controls the backup storage controller 340 for controlling an interface for a storage device for various backups.

또한, 상기 백업용 저장장치 컨트롤러 제어부(327)는 일정 시간 간격으로 자체적으로 백업 명령을 발생하여 이를 상기 DMA 상태 레지스터에 기록한다.In addition, the backup storage controller controller 327 generates a backup command by itself at predetermined time intervals and records the backup command in the DMA status register.

예를 들어, 상기 백업용 저장장치 컨트롤러(340)는 마이크로프로세서로 이루어지기 때문에, 중앙처리장치와 같은 외부로부터의 영향을 받지 않고, 독립적으로 백업을 수행할 수 있다.For example, since the backup storage controller 340 is made of a microprocessor, the backup storage controller 340 may independently perform backup without being influenced by an external device such as a central processing unit.

또한, 상기 백업용 저장장치 컨트롤러 제어부(327)는 상기 DMA 상태 머신(323)의 요청에 따라 상기 백업용 저장장치(360)에 데이터 입력이 가능한지 여부를 확인하여, 상기 백업용 저장장치(360)에 데이터 입력이 가능한 경우에, 상기 백업용 저장장치(360)에 데이터 백업이 가능함을 상기 DMA 상태 머신(323)에게 통보한다.In addition, the backup storage controller controller 327 checks whether data can be input to the backup storage device 360 according to a request of the DMA state machine 323, and inputs data to the backup storage device 360. If this is possible, the backup storage device 360 is notified to the DMA state machine 323 that data backup is possible.

또한, 상기 백업용 저장장치 컨트롤러 제어부(327)는 상기 DMA 상태 머신(323)의 통보에 따라 상기 제3버퍼(328)에 버퍼링된 데이터를 상기 백업용 저장 장치(360)로 백업시킨다.In addition, the backup storage controller controller 327 backs up the data buffered in the third buffer 328 to the backup storage device 360 according to the notification of the DMA state machine 323.

또한, 상기 백업용 저장장치 컨트롤러 제어부(327)는 상기 백업용 저장장치(360)에 데이터를 백업하는 도중에 데이터 백업 오류 발생 여부를 지속적으로 확인하여, 상기 백업용 저장장치(360)에 데이터를 백업하는 도중에 오류가 확인되지 않고, 상기 백업용 저장장치(360)에 데이터 백업이 완료된 경우에, 데이터 백업이 정상적으로 종료되었다는 것을 호스트 인터페이스(310)를 통해 출력하여 호스트에게 통보하고, 해당 데이터 백업에 관여한 모든 모듈에게 데이터 백업이 완료되었음을 통보한다.In addition, the backup storage controller controller 327 continuously checks whether a data backup error occurs while the data is backed up to the backup storage device 360, and makes an error while backing up data to the backup storage device 360. Is not confirmed, and when data backup is completed in the backup storage device 360, the host is output through the host interface 310 to inform the host that data backup is normally completed, and all the modules involved in the data backup are notified. Notify that data backup is complete.

또한, 상기 백업용 저장장치 컨트롤러 제어부(327)는 상기 백업용 저장장치(360)에 데이터를 백업하는 도중에 오류가 확인된 경우에, 해당 확인된 오류의 종류를 분석하고 그 결과를 상기 호스트 인터페이스(310)를 통해 출력하여 호스트에게 통보하고, 해당 데이터 백업에 관여한 모든 모듈에게 데이터 백업이 완료되었음을 통보한다.In addition, the backup storage controller controller 327 analyzes the type of the identified error when the error is confirmed while backing up data to the backup storage device 360 and outputs the result of the host interface 310. It outputs through and notifies host and notifies all modules involved in data backup that data backup is completed.

또한, 상기 백업용 저장장치 컨트롤러 제어부(327)는 상기 DMA 상태 머신(323)의 요청에 따라 상기 백업용 저장장치(360)로부터 데이터 출력이 가능한지 여부를 확인하고, 상기 백업용 저장장치(360)로부터 데이터 출력이 가능한 경우에, 상기 백업용 저장장치(360)로부터 데이터 복원이 가능함을 상기 DMA 상태 머신(323)에게 통보한다.In addition, the backup storage controller controller 327 checks whether data can be output from the backup storage 360 according to a request of the DMA state machine 323, and outputs data from the backup storage 360. If this is possible, the DMA state machine 323 is notified that data can be restored from the backup storage device 360.

또한, 상기 백업용 저장장치 컨트롤러(340)는 백업용 저장장치(360)로부터 복원할 데이터를 가져와서 이를 상기 제4버퍼(329)에 버퍼링시킨 후에, 이에 대하 여 상기 DMA 상태 머신(323)에게 통보한다.In addition, the backup storage controller 340 retrieves the data to be restored from the backup storage 360 and buffers it in the fourth buffer 329, and then notifies the DMA state machine 323 about this. .

상기 제1,2버퍼(325,326)는 상기 호스트 인터페이스 제어부(321)와 상기 메모리 컨트롤러 제어부(324)사이에서 데이터 전송시 버퍼링을 통해 빠른 데이터 전송 및 전송 동기화를 제공한다.The first and second buffers 325 and 326 provide fast data transmission and transmission synchronization through buffering during data transmission between the host interface controller 321 and the memory controller controller 324.

또한, 상기 제1버퍼(325)는 상기 호스트 인터페이스 제어부(321)로부터 데이터를 전달받아 이를 버퍼링하고, 해당 버퍼링된 데이터를 상기 메모리 컨트롤러 제어부(324)로 전달한다.In addition, the first buffer 325 receives data from the host interface controller 321 and buffers the data, and transfers the buffered data to the memory controller controller 324.

또한, 상기 제2버퍼(326)는 상기 메모리 컨트롤러 제어부(324)로부터 데이터를 전달받아 이를 버퍼링하고, 해당 버퍼링된 데이터를 상기 호스트 인터페이스 제어부(321)로 전달한다.In addition, the second buffer 326 receives data from the memory controller controller 324 and buffers the data, and transfers the buffered data to the host interface controller 321.

상기 제3,4버퍼(328,329)는 상기 메모리 컨트롤러 제어부(324)와 상기 백업용 저장장치 컨트롤러 제어부(327) 사이에서 데이터 전송시 버퍼링을 통해 빠른 데이터 전송 및 전송 동기화를 제공한다.The third and fourth buffers 328 and 329 provide fast data transfer and transfer synchronization through buffering during data transfer between the memory controller controller 324 and the backup storage controller controller 327.

또한, 상기 제3버퍼(328)는 상기 메모리 컨트롤러 제어부(324)로부터 데이터를 전달받아 이를 버퍼링하고 해당 버퍼링된 데이터를 상기 백업용 저장장치 컨트롤러 제어부(327)로 전달한다.In addition, the third buffer 328 receives the data from the memory controller controller 324 and buffers the data, and transfers the buffered data to the backup storage controller controller 327.

또한, 상기 제4버퍼(329)는 상기 백업용 저장장치 컨트롤러 제어부(327)로부터 데이터를 전달받아 이를 버퍼링하고 해당 버퍼링된 데이터를 상기 메모리 컨트롤러 제어부(324)로 전달한다.In addition, the fourth buffer 329 receives data from the backup storage controller controller 327 and buffers the data, and transfers the buffered data to the memory controller controller 324.

상기 메모리 컨트롤러(330)는 상기 DMA 컨트롤 장치(320)의 제어에 따라 상 기 메모리(350)에 저장되어 있는 데이터를 가져와서 상기 DMA 컨트롤 장치(320)에게 제공한다.The memory controller 330 obtains data stored in the memory 350 under the control of the DMA control device 320 and provides the data to the DMA control device 320.

또한, 상기 메모리 컨트롤러(330)는 상기 DMA 컨트롤 장치(320)의 제어에 따라 상기 메모리(350)에 데이터를 기록한다.In addition, the memory controller 330 writes data to the memory 350 under the control of the DMA control device 320.

상기 백업용 저장장치 컨트롤러(340)는 상기 DMA 컨트롤 장치(320)의 제어에 따라 상기 백업용 저장장치(360)에 저장되어 있는 데이터를 가져와서 상기 DMA 컨트롤 장치(320)에게 제공한다.The backup storage device controller 340 takes data stored in the backup storage device 360 under the control of the DMA control device 320 and provides the data to the DMA control device 320.

또한, 상기 백업용 저장장치 컨트롤러(340)는 상기 DMA 컨트롤 장치(320)의 제어에 따라 상기 백업용 저장장치(360)에 데이터를 백업한다.In addition, the backup storage device controller 340 backs up data to the backup storage device 360 under the control of the DMA control device 320.

상기 전원 제어부(370)는 상기 시스템 버스(200)를 통해 외부 전원부(미도시)로부터의 전원을 공급받아 이를 상기 호스트 인터페이스(310), DMA 컨트롤 장치(320), 메모리 컨트롤러(330) 및 백업용 저장장치 컨트롤러(340)로 각각 공급한다.The power control unit 370 receives power from an external power supply unit (not shown) through the system bus 200 and stores the power in the host interface 310, the DMA control unit 320, the memory controller 330, and the backup. Supply to device controller 340, respectively.

또한, 상기 전원 제어부(370)은 상기 외부 전원부로부터의 공급 전원의 이상 여부를 확인하여 공급 전원 이상 검출시 이를 상기 DMA 컨트롤 장치(320)로 통보하며, 상기 보조 전원부(380)로부터 상기 호스트 인터페이스(310), DMA 컨트롤 장치(320), 메모리 컨트롤러(330) 및 백업용 저장장치 컨트롤러(340)로 각각 공급해야할 전원을 공급받는다.In addition, the power control unit 370 checks whether there is an abnormality of the supply power from the external power supply unit and notifies the DMA control device 320 when a supply power supply abnormality is detected, and the host interface (380) from the auxiliary power supply unit 380. 310, power to be supplied to the DMA control device 320, the memory controller 330, and the backup storage controller 340, respectively.

구체적으로는, 상기 전원 제어부(370)는 상기 외부 전원부로부터 공급되는 전원의 이상 여부를 확인하여 이상 상태 검출시 이를 상기 DMA 컨트롤 장치(320)의 호스트 인터페이스 제어부(321)에게 통보한다.Specifically, the power control unit 370 checks whether the power supplied from the external power supply unit is abnormal and notifies the host interface control unit 321 of the DMA control apparatus 320 when an abnormal state is detected.

또한, 상기 보조 전원부(380)는 충전식 배터리로 이루어지며, 평상시 상기 외부 전원부의 전원을 이용하여 일정 전압을 유지하도록 자체적으로 자신을 충전시킨다.In addition, the auxiliary power supply 380 is made of a rechargeable battery, and usually charges itself to maintain a constant voltage by using the power of the external power supply.

상술한 바와 같은 구성에 있어서, 본 발명의 실시 예에 따른 반도체 보조 기억 장치를 이용한 데이터 저장 방법을 도 3에 도시된 도면을 참조하여 설명하면 다음과 같다.In the above-described configuration, a data storage method using a semiconductor auxiliary memory device according to an exemplary embodiment of the present invention will be described with reference to the drawings shown in FIG. 3.

먼저, 상기 반도체 보조 기억 장치(300)에 있어서, 상기 시스템 버스(200)를 통해 외부 전원부로부터 전원을 공급받는 중에 해당 공급 전원에 이상이 없는 경우에, 상기 DMA 컨트롤 장치(320), 메모리 컨트롤러(330), 백업용 저장장치 컨트롤러(340)는 상기 전원 제어부(370)로부터 전원을 공급받음과 동시에, 각각 자체 리셋(초기화)을 수행한다(단계 S31).First, in the semiconductor auxiliary memory device 300, when there is no abnormality in the corresponding power supply while receiving power from an external power supply unit through the system bus 200, the DMA control device 320 and the memory controller ( 330 and the backup storage device controller 340 receive power from the power control unit 370 and perform their own reset (initialization) (step S31).

예를 들어, 상기 전원 제어부(370)는 상기 외부 전원부로부터의 공급 전원의 전압이 기준 전압(예를 들어, 4.7V) 이하로 떨어지는 경우를 전원 이상으로 간주하게 된다.For example, the power control unit 370 considers the case where the voltage of the supply power supply from the external power supply unit falls below a reference voltage (for example, 4.7V) or less.

이후에, 호스트가 데이터 쓰기/읽기/백업/복원 명령을 상기 호스트 인터페이스(310)를 통해 입력하면, 상기 호스트 인터페이스(310)는 해당 입력받은 명령을 상기 호스트 인터페이스 제어부(321)로 전달한다.Thereafter, when a host inputs a data write / read / backup / restore command through the host interface 310, the host interface 310 transmits the received command to the host interface controller 321.

그러면, 상기 호스트 인터페이스 제어부(321)는 상기 호스트 인터페이 스(310)를 통해 입력받은 명령을 분석한다.Then, the host interface controller 321 analyzes the command received through the host interface 310.

구체적으로 설명하면, 상기 호스트 인터페이스 제어부(321)는 상기 호스트 인터페이스(310)를 통해 입력받은 명령이 호스트와 상기 메모리(350) 사이에서 데이터 읽기/쓰기에 관한 것인지, 아니면 상기 메모리(350)와 백업용 저장장치(360) 사이에서 데이터 백업/복원에 관한 것인지를 확인한다(단계 S32).Specifically, the host interface controller 321 determines whether a command input through the host interface 310 relates to data read / write between the host and the memory 350 or is for backup with the memory 350. It is checked whether data backup / restore is among the storage devices 360 (step S32).

이때, 상기 명령이 호스트와 메모리(350) 사이에서 데이터 읽기/쓰기에 관한 것인 경우에, 상기 호스트 인터페이스 제어부(321)는 상기 명령이 호스트와 메모리(350) 사이에서 데이터 읽기인지 또는 쓰기인지를 확인한다(단계 S33).In this case, when the command relates to data read / write between the host and the memory 350, the host interface controller 321 determines whether the command reads or writes data between the host and the memory 350. Check (step S33).

그 결과로, 상기 명령이 호스트와 메모리(350) 사이에서 데이터 쓰기에 해당하는 경우에, 상기 호스트 인터페이스 제어부(321)는 상기 명령에 관한 정보를 상기 DMA 상태 레지스터(322)에 써넣고, 상기 DMA 상태 머신(323)을 구동시킨다.As a result, when the command corresponds to writing data between the host and the memory 350, the host interface controller 321 writes information about the command into the DMA status register 322, and the DMA Run state machine 323.

이에, 상기 DMA 상태 머신(323)은 상기 DMA 상태 레지스터(322)에 기록된 정보에 따라 상기 시스템 주 기억 장치(100)에 접속하기 위해 상기 호스트 인터페이스 제어부(321)로 상기 시스템 버스(200) 점유 요청을 한 후에(단계 S34), 그 결과를 기다린다. 즉, 상기 DMA 상태 머신(323)은 상기 호스트 인터페이스 제어부(321)로부터의 상기 시스템 버스(200) 점유 응답을 기다린다. Accordingly, the DMA state machine 323 occupies the system bus 200 with the host interface controller 321 to access the system main memory 100 according to the information recorded in the DMA state register 322. After making a request (step S34), the result is awaited. That is, the DMA state machine 323 waits for the occupancy response of the system bus 200 from the host interface controller 321.

여기서, 상기 DMA 상태 머신(323)은 상기 호스트 인터페이스 제어부(321)로부터의 상기 시스템 버스(200) 점유 응답을 받을 때까지 기다리면서, 상기 메모리(350)에 쓸(Write) 데이터의 데이터량과 블록 사이즈를 계산하고, 데이터 쓰기를 위한 호스트와 메모리(350) 사이의 데이터 통신 연결을 준비한다. 즉, 상기 호스트 인터페이스 제어부(321)와 상기 메모리 컨트롤러 제어부(324) 사이의 통신을 연결한다.In this case, the DMA state machine 323 waits for receiving the occupancy response of the system bus 200 from the host interface controller 321, and the data amount and block of data to be written to the memory 350. The size is calculated and a data communication connection is prepared between the host and the memory 350 for data writing. That is, communication between the host interface controller 321 and the memory controller controller 324 is connected.

이에, 상기 호스트 인터페이스 제어부(321)는 상기 DMA 상태 머신(323)의 요청에 따라 상기 시스템 버스(200)의 점유 가능 여부를 확인한다(단계 S35). 즉, 상기 시스템 버스(200)가 다른 시스템에 의해 사용중인지를 확인한다.Accordingly, the host interface controller 321 checks whether the system bus 200 can be occupied at the request of the DMA state machine 323 (step S35). That is, it is checked whether the system bus 200 is in use by another system.

이때, 상기 시스템 버스(200)의 점유가 가능한 경우에, 상기 호스트 인터페이스 제어부(321)는 상기 시스템 버스(200)를 점유하고 해당 점유된 시스템 버스(200)를 통해 상기 시스템 주 기억 장치(100)에 접속하여 상기 메모리(350)에 쓸 데이터를 가져와서 이를 상기 제1버퍼(325)에 버퍼링시킨 후에(단계 S36), 이에 대하여 상기 DMA 상태 머신(323)에게 통보한다.In this case, when the occupation of the system bus 200 is possible, the host interface controller 321 occupies the system bus 200 and the system main storage device 100 through the occupied system bus 200. Accesses the data to be written to the memory 350, buffers it in the first buffer 325 (step S36), and informs the DMA state machine 323 of this.

이에, 상기 DMA 상태 머신(323)은 상기 제1버퍼(325)에 메모리(350)에 쓸 데이터가 버퍼링되어 있음을 상기 메모리 컨트롤러 제어부(324)에게 통보한다.Accordingly, the DMA state machine 323 notifies the memory controller controller 324 that the first buffer 325 is buffered with data to be written to the memory 350.

그러면, 상기 메모리 컨트롤러 제어부(324)는 데이터를 써넣을 메모리(350)에 데이터 입력이 가능한지 여부를 확인한다(단계 S37). 즉, 상기 메모리 컨트롤러 제어부(324)는 해당 데이터를 써넣을 메모리(350)가 이전 명령에 의한 데이터 입출력이 진행중인지를 확인한다.Then, the memory controller controller 324 checks whether data can be input to the memory 350 to which data is to be written (step S37). That is, the memory controller controller 324 checks whether the memory 350 to which the corresponding data is to be written is in progress of data input / output by the previous command.

이때, 상기 메모리(350)에 데이터 입력이 가능한 경우에, 즉 이전 명령에 의한 데이터 입출력 진행중이 아닌 경우에, 상기 메모리 컨트롤러 제어부(324)는 상기 제1버퍼(325)에 버퍼링되어 있는 데이터를 상기 메모리(350)에 쓴다(단계 S38).In this case, when data input is possible to the memory 350, that is, when data input / output by a previous command is not in progress, the memory controller controller 324 reads the data buffered in the first buffer 325. Write to memory 350 (step S38).

여기서, 상기 메모리 컨트롤러 제어부(324)는 상기 메모리(350)에 데이터를 쓰는 도중에 데이터 쓰기 오류 발생 여부를 지속적으로 확인한다(단계 S39).Here, the memory controller controller 324 continuously checks whether a data write error occurs while writing data to the memory 350 (step S39).

이때, 상기 메모리(350)에 데이터 쓰기 도중에 오류가 확인되지 않은 경우에, 상기 메모리(350)에 데이터 쓰기가 완료되었는지를 확인한 후(단계 S40), 완료된 경우에, 상기 메모리 컨트롤러 제어부(324)는 데이터 쓰기가 정상적으로 종료되었다는 것을 호스트 인터페이스(310)를 통해 출력하여 호스트에게 통보하고, 해당 데이터 쓰기에 관여한 모든 모듈에게 데이터 쓰기가 완료되었음을 통보한 후에, 상기 시스템 버스(200)의 점유를 해제하고(단계 S41), 초기 단계 제31단계(S31)로 돌아간다.In this case, when an error is not confirmed while writing data to the memory 350, after confirming whether data writing to the memory 350 is completed (step S40), when it is completed, the memory controller controller 324 The host device 310 outputs that the data writing is normally completed and notifies the host. After notifying all modules involved in the data writing that the data writing is completed, the system bus 200 is released. (Step S41), it returns to the initial stage 31st step S31.

반면에, 상기 메모리(350)에 데이터 쓰기 도중에 오류가 확인된 경우에, 상기 메모리 컨트롤러 제어부(324)는 해당 확인된 오류의 종류를 분석하고 그 결과를 상기 호스트 인터페이스(310)를 통해 출력하여 호스트에게 통보하고, 해당 데이터 쓰기에 관여한 모든 모듈에게 데이터 쓰기가 완료되었음을 통보한 후에, 상기 시스템 버스(200)의 점유를 해제하고(단계 S41), 초기 단계 제31단계(S31)로 돌아간다.On the other hand, when an error is confirmed while writing data to the memory 350, the memory controller controller 324 analyzes the type of the identified error and outputs the result through the host interface 310 to host the same. After notifying to all modules involved in the data writing, the data writing is completed, the system bus 200 is released (step S41), and the initial step 31 (S31) is returned.

만일, 상기 명령이 호스트와 메모리(350) 사이에서 데이터 읽기에 해당하는 경우에, 상기 호스트 인터페이스 제어부(321)는 상기 명령에 관한 정보를 상기 DMA 상태 레지스터(322)에 써넣고, 상기 DMA 상태 머신(323)을 구동시킨다.If the command corresponds to reading data between the host and the memory 350, the host interface controller 321 writes information about the command into the DMA status register 322, and the DMA state machine. 323 is driven.

이에, 상기 DMA 상태 머신(323)은 상기 DMA 상태 레지스터(322)에 기록된 정보에 따라 상기 시스템 주 기억 장치(100)에 접속하기 위해 상기 호스트 인터페이스 제어부(321)로 상기 시스템 버스(200) 점유 요청을 한 후에(단계 S42), 그 결과를 기다린다. 즉, 상기 DMA 상태 머신(323)은 상기 호스트 인터페이스 제어부(321) 로부터의 상기 시스템 버스(200) 점유 응답을 기다린다. Accordingly, the DMA state machine 323 occupies the system bus 200 with the host interface controller 321 to access the system main memory 100 according to the information recorded in the DMA state register 322. After making a request (step S42), the result is awaited. That is, the DMA state machine 323 waits for the system bus 200 occupation response from the host interface controller 321.

여기서, 상기 DMA 상태 머신(323)은 상기 호스트 인터페이스 제어부(321)로부터의 상기 시스템 버스(200) 점유 응답을 받을 때까지 기다리면서, 상기 메모리(350)에 쓸(Write) 데이터의 데이터량과 블록 사이즈를 계산하고, 데이터 쓰기를 위한 호스트와 메모리(350) 사이의 데이터 통신 연결을 준비한다. 즉, 상기 호스트 인터페이스 제어부(321)와 상기 메모리 컨트롤러 제어부(324) 사이의 통신을 연결한다.In this case, the DMA state machine 323 waits for receiving the occupancy response of the system bus 200 from the host interface controller 321, and the data amount and block of data to be written to the memory 350. The size is calculated and a data communication connection is prepared between the host and the memory 350 for data writing. That is, communication between the host interface controller 321 and the memory controller controller 324 is connected.

이에, 상기 호스트 인터페이스 제어부(321)는 상기 DMA 상태 머신(323)의 요청에 따라 상기 시스템 버스(200)의 점유 가능 여부를 확인한다(단계 S43). 즉, 상기 시스템 버스(200)가 다른 시스템에 의해 사용중인지를 확인한다.Accordingly, the host interface controller 321 checks whether the system bus 200 can be occupied at the request of the DMA state machine 323 (step S43). That is, it is checked whether the system bus 200 is in use by another system.

이때, 상기 시스템 버스(200)의 점유가 가능한 경우에, 상기 호스트 인터페이스 제어부(321)는 상기 시스템 버스(200)를 점유하고, 해당 점유된 시스템 버스(200)를 통해 상기 시스템 주 기억 장치(100)에 접속한 후에(단계 S44), 이에 대하여 상기 DMA 상태 머신(323)에게 통보한다.In this case, when the occupation of the system bus 200 is possible, the host interface controller 321 occupies the system bus 200, and the system main memory device 100 is occupied by the occupied system bus 200. (Step S44), the DMA state machine 323 is notified about this.

이에, 상기 DMA 상태 머신(323)은 상기 메모리 컨트롤러 제어부(324)에게 메모리(350)로부터 데이터 읽기 요청을 한다.Accordingly, the DMA state machine 323 requests the memory controller controller 324 to read data from the memory 350.

이에, 상기 메모리 컨트롤러 제어부(324)는 데이터를 읽을 메모리(350)로부터 데이터 출력이 가능한지 여부를 확인한다(단계 S45). 즉, 상기 메모리 컨트롤러 제어부(324)는 해당 데이터를 읽을 메모리(350)가 이전 명령에 의한 데이터 입출력이 진행중인지를 확인한다.Thus, the memory controller controller 324 checks whether data can be output from the memory 350 to read data (step S45). That is, the memory controller controller 324 checks whether the memory 350 to read the corresponding data is in progress of data input / output by the previous command.

이때, 상기 메모리(350)에 데이터 출력이 가능한 경우에, 즉 이전 명령에 의한 데이터 입출력 진행중이 아닌 경우에, 상기 메모리 컨트롤러 제어부(324)는 메모리(350)로부터 읽을 데이터를 가져와서 이를 상기 제2버퍼(326)에 버퍼링시킨 후에(단계 S46), 이에 대하여 상기 DMA 상태 머신(323)에게 통보한다.In this case, when data output is possible to the memory 350, that is, when data input / output by a previous command is not in progress, the memory controller controller 324 obtains data to be read from the memory 350 and the second data is read. After buffering the buffer 326 (step S46), the DMA state machine 323 is informed about this.

이에, 상기 DMA 상태 머신(323)은 상기 제2버퍼(326)에 상기 메모리(350)로부터 읽을 데이터가 버퍼링되어 있음을 상기 호스트 인터페이스 제어부(321)에게 통보한다.Accordingly, the DMA state machine 323 notifies the host interface controller 321 that the second buffer 326 is buffered with data to be read from the memory 350.

그러면, 상기 호스트 인터페이스 제어부(321)는 상기 제2버퍼(326)에 버퍼링된 데이터를 상기 점유된 시스템 버스(200)를 통해 상기 시스템 주 기억 장치(100)에 쓴다(단계 S47).Then, the host interface controller 321 writes the data buffered in the second buffer 326 to the system main memory device 100 through the occupied system bus 200 (step S47).

여기서, 상기 호스트 인터페이스 제어부(321)는 상기 메모리(350)로부터 데이터를 읽는 도중에 데이터 읽기 오류 발생 여부를 지속적으로 확인한다. 즉, 상기 메모리(350)로부터 읽어온 데이터를 상기 시스템 주 기억 장치(100)에 쓰는 도중에 데이터 읽기 오류 발생 여부를 지속적으로 확인한다(단계 S48).Here, the host interface controller 321 continuously checks whether a data read error occurs while reading data from the memory 350. That is, continuously checking whether or not a data read error occurs while writing data read from the memory 350 to the system main memory device 100 (step S48).

이때, 상기 메모리(350)로부터 데이터 읽기 도중에 오류가 확인되지 않은 경우에, 상기 메모리(350)에 데이터 읽기가 완료되었는지를 확인한 후(단계 S49), 완료된 경우에, 상기 호스트 인터페이스 제어부(321)는 데이터 읽기가 정상적으로 종료되었다는 것을 호스트 인터페이스(310)를 통해 출력하여 호스트에게 통보하고, 해당 데이터 읽기에 관여한 모든 모듈에게 데이터 읽기가 완료되었음을 통보한 후에, 상기 시스템 버스(200)의 점유를 해제하고(단계 S50), 초기 단계 제31단 계(S31)로 돌아간다.At this time, when the error is not confirmed during the data reading from the memory 350, after confirming that the data reading is completed in the memory 350 (step S49), if completed, the host interface controller 321 Through the host interface 310 to output that the data read is normally terminated to notify the host, and after notifying all modules involved in the data read that the data read is completed, release the occupancy of the system bus 200 (Step S50), it returns to the initial stage 31st step S31.

반면에, 상기 메모리(350)에 데이터 읽기 도중에 오류가 확인된 경우에, 호스트 인터페이스 제어부(321)는 해당 확인된 오류의 종류를 분석하고 그 결과를 상기 호스트 인터페이스(310)를 통해 출력하여 호스트에게 통보하고, 해당 데이터 읽기에 관여한 모든 모듈에게 데이터 읽기가 완료되었음을 통보한 후에, 상기 시스템 버스(200)의 점유를 해제하고(단계 S50), 초기 단계 제31단계(S31)로 돌아간다.On the other hand, when an error is confirmed while reading data into the memory 350, the host interface controller 321 analyzes the identified error type and outputs the result through the host interface 310 to the host. After notifying, and notifying all modules involved in reading the data that the data reading is completed, the system bus 200 is released (step S50), and the process returns to the initial step 31 (S31).

한편으로, 상기 명령이 메모리(350)와 백업용 저장장치(360) 사이에서 데이터 백업/복원에 관한 것인 경우에, 상기 호스트 인터페이스 제어부(321)는 상기 명령이 메모리(350)와 백업용 저장장치(360) 사이에서 데이터 백업 또는 복원에 관한 것인지를 확인한다(단계 S51).On the other hand, when the command relates to data backup / restore between the memory 350 and the backup storage device 360, the host interface controller 321 determines that the command is stored in the memory 350 and the backup storage device ( 360, it is checked whether or not it is related to data backup or restoration (step S51).

그 결과로, 상기 명령이 메모리(350)와 백업용 저장장치(360) 사이에서 데이터 백업에 해당하는 경우에, 상기 호스트 인터페이스 제어부(321)는 상기 명령에 관한 정보를 상기 DMA 상태 레지스터(322)에 써넣고, 상기 DMA 상태 머신(323)을 구동시킨다.As a result, when the command corresponds to data backup between the memory 350 and the backup storage device 360, the host interface controller 321 sends information about the command to the DMA status register 322. Write and drive the DMA state machine 323.

이에, 상기 DMA 상태 머신(323)은 상기 DMA 상태 레지스터(322)에 기록된 정보에 따라 상기 백업용 저장장치 컨트롤러 제어부(327)에게 상기 백업용 저장장치(360)에 데이터 입력이 가능한지 여부 확인을 요청한다.Accordingly, the DMA state machine 323 requests the backup storage controller controller 327 to confirm whether data can be input to the backup storage device 360 according to the information recorded in the DMA status register 322. .

이에, 상기 백업용 저장장치 컨트롤러 제어부(327)는 상기 DMA 상태 머신(323)의 요청에 따라 상기 백업용 저장장치(360)에게 데이터 입력이 가능한지 여부를 확인한다(단계 S52). 즉, 상기 백업용 저장장치 컨트롤러 제어부(327)는 해당 데이터를 백업할 백업용 저장장치(360)가 이전 명령에 의한 데이터 입출력이 진행중인지를 확인한다.Accordingly, the backup storage controller controller 327 checks whether data can be input to the backup storage device 360 in response to a request of the DMA state machine 323 (step S52). That is, the backup storage controller controller 327 checks whether the backup storage device 360 to back up the corresponding data is performing data input / output by the previous command.

이때, 상기 백업용 저장장치(360)에 데이터 입력이 가능한 경우에, 즉 이전 명령에 의한 데이터 입출력 진행중이 아닌 경우에, 상기 백업용 저장장치 컨트롤러 제어부(327)는 상기 백업용 저장장치(360)에 데이터 백업이 가능함을 상기 DMA 상태 머신(323)에게 통보한다.In this case, when data input is possible to the backup storage device 360, that is, when data input / output is not in progress by a previous command, the backup storage controller controller 327 backs up data to the backup storage device 360. Notify the DMA state machine 323 that this is possible.

이에, 상기 DMA 상태 머신(323)은 상기 메모리 컨트롤러 제어부(324)에게 메모리(350) 내의 데이터 백업 요청을 한다(단계 S53).Accordingly, the DMA state machine 323 requests the memory controller controller 324 to back up data in the memory 350 (step S53).

이에, 상기 메모리 컨트롤러 제어부(324)는 데이터를 백업할 메모리(350)로부터 데이터 출력이 가능한지 여부를 확인한다(단계 S54). 즉, 상기 메모리 컨트롤러 제어부(324)는 해당 데이터를 백업할 메모리(350)가 이전 명령에 의한 데이터 입출력이 진행중인지를 확인한다.Accordingly, the memory controller controller 324 checks whether data can be output from the memory 350 to back up the data (step S54). That is, the memory controller controller 324 checks whether the memory 350 to back up the corresponding data is in progress of data input / output by the previous command.

이때, 상기 메모리(350)에 데이터 출력이 가능한 경우에, 즉 이전 명령에 의한 데이터 입출력 진행중이 아닌 경우에, 상기 메모리 컨트롤러 제어부(324)는 메모리(350)로부터 백업할 데이터를 가져와서 이를 상기 제3버퍼(328)에 버퍼링시킨 후에(단계 S55), 이에 대하여 상기 DMA 상태 머신(323)에게 통보한다.In this case, when data output is possible to the memory 350, that is, when data input / output by a previous command is not in progress, the memory controller controller 324 obtains data to be backed up from the memory 350 and stores the data to be backed up. After buffering the three buffers 328 (step S55), the DMA state machine 323 is notified about this.

이에, 상기 DMA 상태 머신(323)은 상기 제3버퍼(328)에 상기 메모리(350)로부터 백업할 데이터가 버퍼링되어 있음을 상기 백업용 저장장치 컨트롤러 제어부(327)에게 통보한다.Accordingly, the DMA state machine 323 notifies the backup storage controller controller 327 that the data to be backed up from the memory 350 is buffered in the third buffer 328.

그러면, 상기 백업용 저장장치 컨트롤러 제어부(327)는 상기 제3버퍼(328)에 버퍼링된 데이터를 상기 백업용 저장장치(360)로 백업시킨다(단계 S56).Then, the backup storage controller controller 327 backs up the data buffered in the third buffer 328 to the backup storage device 360 (step S56).

여기서, 상기 백업용 저장장치 컨트롤러 제어부(327)는 상기 백업용 저장장치(360)에 데이터를 백업하는 도중에 데이터 백업 오류 발생 여부를 지속적으로 확인한다(단계 S57).Here, the backup storage controller controller 327 continuously checks whether a data backup error occurs while backing up data to the backup storage device 360 (step S57).

이때, 상기 백업용 저장장치(360)에 데이터를 백업하는 도중에 오류가 확인되지 않은 경우에, 상기 백업용 저장장치(360)에 데이터 백업이 완료되었는지를 확인한 후(단계 S58), 완료된 경우에, 상기 백업용 저장장치 컨트롤러 제어부(327)는 데이터 백업이 정상적으로 종료되었다는 것을 호스트 인터페이스(310)를 통해 출력하여 호스트에게 통보하고, 해당 데이터 백업에 관여한 모든 모듈에게 데이터 백업이 완료되었음을 통보한 후에, 초기 단계 제31단계(S31)로 돌아간다.In this case, when an error is not confirmed while the data is backed up to the backup storage device 360, after confirming that the data backup is completed in the backup storage device 360 (step S58), the backup data storage device is completed. The storage controller controller 327 outputs that the data backup is normally completed through the host interface 310 to notify the host, and notifies all modules involved in the data backup that the data backup is completed. Return to step 31 (S31).

반면에, 상기 백업용 저장장치(360)에 데이터를 백업하는 도중에 오류가 확인된 경우에, 상기 백업용 저장장치 컨트롤러 제어부(327)는 해당 확인된 오류의 종류를 분석하고 그 결과를 상기 호스트 인터페이스(310)를 통해 출력하여 호스트에게 통보하고, 해당 데이터 백업에 관여한 모든 모듈에게 데이터 백업이 완료되었음을 통보한 후에, 초기 단계 제31단계(S31)로 돌아간다.On the other hand, when an error is identified while backing up data to the backup storage device 360, the backup storage controller controller 327 analyzes the type of the identified error and displays the result of the host interface 310. After notifying the host by outputting through) and notifying all modules involved in the corresponding data backup that the data backup is completed, the process returns to the initial step 31 (S31).

만일, 상기 명령이 메모리(350)와 백업용 저장장치(360) 사이에서 데이터 복원에 해당하는 경우에, 상기 호스트 인터페이스 제어부(321)는 상기 명령에 관한 정보를 상기 DMA 상태 레지스터(322)에 써넣고, 상기 DMA 상태 머신(323)을 구동시킨다.If the command corresponds to data restoration between the memory 350 and the backup storage device 360, the host interface controller 321 writes information about the command into the DMA status register 322. The DMA state machine 323 is driven.

이에, 상기 DMA 상태 머신(323)은 상기 DMA 상태 레지스터(322)에 기록된 정 보에 따라 상기 백업용 저장장치 컨트롤러 제어부(327)에게 데이터를 복원할 백업용 저장장치(360)로부터 데이터 출력이 가능한지 여부 확인을 요청한다.Thus, the DMA state machine 323 is capable of outputting data from the backup storage device 360 to restore data to the backup storage controller controller 327 according to the information recorded in the DMA status register 322. Ask for confirmation.

이에, 상기 백업용 저장장치 컨트롤러 제어부(327)는 상기 DMA 상태 머신(323)의 요청에 따라 상기 백업용 저장장치(360)로부터 데이터 출력이 가능한지 여부를 확인한다(단계 S59). 즉, 상기 메모리 컨트롤러 제어부(324)는 해당 데이터를 복원할 백업용 저장장치(360)가 이전 명령에 의한 데이터 입출력이 진행중인지를 확인한다.Accordingly, the backup storage controller controller 327 checks whether or not data can be output from the backup storage 360 according to the request of the DMA state machine 323 (step S59). That is, the memory controller controller 324 checks whether the backup storage device 360 for restoring the corresponding data is performing data input / output by the previous command.

이때, 상기 백업용 저장장치(360)로부터 데이터 출력이 가능한 경우에, 즉 이전 명령에 의한 데이터 입출력 진행중이 아닌 경우에, 상기 백업용 저장장치 컨트롤러 제어부(327)는 상기 백업용 저장장치(360)로부터 데이터 복원이 가능함을 상기 DMA 상태 머신(323)에게 통보한다.In this case, when data output is possible from the backup storage device 360, that is, when data input / output is not in progress by a previous command, the backup storage controller controller 327 restores data from the backup storage device 360. Notify the DMA state machine 323 that this is possible.

이에, 상기 DMA 상태 머신(323)은 상기 메모리 컨트롤러 제어부(324)에게 메모리(350)에 데이터 복원하기 위한 데이터 복원 요청을 한다(단계 S60).Accordingly, the DMA state machine 323 requests the memory controller control unit 324 to restore data to the memory 350 (step S60).

그러면, 상기 메모리 컨트롤러 제어부(324)는 데이터를 복원할 메모리(350)에 데이터 입력이 가능한지 여부를 확인한다(단계 S61). 즉, 상기 메모리 컨트롤러 제어부(324)는 해당 데이터를 복원할 메모리(350)가 이전 명령에 의한 데이터 입출력이 진행중인지를 확인한다.Then, the memory controller controller 324 checks whether data can be input to the memory 350 to restore the data (step S61). That is, the memory controller controller 324 checks whether the memory 350 to restore the corresponding data is performing data input / output by the previous command.

이때, 상기 메모리(350)에 데이터 입력이 가능한 경우에, 즉 이전 명령에 의한 데이터 입출력 진행중이 아닌 경우에, 상기 메모리 컨트롤러 제어부(324)는 상기 메모리(350)에 데이터 복원이 가능함을 상기 DMA 상태 머신(323)에게 통보한다.In this case, when data input is possible to the memory 350, that is, when data input / output by a previous command is not in progress, the memory controller controller 324 indicates that data can be restored to the memory 350. Notify machine 323.

이에, 상기 DMA 상태 머신(323)은 상기 백업용 저장장치 컨트롤러 제어부(327)에게 백업용 저장장치(360) 내의 데이터 출력 요청을 한다.Accordingly, the DMA state machine 323 makes a request for outputting data in the backup storage controller 360 to the backup storage controller controller 327.

이에, 상기 백업용 저장장치 컨트롤러(340)는 백업용 저장장치(360)로부터 복원할 데이터를 가져와서 이를 상기 제4버퍼(329)에 버퍼링시킨 후에(단계 S62), 이에 대하여 상기 DMA 상태 머신(323)에게 통보한다.Accordingly, the backup storage controller 340 obtains data to be restored from the backup storage 360 and buffers the data in the fourth buffer 329 (step S62), and then the DMA state machine 323. Notify

이에, 상기 DMA 상태 머신(323)은 상기 제4버퍼(329)에 상기 백업용 저장장치(360)로부터 복원할 데이터가 버퍼링되어 있음을 상기 메모리 컨트롤러 제어부(324)에게 통보한다.Thus, the DMA state machine 323 notifies the memory controller controller 324 that the data to be restored from the backup storage device 360 is buffered in the fourth buffer 329.

그러면, 상기 메모리 컨트롤러 제어부(324)는 상기 제4버퍼(329)에 버퍼링된 데이터를 상기 메모리(350)로 복원시킨다(단계 S63).Then, the memory controller controller 324 restores the data buffered in the fourth buffer 329 to the memory 350 (step S63).

여기서, 상기 메모리 컨트롤러 제어부(324)는 상기 메모리(350)에 데이터를 복원하는 도중에 데이터 복원 오류 발생 여부를 지속적으로 확인한다(단계 S64).In this case, the memory controller controller 324 continuously checks whether a data restoration error occurs while restoring data to the memory 350 (step S64).

이때, 상기 메모리(350)에 데이터를 복원하는 도중에 오류가 확인되지 않은 경우에, 상기 메모리(350)에 데이터 복원이 완료되었는지를 확인한 후(단계 S65), 완료된 경우에, 상기 메모리 컨트롤러 제어부(324)는 데이터 복원이 정상적으로 종료되었다는 것을 호스트 인터페이스(310)를 통해 출력하여 호스트에게 통보하고, 해당 데이터 복원에 관여한 모든 모듈에게 데이터 복원이 완료되었음을 통보한 후에, 초기 단계 제31단계(S31)로 돌아간다.In this case, when an error is not confirmed while restoring data to the memory 350, after confirming that the data restoration is completed in the memory 350 (step S65), when it is completed, the memory controller control unit 324 ) Outputs through the host interface 310 that the data restoration has been completed normally and notifies the host, and notifies all modules involved in the data restoration that data restoration has been completed, and then proceeds to step 31 of the initial stage. Go back.

반면에, 상기 메모리(350)에 데이터를 복원하는 도중에 오류가 확인된 경우에, 상기 메모리 컨트롤러 제어부(324)는 해당 확인된 오류의 종류를 분석하고 그 결과를 상기 호스트 인터페이스(310)를 통해 출력하여 호스트에게 통보하고, 해당 데이터 복원에 관여한 모든 모듈에게 데이터 복원이 완료되었음을 통보한 후에, 초기 단계 제31단계(S31)로 돌아간다.On the other hand, when an error is confirmed while restoring data to the memory 350, the memory controller controller 324 analyzes the identified type of error and outputs the result through the host interface 310. After notifying the host and notifying all modules involved in the data restoration that data restoration is completed, the process returns to the initial stage 31 (S31).

한편, 상기 외부 전원부로부터의 공급 전원에 이상이 있는 경우에, 상기 전원 제어부(370)는 이를 상기 DMA 컨트롤 장치(320)에게 통보하고, 상기 보조 전원부(380)로부터 전원을 공급받아 이를 상기 호스트 인터페이스(310), DMA 컨트롤 장치(320), 메모리 컨트롤러(330) 및 백업용 저장장치 컨트롤러(340)로 각각 공급한다.On the other hand, if there is an error in the power supply from the external power supply unit, the power control unit 370 notifies the DMA control device 320, and receives the power from the auxiliary power supply unit 380 it is the host interface And supply to the 310, the DMA control device 320, the memory controller 330, and the backup storage controller 340.

구체적으로는, 상기 전원 제어부(370)는 상기 외부 전원부로부터 공급되는 전원의 이상 여부를 확인하여 이상 상태 검출시 이를 상기 DMA 컨트롤 장치(320)의 호스트 인터페이스 제어부(321)에게 통보한다.Specifically, the power control unit 370 checks whether the power supplied from the external power supply unit is abnormal and notifies the host interface control unit 321 of the DMA control apparatus 320 when an abnormal state is detected.

그러면, 상기 호스트 인터페이스 제어부(321)는 상기 전원 제어부(370)로부터의 공급 전원 이상 검출 통보에 따라 상기 호스트 인터페이스(320)와의 통신을 차단하고, 자체 백업 수행 명령을 발생시켜 해당 명령에 관한 정보를 상기 DMA 상태 레지스터(322)에 써넣고, 상기 DMA 상태 머신(323)을 구동시킨다.Then, the host interface controller 321 interrupts communication with the host interface 320 according to the notification of power supply abnormality detection from the power controller 370, generates a self backup command, and generates information on the command. The DMA state register 322 is written to drive the DMA state machine 323.

이에, 상기 DMA 상태 머신(323)은 상기 DMA 상태 레지스터(322)에 기록된 정보에 따라 상기 백업용 저장장치 컨트롤러 제어부(327)에게 상기 백업용 저장장치(360)에 데이터 입력이 가능한지 여부 확인을 요청한다.Accordingly, the DMA state machine 323 requests the backup storage controller controller 327 to confirm whether data can be input to the backup storage device 360 according to the information recorded in the DMA status register 322. .

이에, 상기 백업용 저장장치 컨트롤러 제어부(327)는 상기 DMA 상태 머신(323)의 요청에 따라 상기 백업용 저장장치(360)에게 데이터 입력이 가능한지 여 부를 확인한다. Accordingly, the backup storage controller controller 327 checks whether data can be input to the backup storage device 360 according to the request of the DMA state machine 323.

즉, 상기 외부 전원부에서의 전원 공급이 중단되거나, 공급 전원의 이상이 발생하는 경우, 상기 메모리(350)에 저장된 데이터를 보호하기 위해 상기 전원 제어부(370)는 상기 보조 전원부(380)로부터 전원을 공급받아 이를 상기 호스트 인터페이스(310), DMA 컨트롤 장치(320), 메모리 컨트롤러(330) 및 백업용 저장장치 컨트롤러(340)로 각각 공급하는 것이다. That is, when power supply from the external power supply is interrupted or an abnormality in supply power occurs, the power control unit 370 supplies power from the auxiliary power supply 380 to protect data stored in the memory 350. This is supplied to the host interface 310, the DMA control device 320, the memory controller 330 and the backup storage controller 340, respectively.

이 후에, 상기 제52단계(S52)부터 제56단계(S56)까지의 데이터 백업 단계가 자체적으로 수행된다.Thereafter, the data backup step from the 52nd step S52 to the 56th step S56 is performed by itself.

여기서, 상기 외부 전원부에서의 전원 공급의 중단 또는 공급 전원의 이상이 발생하지 않는 경우에는, 상기 전원 제어부(370)에서 상기 보조 전원부(380)로부터의 공급 전원을 차단하고 있으며, 상기 외부 전원부에서의 전원 공급 중단 또는 공급 전원의 이상이 발생하면 이를 검출하여 상기 보조 전원부(380)로부터의 공급 전원 차단을 해제하여 상기 보조 전원부(380)로부터 전원을 공급받는 것임을 잘 이해해야 한다.Here, when the supply of power from the external power supply unit is not interrupted or the supply power does not occur, the power supply control unit 370 cuts off the supply power from the auxiliary power supply unit 380. It is to be understood that when the power supply is interrupted or an abnormality of the power supply is detected, the power supply from the auxiliary power supply 380 is released by canceling the supply power cutoff from the auxiliary power supply 380.

이러한, 상기 보조 전원부(380)는 충전식 배터리로 이루어지며, 평상시 상기 외부 전원부의 전원을 이용하여 일정 전압을 유지하도록 자체적으로 자신을 충전시킨다. 예를 들어, 보조 전원부(380)는 충전 전원의 전압을 12V로 유지한다.The auxiliary power source 380 is made of a rechargeable battery, and normally charges itself to maintain a constant voltage by using the power of the external power source. For example, the auxiliary power supply unit 380 maintains the voltage of the charging power supply at 12V.

다르게는, 상기 백업용 저장장치 컨트롤러 제어부(327)는 일정 시간 간격으로 자체적으로 백업 명령을 발생하여 이를 상기 DMA 상태 레지스터에 기록한다.Alternatively, the backup storage controller controller 327 generates a backup command by itself at predetermined time intervals and records the backup command in the DMA status register.

이로 인해, 시스템 중앙처리장치(미도시)로부터의 명령의 제어 없이 보조 기억 장치에서 메모리에 저장된 데이터를 자체적으로 백업함으로써, 메모리에 저장된 데이터의 안정성을 확보할 수 있으며, 시스템 중앙처리장치의 부하를 감소시킬 수 있다.As a result, by backing up data stored in the memory in the auxiliary storage device without controlling the command from the system central processing unit (not shown), it is possible to secure the stability of the data stored in the memory and to reduce the load on the system central processing unit. Can be reduced.

전술한 바와 같은 본 발명에 의하면, 호스트와의 인터페이스에서 DMA(Direct Memory Access: DMA) 컨트롤 장치의 데이터 전송 속도를 향상시키며, 저장 매체를 기계식(예를 들어, HDD 및 FDD 등)에서 반도체(메모리)로 대체하여 데이터 저장 속도를 향상시켜 주는 효과가 있다.According to the present invention as described above, the data transfer speed of the direct memory access (DMA) control device at the interface with the host is improved, and the storage medium is mechanically (e.g., HDD and FDD) to a semiconductor (memory). ) To increase the data storage speed.

또한, 보조 기억 장치에서 메모리에 저장된 데이터를 자체적으로 백업함으로써, 보조 기억 장치가 다른 기능 수행시 중앙처리장치의 부하를 감소시키며, 데이터 백업 속도를 향상시켜 데이터 저장시 신뢰성을 높여주는 효과가 있다.In addition, by backing up data stored in the memory in the auxiliary storage device by itself, the auxiliary storage device may reduce the load of the central processing unit when performing other functions, and improve the data backup speed, thereby improving reliability in data storage.

Claims (28)

전원을 공급하는 외부 전원부 및 데이터를 저장하고 있는 시스템 주 기억 장치가 연결되어 있는 시스템 버스에 연결되어 있으며, 데이터 저장 수단인 메모리 및 백업용 저장장치를 구비한 반도체 보조 기억 장치에 있어서,A semiconductor auxiliary memory device having a memory and a backup storage device, which are connected to a system bus to which an external power supply unit for supplying power and a system main storage device for storing data, are connected. 상기 시스템 버스에 연결되어 있으며, 호스트로부터의 명령을 입력받는 호스트 인터페이스부와;A host interface connected to the system bus and receiving a command from a host; 상기 메모리에 데이터를 입출력하는 메모리 컨트롤러와;A memory controller for inputting and outputting data into the memory; 상기 백업용 저장장치에 데이터를 입출력하는 백업용 저장장치 컨트롤러와;A backup storage controller for inputting / outputting data into the backup storage device; 상기 호스트 인터페이스부를 통한 호스트로부터의 명령에 따라 상기 메모리 컨트롤러 및 상기 백업용 저장장치 컨트롤러를 제어하여 상기 메모리와 상기 시스템 주 기억 장치 사이에서 데이터를 읽거나 쓰고, 상기 백업용 저장장치와 상기 메모리 사이에서 데이터를 백업/복원하는 DMA 컨트롤 장치와;The memory controller and the backup storage controller are controlled to read or write data between the memory and the system main storage device according to a command from the host through the host interface unit, and data is written between the backup storage device and the memory. A DMA control device for backing up and restoring; 상기 외부 전원부로부터의 전원을 상기 호스트 인터페이스부, 메모리 컨트롤러, 백업용 저장장치 컨트롤러 및 상기 DMA 컨트롤 장치에 공급하는 전원 제어부를 포함하여 이루어지는 것을 특징으로 하는 반도체 보조 기억 장치.And a power control section for supplying power from the external power supply section to the host interface section, the memory controller, the backup storage controller, and the DMA control apparatus. 제1항에 있어서,The method of claim 1, 상기 외부 전원부로부터의 공급 전원의 이상 여부를 확인하여 공급 전원 이 상 검출시 상기 호스트 인터페이스, DMA 컨트롤 장치, 메모리 컨트롤러 및 백업용 저장장치 컨트롤러로 공급해야할 전원을 상기 전원 제어부에 공급하는 보조 전원부를 더 구비하여 이루어지는 것을 특징으로 하는 반도체 보조 기억 장치The auxiliary power supply unit may further include an auxiliary power supply unit which checks whether there is an abnormality of the supply power supply from the external power supply unit and supplies the power control unit with power to be supplied to the host interface, the DMA control unit, the memory controller, and the backup storage controller when the supply power supply is detected. Semiconductor auxiliary memory, characterized in that 제2항에 있어서,The method of claim 2, 상기 전원 제어부는, 상기 외부 전원부로부터의 공급 전원 이상 검출시 이를 상기 DMA 컨트롤 장치로 통보하는 것을 특징으로 하는 반도체 보조 기억 장치.And the power supply control unit notifies the DMA control device of the detection of abnormal supply power from the external power supply unit. 제3항에 있어서,The method of claim 3, 상기 DMA 컨트롤 장치는, 상기 전원 제어부의 통보에 따라 호스트로부터의 명령을 차단하고, 상기 메모리 컨트롤러 및 백업용 저장장치 컨트롤러를 제어하여 상기 메모리에 저장된 데이터를 상기 백업용 저장장치로 백업시키는 것을 특징으로 하는 반도체 보조 기억 장치.The DMA control apparatus may block a command from a host according to the notification of the power control unit, and control the memory controller and the backup storage controller to back up data stored in the memory to the backup storage device. Auxiliary memory. 제1항에 있어서, The method of claim 1, 상기 DMA 컨트롤 장치는, 상기 메모리 컨트롤러 및 백업용 저장장치 컨트롤러를 제어하여 일정 시간 간격으로 상기 메모리에 저장된 데이터를 상기 백업용 저 장장치로 백업시키는 것을 특징으로 하는 반도체 보조 기억 장치.And the DMA controller controls the memory controller and the backup storage controller to back up the data stored in the memory to the backup storage device at predetermined time intervals. 제1항에 있어서,The method of claim 1, 상기 DMA 컨트롤 장치는, 호스트로부터의 명령을 분석하며, 상기 메모리로부터 출력되어 버퍼링된 데이터를 시스템 주 기억 장치에 입력하거나, 또는 시스템 주 기억 장치로부터 데이터를 가져와서 이를 버퍼링하는 호스트 인터페이스 제어부와;The DMA control apparatus may include: a host interface controller configured to analyze a command from a host and input data buffered and output from the memory into a system main memory, or obtain data from a system main memory and buffer the data; 상기 메모리로부터 출력되어 버퍼링된 데이터를 상기 백업용 저장장치에 입력하거나, 해당 백업용 저장장치로부터 데이터를 출력하여 이를 버퍼링하는 백업용 저장장치 컨트롤러 제어부와;A backup storage controller controller configured to input data buffered from the memory to the backup storage device or output data from the backup storage device and buffer the data; 상기 백업용 저장장치 컨트롤러 제어부 및 호스트 인터페이스 제어부에서 버퍼링한 데이터를 메모리에 입력하거나, 또는 메모리로부터 데이터를 출력하여 이를 버퍼링하는 메모리 컨트롤러 제어부와;A memory controller controller configured to input data buffered by the backup storage controller controller and the host interface controller to the memory, or output data from the memory and buffer the data; 상기 호스트 인터페이스 제어부로부터의 명령에 대한 정보를 기록하는 DMA 상태 레지스터와;A DMA status register for recording information on commands from the host interface controller; 상기 DMA 상태 레지스터에 기록된 명령에 대한 정보에 따라 상기 호스트 인터페이스 제어부와 상기 메모리 컨트롤러 제어부 상호 간, 및 상기 메모리 컨트롤러 제어부와 상기 백업용 저장장치 컨트롤러 제어부 상호 간에 데이터 전송 명령을 하는 DMA 상태 머신과;A DMA state machine for performing a data transfer command between the host interface controller and the memory controller controller and between the memory controller controller and the backup storage controller controller in accordance with information about a command recorded in the DMA status register; 상기 호스트 인터페이스 제어부와 상기 메모리 컨트롤러 제어부 사이, 및 상기 메모리 컨트롤러 제어부와 상기 백업용 저장장치 컨트롤러 제어부 사이에서 데이터 전송시 해당 전송되는 데이터를 버퍼링하는 버퍼부를 포함하여 이루어지는 것을 특징으로 하는 반도체 보조 기억 장치.And a buffer unit configured to buffer data transmitted between the host interface controller and the memory controller controller and between the memory controller controller and the backup storage controller controller. 제6항에 있어서,The method of claim 6, 상기 호스트 인터페이스 제어부는, 호스트로부터의 명령이 데이터 쓰기/읽기에 관한 것인지, 아니면 데이터 백업/복원에 관한 것인지를 분석하는 것을 특징으 로 하는 반도체 보조 기억 장치.And the host interface controller analyzes whether a command from a host relates to data write / read or data backup / restore. 삭제delete 제6항에 있어서,The method of claim 6, 상기 호스트 인터페이스 제어부는, 공급 전원 이상 검출시 상기 호스트 인터페이스부와의 통신을 차단하고, 백업 명령을 자체적으로 발생시켜 이를 상기 DMA 상태 레지스터에 기록하는 것을 특징으로 하는 반도체 보조 기억 장치.And the host interface controller interrupts communication with the host interface unit when detecting a power supply abnormality, generates a backup command by itself, and writes it to the DMA status register. 제6항에 있어서, The method of claim 6, 상기 백업용 저장장치 컨트롤러 제어부는, 일정 시간 간격으로 데이터 백업 명령을 발생시켜 이를 상기 DMA 상태 레지스터에 기록하는 것을 특징으로 하는 반도체 보조 기억 장치.And the backup storage controller controller generates a data backup command at predetermined time intervals and writes the data backup command to the DMA status register. 제10항에 있어서,The method of claim 10, 상기 백업용 저장장치 컨트롤러 제어부는, 마이크로프로세서인 것을 특징으로 하는 반도체 보조 기억 장치.And the backup storage controller controller is a microprocessor. 제6항에 있어서,The method of claim 6, 상기 버퍼부는, 상기 호스트 인터페이스 제어부에서 상기 메모리 컨트롤러 제어부로 전송하는 데이터를 버퍼링하는 제1버퍼와;The buffer unit may include: a first buffer configured to buffer data transmitted from the host interface controller to the memory controller controller; 상기 메모리 컨트롤러 제어부에서 상기 호스트 인터페이스 제어부로 전송하는 데이터를 버퍼링하는 제2버퍼와;A second buffer buffering data transmitted from the memory controller controller to the host interface controller; 상기 메모리 컨트롤러 제어부에서 상기 백업용 저장장치 컨트롤러 제어부로 전송하는 데이터를 버퍼링하는 제3버퍼와;A third buffer buffering data transmitted from the memory controller controller to the backup storage controller controller; 상기 백업용 저장장치 컨트롤러 제어부에서 상기 메모리 컨트롤러 제어부로 전송하는 데이터를 버퍼링하는 제4버퍼를 포함하여 이루어지는 것을 특징으로 하는 반도체 보조 기억 장치.And a fourth buffer for buffering data transmitted from the backup storage controller controller to the memory controller controller. 제1항에 있어서,The method of claim 1, 상기 메모리는, DDR(Dual Data Rate) SDRAM, DDR2 SDRAM, QDR(Quad Data Rate) SDRAM, SRAM, FRAM, PRAM 및 Flash Memory로 이루어지는 것을 특징으로 하는 반도체 보조 기억 장치.The memory comprises a dual data rate (DDR) SDRAM, DDR2 SDRAM, Quad Data Rate (QDR) SDRAM, SRAM, FRAM, PRAM, and Flash Memory. 제1항에 있어서,The method of claim 1, 상기 백업용 저장장치는, HDD, FDD, MMC, SD 및 PCMCI로 이루어지는 것을 특징으로 하는 반도체 보조 기억 장치.And said backup storage device is comprised of HDD, FDD, MMC, SD and PCMCI. 전원을 공급하는 외부 전원부 및 데이터를 저장하고 있는 시스템 주 기억 장치가 연결되어 있는 시스템 버스에 연결되어 있으며, 데이터 저장 수단인 메모리 및 백업용 저장장치를 구비한 반도체 보조 기억 장치를 이용한 데이터 저장 방법에 있어서,A data storage method using a semiconductor auxiliary memory device having a memory and a backup storage device connected to a system bus to which an external power supply unit for supplying power and a system main storage device for storing data are connected. , 상기 외부 전원부로부터의 전원 이상 여부를 확인하여 이상이 없는 경우에, 호스트로부터의 명령을 분석하는 제1과정과;A first step of checking whether there is a power failure from the external power supply unit and analyzing a command from the host when there is no error; 상기 분석된 명령에 따라 상기 메모리에 데이터를 쓰거나, 또는 상기 메모리로부터 데이터를 읽는 제2과정과;A second process of writing data to or reading data from the memory according to the analyzed command; 상기 분석된 명령에 따라 상기 메모리에 기록된 데이터를 상기 백업용 저장장치에 백업시키거나, 상기 백업용 저장장치에 백업된 데이터를 상기 메모리로 복원시키는 제3과정을 포함하여 이루어지는 것을 특징으로 하는 반도체 보조 기억 장치를 이용한 데이터 저장 방법.And backing up the data recorded in the memory to the backup storage device or restoring the data backed up to the backup storage device to the memory according to the analyzed command. How to save data using the device. 제15항에 있어서,The method of claim 15, 상기 제1과정은, 호스트로부터의 명령이 데이터 쓰기/읽기에 관한 것인지, 아니면 데이터 백업/복원에 관한 것인지를 분석하는 것을 특징으로 하는 반도체 보조 기억 장치를 이용한 데이터 저장 방법.The first step is to analyze whether the command from the host relates to data write / read or data backup / restore. 제15항에 있어서,The method of claim 15, 상기 제2과정은, 상기 분석된 명령이 데이터 쓰기인 경우에, 상기 시스템 버스 점유 요청을 하는 단계와;The second process includes: making a request to occupy the system bus if the analyzed command is a data write; 상기 점유 가능 여부를 확인하며, 점유 가능한 경우에 상기 시스템 버스를 점유하고 메모리에 쓸 데이터를 버퍼링하는 단계와;Checking the availability and buffering the data to occupy the system bus and write to memory if available; 상기 메모리에 데이터 입력이 가능한지를 확인하며, 가능한 경우에 상기 버퍼링된 데이터를 메모리에 쓰는 단계와;Checking whether data can be input to the memory, and writing the buffered data to the memory if possible; 상기 메모리에 쓰는 도중에 오류 발생 여부를 확인하며, 오류가 발생하지 않은 경우에, 데이터 쓰기가 완료되었는지를 확인하는 단계와;Checking whether an error occurs while writing to the memory, and if the error does not occur, checking whether data writing is completed; 상기 데이터 쓰기가 완료된 경우에, 상기 시스템 버스의 점유를 해제하는 단계를 포함하여 이루어지는 것을 특징으로 하는 반도체 보조 기억 장치를 이용한 데이터 저장 방법. And when the writing of the data is completed, releasing the occupancy of the system bus. 제17항에 있어서,The method of claim 17, 상기 데이터 쓰기가 완료되었는지를 확인하는 단계는, 상기 오류가 발생하지 않은 경우에, 데이터 쓰기가 정상적으로 종료되었다는 것을 출력하여 호스트에게 통보하는 단계와;The step of checking whether the data writing is completed may include: notifying the host by outputting that the data writing is normally completed when the error does not occur; 상기 데이터 쓰기에 관여한 모든 모듈에게 데이터 쓰기가 완료되었음을 통보하는 단계를 포함하여 이루어지는 것을 특징으로 하는 반도체 보조 기억 장치를 이용한 데이터 저장 방법. And notifying all modules involved in the data writing that the data writing is completed. 제18항에 있어서,The method of claim 18, 상기 오류가 발생한 경우에, 해당 발생된 오류의 종류를 분석하고 그 결과를 출력하여 호스트에게 제공하는 단계와;Analyzing the type of the error and outputting the result to the host when the error occurs; 상기 데이터 쓰기에 관여한 모든 모듈에게 데이터 쓰기가 완료되었음을 통보하는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 반도체 보조 기억 장치를 이용한 데이터 저장 방법.And notifying all modules involved in the data writing that the data writing is completed. 제15항에 있어서,The method of claim 15, 상기 제2과정은, 상기 분석된 명령이 데이터 읽기인 경우에, 상기 시스템 버스 점유 요청을 하는 단계와;The second process includes: making a request for occupying the system bus when the analyzed command is reading data; 상기 점유 가능 여부를 확인하며, 점유 가능한 경우에 상기 시스템 버스를 점유하고 시스템 주 기억 장치에 접속하는 단계와;Checking the availability and occupying the system bus if available and connecting to a system main memory; 상기 메모리로부터 데이터 출력이 가능한지를 확인하며, 가능한 경우에 상기 메모리로부터 데이터를 가져와서 버퍼링하는 단계와;Confirming whether data output is possible from the memory, and if possible, fetching and buffering data from the memory; 상기 버퍼링된 데이터를 시스템 주 기억 장치에서 읽는 단계와;Reading the buffered data in a system main storage device; 상기 시스템 주 기억 장치가 데이터를 읽는 도중에, 오류 발생 여부를 확인하며, 오류가 발생하지 않은 경우에, 데이터 읽기가 완료되었는지를 확인하는 단계와;Checking whether an error has occurred while the system main memory device reads data, and if the error has not occurred, checking whether data reading is completed; 상기 데이터 읽기가 완료된 경우에, 상기 시스템 버스의 점유를 해제하는 단계를 포함하여 이루어지는 것을 특징으로 하는 반도체 보조 기억 장치를 이용한 데 이터 저장 방법. And when the reading of the data is completed, releasing the occupancy of the system bus. 제20항에 있어서,The method of claim 20, 상기 데이터 읽기가 완료되었는지를 확인하는 단계는, 상기 오류가 발생하지 않은 경우에, 데이터 읽기가 정상적으로 종료되었다는 것을 출력하여 호스트에게 통보하는 단계와;The step of checking whether the data reading is completed may include: notifying the host by outputting that the data reading is normally completed when the error does not occur; 상기 데이터 읽기에 관여한 모든 모듈에게 데이터 읽기가 완료되었음을 통보하는 단계를 포함하여 이루어지는 것을 특징으로 하는 반도체 보조 기억 장치를 이용한 데이터 저장 방법. And notifying all modules involved in the data reading that the data reading is completed. 제21항에 있어서,The method of claim 21, 상기 오류가 발생한 경우에, 해당 발생된 오류의 종류를 분석하고 그 결과를 출력하여 호스트에게 제공하는 단계와;Analyzing the type of the error and outputting the result to the host when the error occurs; 상기 데이터 읽기에 관여한 모든 모듈에게 데이터 읽기가 완료되었음을 통보하는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 반도체 보조 기억 장치를 이용한 데이터 저장 방법.And notifying all modules involved in the data reading that the data reading has been completed. 제15항에 있어서,The method of claim 15, 상기 제3과정은, 상기 분석된 명령이 데이터 백업인 경우에, 상기 백업용 저장장치에 데이터 입력이 가능한지를 확인하며, 가능한 경우에 상기 메모리 내의 데이터 백업을 요청하는 단계와;The third step may include: when the analyzed command is a data backup, checking whether data can be input to the backup storage device, and requesting data backup in the memory if possible; 상기 메모리 내의 데이터 백업 요청에 따라 상기 메모리로부터 데이터 출력이 가능한지를 확인하며, 가능한 경우에 상기 메모리로부터 백업할 데이터를 가져와서 버퍼링하는 단계와;Checking whether data can be output from the memory according to a data backup request in the memory, and if possible, obtaining and buffering data to be backed up from the memory; 상기 버퍼링된 데이터를 백업용 저장장치로 백업하는 단계와;Backing up the buffered data to a backup storage device; 상기 백업용 저장장치로 데이터 백업 도중에, 오류 발생 여부를 확인하며, 오류가 발생하지 않은 경우에, 데이터 백업이 정상적으로 종료되었다는 것을 호스트 인터페이스를 통해 출력하여 호스트에게 통보하는 단계와;Checking whether or not an error has occurred during data backup to the backup storage device, and if the error does not occur, outputting through the host interface to notify the host that the data backup is normally completed; 상기 데이터 백업에 관여한 모든 모듈에게 데이터 백업이 완료되었음을 통보하는 단계를 포함하여 이루어지는 것을 특징으로 하는 반도체 보조 기억 장치를 이용한 데이터 저장 방법. And notifying all modules involved in the data backup that the data backup has been completed. 제23항에 있어서,The method of claim 23, wherein 상기 호스트 인터페이스를 통해 출력하여 호스트에게 통보하는 단계는 상기 오류가 발생한 경우에, 해당 발생된 오류의 종류를 분석하고 그 결과를 출력하여 호스트에게 제공하는 단계와;The step of outputting through the host interface and notifying the host may include analyzing the type of the generated error and outputting the result to the host when the error occurs; 상기 데이터 백업에 관여한 모든 모듈에게 데이터 백업이 완료되었음을 통보하는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 반도체 보조 기억 장치를 이용한 데이터 저장 방법.And notifying all modules involved in the data backup that the data backup is completed. 제15항에 있어서,The method of claim 15, 상기 제3과정은, 상기 분석된 명령이 데이터 복원인 경우에, 상기 백업용 저장장치로부터 데이터 출력이 가능한지를 확인하며, 가능한 경우에 상기 메모리에 데이터 복원을 요청하는 단계와;The third step may include: when the analyzed command is data restoration, checking whether data output from the backup storage device is possible, and requesting data restoration in the memory if possible; 상기 메모리에 데이터 복원 요청에 따라 상기 메모리에 데이터 입력이 가능한지를 확인하며, 가능한 경우에 상기 백업용 저장장치로부터 복원할 데이터를 가져와서 버퍼링하는 단계와;Checking whether data can be input to the memory according to a data restoration request to the memory, and if possible, obtaining and buffering data to be restored from the backup storage device; 상기 버퍼링된 데이터를 상기 메모리로 복원하는 단계와;Restoring the buffered data to the memory; 상기 메모리로 데이터 복원 도중에, 오류 발생 여부를 확인하며, 오류가 발생하지 않은 경우에, 데이터 복원이 정상적으로 종료되었다는 것을 호스트 인터페이스를 통해 출력하여 호스트에게 통보하는 단계와;Checking whether an error has occurred while restoring data to the memory, and if the error has not occurred, outputting to the host via a host interface that data restoration has been normally terminated; 상기 데이터 복원에 관여한 모든 모듈에게 데이터 복원이 완료되었음을 통보하는 단계를 포함하여 이루어지는 것을 특징으로 하는 반도체 보조 기억 장치를 이용한 데이터 저장 방법.And notifying all modules involved in the data restoration that data restoration has been completed. 제25항에 있어서,The method of claim 25, 상기 호스트 인터페이스를 통해 출력하여 호스트에게 통보하는 단계는, 상기 오류가 발생한 경우에, 해당 발생된 오류의 종류를 분석하고 그 결과를 출력하여 호스트에게 제공하는 단계와;The step of outputting through the host interface and notifying the host may include analyzing the type of the error and outputting the result to the host when the error occurs; 상기 데이터 복원에 관여한 모든 모듈에게 데이터 복원이 완료되었음을 통보하는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 반도체 보조 기억 장치를 이용한 데이터 저장 방법.And notifying all modules involved in the data restoration that data restoration has been completed. 제15항에 있어서, The method of claim 15, 상기 반도체 보조 기억 장치에 공급되는 전원의 이상 발생시, 상기 호스트로부터의 명령을 차단하는 단계와;Interrupting a command from the host when an abnormality in power supplied to the semiconductor auxiliary memory device occurs; 상기 호스트로부터의 명령을 차단한 후, 보조 전원을 이용하여 구동하며, 백업용 저장장치에 데이터 입력이 가능한지를 확인하고, 가능한 경우에 메모리 내의 데이터 백업을 요청하는 단계와;After blocking a command from the host, driving by using an auxiliary power source, checking whether data can be input to a backup storage device, and requesting data backup in a memory if possible; 상기 메모리 내의 데이터 백업 요청에 따라 상기 메모리로부터 데이터 출력이 가능한지를 확인하며, 가능한 경우에 상기 메모리로부터 백업할 데이터를 가져와서 버퍼링하는 단계와;Checking whether data can be output from the memory according to a data backup request in the memory, and if possible, obtaining and buffering data to be backed up from the memory; 상기 버퍼링된 데이터를 상기 백업용 저장장치로 백업하는 단계를 더 포함하 여 이루어지는 것을 특징으로 하는 반도체 보조 기억 장치를 이용한 데이터 저장 방법.And backing up the buffered data to the backup storage device. 제15항에 있어서, The method of claim 15, 상기 호스트로부터의 명령에 상관없이 일정 시간 간격으로 상기 메모리에 저장된 데이터를 상기 백업용 저장장치로 백업시키는 단계를 더 포함하여 이루어지는 것을 특징으로 하는 반도체 보조 기억 장치를 이용한 데이터 저장 방법.And backing up the data stored in the memory to the backup storage device at regular time intervals regardless of the command from the host.
KR1020070015838A 2006-12-29 2007-02-15 Semiconductor secondary memory unit and data saving method using the same KR100827287B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20060138665 2006-12-29
KR1020060138665 2006-12-29

Publications (1)

Publication Number Publication Date
KR100827287B1 true KR100827287B1 (en) 2008-05-07

Family

ID=39649602

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070015838A KR100827287B1 (en) 2006-12-29 2007-02-15 Semiconductor secondary memory unit and data saving method using the same

Country Status (1)

Country Link
KR (1) KR100827287B1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100928438B1 (en) 2008-11-24 2009-11-25 주식회사 태진인포텍 Storage of serial attached small computer system interface/serial advanced technology attachment type
WO2011136480A2 (en) * 2010-04-13 2011-11-03 주식회사 태진인포텍 Semiconductor storage device
KR101134069B1 (en) * 2010-07-19 2012-04-13 주식회사 태진인포텍 Hybrid storage system for a multi-level raid architecture
WO2012124976A2 (en) * 2011-03-14 2012-09-20 Taejin Info Tech Co., Ltd. Hybrid system architecture for random access memory
WO2012099434A3 (en) * 2011-01-20 2012-11-22 Taejin Info Tech Co., Ltd. Sas-based semiconductor storage device memory disk unit
WO2013015561A1 (en) * 2011-07-22 2013-01-31 Taejin Info Tech Co., Ltd. Semiconductor storage device-based data restoration
WO2013039319A2 (en) * 2011-09-12 2013-03-21 Taejin Info Tech Co., Ltd. Semiconductor storage device having multiple host interface units for increased bandwidth

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05204825A (en) * 1991-10-15 1993-08-13 Internatl Business Mach Corp <Ibm> Direct memory-access-controller and information processor
KR20030085898A (en) * 2002-05-02 2003-11-07 주식회사 케이티 Bidirectional emulator of interface card
KR20040019451A (en) * 2002-08-26 2004-03-06 삼성전자주식회사 Embedded controller capable of backing up operating states of a peripheral device in the real time
US6874039B2 (en) 2000-09-08 2005-03-29 Intel Corporation Method and apparatus for distributed direct memory access for systems on chip

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05204825A (en) * 1991-10-15 1993-08-13 Internatl Business Mach Corp <Ibm> Direct memory-access-controller and information processor
US6874039B2 (en) 2000-09-08 2005-03-29 Intel Corporation Method and apparatus for distributed direct memory access for systems on chip
KR20030085898A (en) * 2002-05-02 2003-11-07 주식회사 케이티 Bidirectional emulator of interface card
KR20040019451A (en) * 2002-08-26 2004-03-06 삼성전자주식회사 Embedded controller capable of backing up operating states of a peripheral device in the real time

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010059007A2 (en) * 2008-11-24 2010-05-27 Taejin Infotech Co., Ltd. Storage device of serial attached small computer system interface/serial advanced technology attachment type
WO2010059007A3 (en) * 2008-11-24 2010-08-12 Taejin Infotech Co., Ltd. Storage device of serial attached small computer system interface/serial advanced technology attachment type
KR100928438B1 (en) 2008-11-24 2009-11-25 주식회사 태진인포텍 Storage of serial attached small computer system interface/serial advanced technology attachment type
WO2011136480A2 (en) * 2010-04-13 2011-11-03 주식회사 태진인포텍 Semiconductor storage device
WO2011136480A3 (en) * 2010-04-13 2012-04-19 주식회사 태진인포텍 Semiconductor storage device
KR101134069B1 (en) * 2010-07-19 2012-04-13 주식회사 태진인포텍 Hybrid storage system for a multi-level raid architecture
KR101209920B1 (en) * 2011-01-20 2012-12-11 주식회사 태진인포텍 Ssd memory system
WO2012099434A3 (en) * 2011-01-20 2012-11-22 Taejin Info Tech Co., Ltd. Sas-based semiconductor storage device memory disk unit
WO2012124976A2 (en) * 2011-03-14 2012-09-20 Taejin Info Tech Co., Ltd. Hybrid system architecture for random access memory
WO2012124976A3 (en) * 2011-03-14 2012-12-27 Taejin Info Tech Co., Ltd. Hybrid system architecture for random access memory
WO2013015561A1 (en) * 2011-07-22 2013-01-31 Taejin Info Tech Co., Ltd. Semiconductor storage device-based data restoration
KR101317763B1 (en) * 2011-07-22 2013-10-11 주식회사 태진인포텍 Semiconductor storage device-based data restoration
WO2013039319A2 (en) * 2011-09-12 2013-03-21 Taejin Info Tech Co., Ltd. Semiconductor storage device having multiple host interface units for increased bandwidth
WO2013039319A3 (en) * 2011-09-12 2013-05-10 Taejin Info Tech Co., Ltd. Semiconductor storage device having multiple host interface units for increased bandwidth
KR101512742B1 (en) * 2011-09-12 2015-04-21 주식회사 태진인포텍 Semiconductor storage device having multiple host interface units for increased bandwidth, and semiconductor storage device-based system

Similar Documents

Publication Publication Date Title
JP4041473B2 (en) Autonomous power loss recovery for multi-cluster storage subsystems
JP4723290B2 (en) Disk array device and control method thereof
KR100827287B1 (en) Semiconductor secondary memory unit and data saving method using the same
US8826066B2 (en) Information processing apparatus, control method of the information processing apparatus, and recording medium
US7464220B2 (en) Storage apparatus and method of controllng the same
KR101512743B1 (en) Direct memory access without main memory in a semiconductor storage device-based system
JP2004038290A (en) Information processing system and disk control method for use in same system
US8631198B2 (en) Dynamic cache reduction utilizing voltage warning mechanism
US10025670B2 (en) Information processing apparatus, memory dump method, and storage medium
JP2011170589A (en) Storage control device, storage device, and storage control method
EP2608049A1 (en) Control system and relay apparatus
KR20120089214A (en) Raid-rased storage control board
JP2005196490A (en) System and method for data duplication
US7421596B2 (en) Disk array system
US20190073147A1 (en) Control device, method and non-transitory computer-readable storage medium
KR101512741B1 (en) Network-capable RAID controller for a semiconcuctor Storage Device
CN111240903A (en) Data recovery method and related equipment
US10528275B2 (en) Storage system, storage control device, and method of controlling a storage system
US11385815B2 (en) Storage system
US9836359B2 (en) Storage and control method of the same
JP5773446B2 (en) Storage device, redundancy recovery method, and program
US8132196B2 (en) Controller based shock detection for storage systems
US8667218B2 (en) Storage apparatus comprising RAID groups of RAID 1 series and control method of writing to RAID group of RAID 1 series
JP5661313B2 (en) Storage device
JP6901534B2 (en) Data storage device, control device, stored data management method, and program

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130425

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140425

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20150428

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160428

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20170522

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20180525

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20190429

Year of fee payment: 12

R401 Registration of restoration