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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/30—Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data 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
Description
도 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
일반적으로 반도체 보조 기억 장치는 직접 메모리 접속(이하, 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
예를 들어, 상기 백업용 저장장치(360)는 하드디스크(HDD), FDD, MMC, SD 및 PCMCI 등으로 이루어진다.For example, the
상기 DMA 컨트롤 장치(320)는 상기 호스트 인터페이스(310), 메모리 컨트롤러(330) 및 백업용 저장장치 컨트롤러(340)와 연결되어 이루어진다. 그리고, 상기 메모리 컨트롤러(330)는 상기 메모리(350)와 연결되어 이루어지며, 상기 백업용 저장장치 컨트롤러(340)는 상기 백업용 저장장치(360)와 연결되어 이루어진다. 그리고, 상기 전원 제어부(370)는 상기 시스템 버스(200) 및 보조 전원부(380)와 연결되어 이루어진다.The
상기 호스트 인터페이스(310)는 호스트로부터의 명령을 상기 DMA 컨트롤 장치로 전달하며, 상기 DMA 컨트롤 장치로부터의 정보를 외부 출력하여 호스트에게 제공한다. 즉, 상기 호스트 인터페이스(310) 호스트와의 인터페이스에 따라 물리적인 접속을 지원한다. The
예를 들어, 상기 호스트 인터페이스(310)는 호스트와의 인터페이스에 따라 SCSI(Small Computer System Interface), SATA(Serial Advanced Technology Attachment), PCI(Peripheral Component Interconnect), PCI-X 및 PCI Express 등의 물리적인 접속을 지원한다.For example, the
상기 DMA 컨트롤 장치(320)는 상기 호스트 인터페이스(310)를 통해 전달받은 호스트로부터의 명령에 따라 상기 메모리 컨트롤러(330)를 제어하여 상기 메모리(350)에 데이터를 읽거나 쓴다.The
또한, 상기 DMA 컨트롤 장치(320)는 상기 호스트 인터페이스(310)를 통해 전달받은 호스트로부터의 명령에 따라 백업용 저장장치 컨트롤러(340)를 제어하여 백업용 저장장치(360)에 데이터를 백업/복원시킨다.In addition, the
이러한, 상기 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
상기 호스트 인터페이스 제어부(321)는 상기 호스트 인터페이스(310)를 통해 입력된 호스트로부터의 명령을 분석하여 해당 분석된 명령에 대한 정보를 상기 DMA 상태 레지스터(322)에 써넣고, 상기 DMA 상태 머신(323)을 구동시킨다.The
또한, 상기 호스트 인터페이스 제어부(321)는 상기 DMA 상태 머신(323)의 요 청에 따라 상기 시스템 버스(200)의 점유 가능 여부를 확인하고, 상기 시스템 버스(200)의 점유가 가능한 경우에, 상기 시스템 버스(200)를 점유하고 해당 점유된 시스템 버스(200)를 통해 상기 시스템 주 기억 장치(100)에 접속한 후에, 이에 대하여 상기 DMA 상태 머신(323)에게 통보한다. In addition, the
또한, 상기 호스트 인터페이스 제어부(321)는 호스트로부터의 명령을 분석하여 해당 분석된 명령이 데이터 쓰기인 경우에, 상기 메모리(350)에 쓸 데이터를 상기 시스템 주 기억 장치(100)로부터 가져와서 상기 제1버퍼(325)에 버퍼링시킨 후에, 이에 대하여 상기 DMA 상태 머신(323)에게 통보한다.In addition, the
또한, 상기 호스트 인터페이스 제어부(321)는 상기 DMA 상태 머신(323)의 통보에 따라 상기 제2버퍼(326)에 버퍼링된 데이터를 상기 시스템 주 기억 장치(100)에 쓴다.In addition, the
또한, 상기 호스트 인터페이스 제어부(321)는 호스트로부터의 명령 수행이 완료되면 상기 시스템 버스(200)의 점유를 해제한다.In addition, the
또한, 상기 호스트 인터페이스 제어부(321)는 상기 제2버퍼(326)에 버퍼링된 데이터를 상기 점유된 시스템 버스(200)를 통해 상기 시스템 주 기억 장치(100)에 쓴다.In addition, the
또한, 상기 호스트 인터페이스 제어부(321)는 상기 메모리(350)로부터 데이터를 읽는 도중에 데이터 읽기 오류 발생 여부를 지속적으로 확인하여, 상기 메모리(350)로부터 데이터 읽기 도중에 오류가 확인되지 않고, 상기 메모리(350)에 데이터 읽기가 완료된 경우에, 데이터 읽기가 정상적으로 종료되었다는 것을 호스트 인터페이스(310)를 통해 출력하여 호스트에게 통보하고, 해당 데이터 읽기에 관여한 모든 모듈에게 데이터 읽기가 완료되었음을 통보한다. In addition, the
여기서, 상기 호스트 인터페이스 제어부(321)에서 상기 메모리(350)로부터 데이터를 읽는 도중에 데이터 읽기 오류 발생 여부를 지속적으로 확인하는 것은, 다시 말해서 상기 호스트 인터페이스 제어부(321)에서 상기 제2버퍼(326)에 버퍼링된 데이터를 상기 점유된 시스템 버스(200)를 통해 상기 시스템 주 기억 장치(100)에 쓰는 도중에, 데이터 읽기 오류 발생 여부를 지속적으로 확인하는 것을 의미한다.Here, the
또한, 상기 호스트 인터페이스 제어부(321)는 상기 메모리(350)에 데이터 읽기 도중 오류가 확인된 경우에, 해당 확인된 오류의 종류를 분석하고 그 결과를 상기 호스트 인터페이스(310)를 통해 출력하여 호스트에게 통보하고, 해당 데이터 읽기에 관여한 모든 모듈에게 데이터 읽기가 완료되었음을 통보한다.In addition, when an error is confirmed while reading data in the
또한, 상기 호스트 인터페이스 제어부(321)는 상기 전원 제어부(370)로부터의 공급 전원 이상 검출 통보에 따라 상기 호스트 인터페이스(320)와의 통신을 차단하고, 자체 백업 명령을 발생시켜 해당 명령에 관한 정보를 상기 DMA 상태 레지스터(322)에 써넣고, 상기 DMA 상태 머신(323)을 구동시킨다.In addition, the
상기 DMA 상태 레지스터(322)는 상기 호스트 인터페이스 제어부(321)로부터 데이터 쓰기/읽기/백업/복원 명령에 대한 정보를 전달받아 이를 기록한다.The
상기 DMA 상태 머신(323)은 상기 DMA 상태 레지스터(322)의 값에 따라 상기 호스트 인터페이스 제어부(321), 메모리 컨트롤러 제어부(324) 및 백업용 저장 장 치 컨트롤러 제어부(327) 등의 각 모듈을 컨트롤하기 위한 명령 신호를 발생시키며, 해당 각 모듈의 상태를 감시한다.The
또한, 상기 DMA 상태 머신(323)은 상기 DMA 상태 레지스터(322)에 기록된 명령에 대한 정보에 따라 상기 호스트 인터페이스 제어부(321)와 상기 메모리 컨트롤러 제어부(324), 및 상기 메모리 컨트롤러 제어부(324)와 상기 백업용 저장장치 컨트롤러 제어부(327) 상호 간에 데이터 전송 명령을 한다.In addition, the
또한, 상기 DMA 상태 머신(323)은 상기 DMA 상태 레지스터(322)에 기록된 정보에 따라 상기 시스템 주 기억 장치(100)에 접속하기 위해 상기 호스트 인터페이스 제어부(321)로 상기 시스템 버스(200) 점유 요청을 한다.The
또한, 상기 DMA 상태 머신(323)은 상기 호스트 인터페이스 제어부(321)의 통보에 따라 상기 메모리(350)에 쓸 데이터가 상기 제1버퍼(325)에 버퍼링되어 있음을 상기 메모리 컨트롤러 제어부(324)에게 통보한다.In addition, the
또한, 상기 DMA 상태 머신(323)은 상기 메모리 컨트롤러 제어부(324)에게 메모리(350)로부터 데이터 읽기 요청을 한다.In addition, the
또한, 상기 DMA 상태 머신(323)은 상기 제2버퍼(326)에 상기 메모리(350)로부터 읽을 데이터가 버퍼링되어 있음을 상기 호스트 인터페이스 제어부(321)에게 통보한다.In addition, the
또한, 상기 DMA 상태 머신(323)은 상기 DMA 상태 레지스터(322)에 기록된 정보에 따라 상기 백업용 저장장치 컨트롤러 제어부(327)에게 데이터를 백업할 백업용 저장장치(360)에게 데이터 입력이 가능한지 여부 확인을 요청한다.In addition, the
또한, 상기 DMA 상태 머신(323)은 상기 메모리 컨트롤러 제어부(324)에게 메모리(350) 내의 데이터 백업 요청을 한다.In addition, the
또한, 상기 DMA 상태 머신(323)은 상기 제3버퍼(328)에 상기 메모리(350)로부터 백업할 데이터가 버퍼링되어 있음을 상기 백업용 저장장치 컨트롤러 제어부(327)에게 통보한다.In addition, the
또한, 상기 DMA 상태 머신(323)은 상기 DMA 상태 레지스터(322)에 기록된 정보에 따라 상기 백업용 저장장치 컨트롤러 제어부(327)에게 데이터를 복원할 백업용 저장장치(360)로부터 데이터 출력이 가능한지 여부 확인을 요청한다.In addition, the
또한, 상기 DMA 상태 머신(323)은 상기 백업용 저장장치 컨트롤러 제어부(327)에게 백업용 저장장치(360) 내의 데이터 복원 요청을 한다.The
또한, 상기 DMA 상태 머신(323)은 상기 제4버퍼(329)에 상기 백업용 저장장치(360)로부터 복원할 데이터가 버퍼링되어 있음을 상기 메모리 컨트롤러 제어부(324)에게 통보한다.The
상기 메모리 컨트롤러 제어부(324)는 메모리(350)의 종류에 따라 해당 메모리(350)에 연결을 위한 상기 메모리 컨트롤러(330)를 제어한다.The
예를 들어, 상기 메모리(350)는 DDR(Dual Data Rate) SDRAM, DDR2 SDRAM, QDR(Quad Data Rate) SDRAM, SRAM, FRAM, PRAM 및 Flash Memory 등으로 이루어진다.For example, the
또한, 상기 메모리 컨트롤러 제어부(324)는 상기 DMA 상태 머신(323)의 요청에 따라 데이터를 써넣을 메모리(350)에 데이터 입력이 가능한지 여부를 확인하고, 상기 메모리(350)에 데이터 입력이 가능한 경우에, 상기 제1버퍼(325)에 버퍼링되어 있는 데이터를 상기 메모리(350)에 쓰거나 복원한다.In addition, the
또한, 상기 메모리 컨트롤러 제어부(324)는 상기 메모리(350)에 데이터를 쓰기/복원 도중에 데이터 쓰기/복원 오류 발생 여부를 지속적으로 확인하여, 상기 메모리(350)에 데이터 쓰기/복원 도중에 오류가 확인되지 않고, 상기 메모리(350)에 데이터 쓰기/복원이 완료된 경우에, 데이터 쓰기/복원이 정상적으로 종료되었다는 것을 호스트 인터페이스(310)를 통해 출력하여 호스트에게 통보하고, 해당 데이터 쓰기/복원 관여한 모든 모듈에게 데이터 쓰기가 완료되었음을 통보한다.In addition, the
또한, 상기 메모리 컨트롤러 제어부(324)는 상기 메모리(350)에 데이터 쓰기/복원 도중에 오류가 확인된 경우에, 해당 확인된 오류의 종류를 분석하고 그 결과를 상기 호스트 인터페이스(310)를 통해 출력하여 호스트에게 통보하고, 해당 데이터 쓰기/복원에 관여한 모든 모듈에게 데이터 쓰기/복원이 완료되었음을 통보한다.In addition, the
또한, 상기 메모리 컨트롤러 제어부(324)는 데이터를 읽을 메모리(350)로부터 데이터 출력이 가능한지 여부를 확인하고, 상기 메모리(350)에 데이터 출력이 가능한 경우에, 상기 메모리(350)로부터 읽을 데이터를 가져와서 이를 상기 제2버퍼(326)에 버퍼링시킨 후에, 이에 대하여 상기 DMA 상태 머신(323)에게 통보한다.In addition, the
또한, 상기 메모리 컨트롤러 제어부(324)는 데이터를 백업할 메모리(350)의 데이터 출력 가능 여부를 확인하여, 상기 메모리(350)부로부터 데이터 출력이 가능한 경우에, 상기 메모리(350)로부터 백업할 데이터를 가져와서 이를 상기 제3버퍼(328)에 버퍼링시킨 후에, 이에 대하여 상기 DMA 상태 머신(323)에게 통보한다.In addition, the
또한, 상기 메모리 컨트롤러 제어부(324)는 데이터를 복원할 메모리(350)에 데이터 입력이 가능한지 여부를 확인하고, 상기 메모리(350)에 데이터 입력이 가능한 경우에, 상기 메모리(350)에 데이터 복원이 가능함을 상기 DMA 상태 머신(323)에게 통보한다.In addition, the
또한, 상기 메모리 컨트롤러 제어부(324)는 상기 DMA 상태 머신(323)의 통보에 따라 상기 제4버퍼(329)에 버퍼링된 데이터를 상기 메모리(350)로 복원시킨다.In addition, the
상기 백업용 저장장치 컨트롤러 제어부(327)는 각종 백업을 위한 저장장치를 위한 인터페이스를 컨트롤하는 백업용 저장장치 컨트롤러(340)를 제어한다.The backup
또한, 상기 백업용 저장장치 컨트롤러 제어부(327)는 일정 시간 간격으로 자체적으로 백업 명령을 발생하여 이를 상기 DMA 상태 레지스터에 기록한다.In addition, the backup
예를 들어, 상기 백업용 저장장치 컨트롤러(340)는 마이크로프로세서로 이루어지기 때문에, 중앙처리장치와 같은 외부로부터의 영향을 받지 않고, 독립적으로 백업을 수행할 수 있다.For example, since the
또한, 상기 백업용 저장장치 컨트롤러 제어부(327)는 상기 DMA 상태 머신(323)의 요청에 따라 상기 백업용 저장장치(360)에 데이터 입력이 가능한지 여부를 확인하여, 상기 백업용 저장장치(360)에 데이터 입력이 가능한 경우에, 상기 백업용 저장장치(360)에 데이터 백업이 가능함을 상기 DMA 상태 머신(323)에게 통보한다.In addition, the backup
또한, 상기 백업용 저장장치 컨트롤러 제어부(327)는 상기 DMA 상태 머신(323)의 통보에 따라 상기 제3버퍼(328)에 버퍼링된 데이터를 상기 백업용 저장 장치(360)로 백업시킨다.In addition, the backup
또한, 상기 백업용 저장장치 컨트롤러 제어부(327)는 상기 백업용 저장장치(360)에 데이터를 백업하는 도중에 데이터 백업 오류 발생 여부를 지속적으로 확인하여, 상기 백업용 저장장치(360)에 데이터를 백업하는 도중에 오류가 확인되지 않고, 상기 백업용 저장장치(360)에 데이터 백업이 완료된 경우에, 데이터 백업이 정상적으로 종료되었다는 것을 호스트 인터페이스(310)를 통해 출력하여 호스트에게 통보하고, 해당 데이터 백업에 관여한 모든 모듈에게 데이터 백업이 완료되었음을 통보한다.In addition, the backup
또한, 상기 백업용 저장장치 컨트롤러 제어부(327)는 상기 백업용 저장장치(360)에 데이터를 백업하는 도중에 오류가 확인된 경우에, 해당 확인된 오류의 종류를 분석하고 그 결과를 상기 호스트 인터페이스(310)를 통해 출력하여 호스트에게 통보하고, 해당 데이터 백업에 관여한 모든 모듈에게 데이터 백업이 완료되었음을 통보한다.In addition, the backup
또한, 상기 백업용 저장장치 컨트롤러 제어부(327)는 상기 DMA 상태 머신(323)의 요청에 따라 상기 백업용 저장장치(360)로부터 데이터 출력이 가능한지 여부를 확인하고, 상기 백업용 저장장치(360)로부터 데이터 출력이 가능한 경우에, 상기 백업용 저장장치(360)로부터 데이터 복원이 가능함을 상기 DMA 상태 머신(323)에게 통보한다.In addition, the backup
또한, 상기 백업용 저장장치 컨트롤러(340)는 백업용 저장장치(360)로부터 복원할 데이터를 가져와서 이를 상기 제4버퍼(329)에 버퍼링시킨 후에, 이에 대하 여 상기 DMA 상태 머신(323)에게 통보한다.In addition, the
상기 제1,2버퍼(325,326)는 상기 호스트 인터페이스 제어부(321)와 상기 메모리 컨트롤러 제어부(324)사이에서 데이터 전송시 버퍼링을 통해 빠른 데이터 전송 및 전송 동기화를 제공한다.The first and
또한, 상기 제1버퍼(325)는 상기 호스트 인터페이스 제어부(321)로부터 데이터를 전달받아 이를 버퍼링하고, 해당 버퍼링된 데이터를 상기 메모리 컨트롤러 제어부(324)로 전달한다.In addition, the
또한, 상기 제2버퍼(326)는 상기 메모리 컨트롤러 제어부(324)로부터 데이터를 전달받아 이를 버퍼링하고, 해당 버퍼링된 데이터를 상기 호스트 인터페이스 제어부(321)로 전달한다.In addition, the
상기 제3,4버퍼(328,329)는 상기 메모리 컨트롤러 제어부(324)와 상기 백업용 저장장치 컨트롤러 제어부(327) 사이에서 데이터 전송시 버퍼링을 통해 빠른 데이터 전송 및 전송 동기화를 제공한다.The third and
또한, 상기 제3버퍼(328)는 상기 메모리 컨트롤러 제어부(324)로부터 데이터를 전달받아 이를 버퍼링하고 해당 버퍼링된 데이터를 상기 백업용 저장장치 컨트롤러 제어부(327)로 전달한다.In addition, the
또한, 상기 제4버퍼(329)는 상기 백업용 저장장치 컨트롤러 제어부(327)로부터 데이터를 전달받아 이를 버퍼링하고 해당 버퍼링된 데이터를 상기 메모리 컨트롤러 제어부(324)로 전달한다.In addition, the
상기 메모리 컨트롤러(330)는 상기 DMA 컨트롤 장치(320)의 제어에 따라 상 기 메모리(350)에 저장되어 있는 데이터를 가져와서 상기 DMA 컨트롤 장치(320)에게 제공한다.The
또한, 상기 메모리 컨트롤러(330)는 상기 DMA 컨트롤 장치(320)의 제어에 따라 상기 메모리(350)에 데이터를 기록한다.In addition, the
상기 백업용 저장장치 컨트롤러(340)는 상기 DMA 컨트롤 장치(320)의 제어에 따라 상기 백업용 저장장치(360)에 저장되어 있는 데이터를 가져와서 상기 DMA 컨트롤 장치(320)에게 제공한다.The backup
또한, 상기 백업용 저장장치 컨트롤러(340)는 상기 DMA 컨트롤 장치(320)의 제어에 따라 상기 백업용 저장장치(360)에 데이터를 백업한다.In addition, the backup
상기 전원 제어부(370)는 상기 시스템 버스(200)를 통해 외부 전원부(미도시)로부터의 전원을 공급받아 이를 상기 호스트 인터페이스(310), DMA 컨트롤 장치(320), 메모리 컨트롤러(330) 및 백업용 저장장치 컨트롤러(340)로 각각 공급한다.The
또한, 상기 전원 제어부(370)은 상기 외부 전원부로부터의 공급 전원의 이상 여부를 확인하여 공급 전원 이상 검출시 이를 상기 DMA 컨트롤 장치(320)로 통보하며, 상기 보조 전원부(380)로부터 상기 호스트 인터페이스(310), DMA 컨트롤 장치(320), 메모리 컨트롤러(330) 및 백업용 저장장치 컨트롤러(340)로 각각 공급해야할 전원을 공급받는다.In addition, the
구체적으로는, 상기 전원 제어부(370)는 상기 외부 전원부로부터 공급되는 전원의 이상 여부를 확인하여 이상 상태 검출시 이를 상기 DMA 컨트롤 장치(320)의 호스트 인터페이스 제어부(321)에게 통보한다.Specifically, the
또한, 상기 보조 전원부(380)는 충전식 배터리로 이루어지며, 평상시 상기 외부 전원부의 전원을 이용하여 일정 전압을 유지하도록 자체적으로 자신을 충전시킨다.In addition, the
상술한 바와 같은 구성에 있어서, 본 발명의 실시 예에 따른 반도체 보조 기억 장치를 이용한 데이터 저장 방법을 도 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
예를 들어, 상기 전원 제어부(370)는 상기 외부 전원부로부터의 공급 전원의 전압이 기준 전압(예를 들어, 4.7V) 이하로 떨어지는 경우를 전원 이상으로 간주하게 된다.For example, the
이후에, 호스트가 데이터 쓰기/읽기/백업/복원 명령을 상기 호스트 인터페이스(310)를 통해 입력하면, 상기 호스트 인터페이스(310)는 해당 입력받은 명령을 상기 호스트 인터페이스 제어부(321)로 전달한다.Thereafter, when a host inputs a data write / read / backup / restore command through the
그러면, 상기 호스트 인터페이스 제어부(321)는 상기 호스트 인터페이 스(310)를 통해 입력받은 명령을 분석한다.Then, the
구체적으로 설명하면, 상기 호스트 인터페이스 제어부(321)는 상기 호스트 인터페이스(310)를 통해 입력받은 명령이 호스트와 상기 메모리(350) 사이에서 데이터 읽기/쓰기에 관한 것인지, 아니면 상기 메모리(350)와 백업용 저장장치(360) 사이에서 데이터 백업/복원에 관한 것인지를 확인한다(단계 S32).Specifically, the
이때, 상기 명령이 호스트와 메모리(350) 사이에서 데이터 읽기/쓰기에 관한 것인 경우에, 상기 호스트 인터페이스 제어부(321)는 상기 명령이 호스트와 메모리(350) 사이에서 데이터 읽기인지 또는 쓰기인지를 확인한다(단계 S33).In this case, when the command relates to data read / write between the host and the
그 결과로, 상기 명령이 호스트와 메모리(350) 사이에서 데이터 쓰기에 해당하는 경우에, 상기 호스트 인터페이스 제어부(321)는 상기 명령에 관한 정보를 상기 DMA 상태 레지스터(322)에 써넣고, 상기 DMA 상태 머신(323)을 구동시킨다.As a result, when the command corresponds to writing data between the host and the
이에, 상기 DMA 상태 머신(323)은 상기 DMA 상태 레지스터(322)에 기록된 정보에 따라 상기 시스템 주 기억 장치(100)에 접속하기 위해 상기 호스트 인터페이스 제어부(321)로 상기 시스템 버스(200) 점유 요청을 한 후에(단계 S34), 그 결과를 기다린다. 즉, 상기 DMA 상태 머신(323)은 상기 호스트 인터페이스 제어부(321)로부터의 상기 시스템 버스(200) 점유 응답을 기다린다. Accordingly, the
여기서, 상기 DMA 상태 머신(323)은 상기 호스트 인터페이스 제어부(321)로부터의 상기 시스템 버스(200) 점유 응답을 받을 때까지 기다리면서, 상기 메모리(350)에 쓸(Write) 데이터의 데이터량과 블록 사이즈를 계산하고, 데이터 쓰기를 위한 호스트와 메모리(350) 사이의 데이터 통신 연결을 준비한다. 즉, 상기 호스트 인터페이스 제어부(321)와 상기 메모리 컨트롤러 제어부(324) 사이의 통신을 연결한다.In this case, the
이에, 상기 호스트 인터페이스 제어부(321)는 상기 DMA 상태 머신(323)의 요청에 따라 상기 시스템 버스(200)의 점유 가능 여부를 확인한다(단계 S35). 즉, 상기 시스템 버스(200)가 다른 시스템에 의해 사용중인지를 확인한다.Accordingly, the
이때, 상기 시스템 버스(200)의 점유가 가능한 경우에, 상기 호스트 인터페이스 제어부(321)는 상기 시스템 버스(200)를 점유하고 해당 점유된 시스템 버스(200)를 통해 상기 시스템 주 기억 장치(100)에 접속하여 상기 메모리(350)에 쓸 데이터를 가져와서 이를 상기 제1버퍼(325)에 버퍼링시킨 후에(단계 S36), 이에 대하여 상기 DMA 상태 머신(323)에게 통보한다.In this case, when the occupation of the
이에, 상기 DMA 상태 머신(323)은 상기 제1버퍼(325)에 메모리(350)에 쓸 데이터가 버퍼링되어 있음을 상기 메모리 컨트롤러 제어부(324)에게 통보한다.Accordingly, the
그러면, 상기 메모리 컨트롤러 제어부(324)는 데이터를 써넣을 메모리(350)에 데이터 입력이 가능한지 여부를 확인한다(단계 S37). 즉, 상기 메모리 컨트롤러 제어부(324)는 해당 데이터를 써넣을 메모리(350)가 이전 명령에 의한 데이터 입출력이 진행중인지를 확인한다.Then, the
이때, 상기 메모리(350)에 데이터 입력이 가능한 경우에, 즉 이전 명령에 의한 데이터 입출력 진행중이 아닌 경우에, 상기 메모리 컨트롤러 제어부(324)는 상기 제1버퍼(325)에 버퍼링되어 있는 데이터를 상기 메모리(350)에 쓴다(단계 S38).In this case, when data input is possible to the
여기서, 상기 메모리 컨트롤러 제어부(324)는 상기 메모리(350)에 데이터를 쓰는 도중에 데이터 쓰기 오류 발생 여부를 지속적으로 확인한다(단계 S39).Here, the
이때, 상기 메모리(350)에 데이터 쓰기 도중에 오류가 확인되지 않은 경우에, 상기 메모리(350)에 데이터 쓰기가 완료되었는지를 확인한 후(단계 S40), 완료된 경우에, 상기 메모리 컨트롤러 제어부(324)는 데이터 쓰기가 정상적으로 종료되었다는 것을 호스트 인터페이스(310)를 통해 출력하여 호스트에게 통보하고, 해당 데이터 쓰기에 관여한 모든 모듈에게 데이터 쓰기가 완료되었음을 통보한 후에, 상기 시스템 버스(200)의 점유를 해제하고(단계 S41), 초기 단계 제31단계(S31)로 돌아간다.In this case, when an error is not confirmed while writing data to the
반면에, 상기 메모리(350)에 데이터 쓰기 도중에 오류가 확인된 경우에, 상기 메모리 컨트롤러 제어부(324)는 해당 확인된 오류의 종류를 분석하고 그 결과를 상기 호스트 인터페이스(310)를 통해 출력하여 호스트에게 통보하고, 해당 데이터 쓰기에 관여한 모든 모듈에게 데이터 쓰기가 완료되었음을 통보한 후에, 상기 시스템 버스(200)의 점유를 해제하고(단계 S41), 초기 단계 제31단계(S31)로 돌아간다.On the other hand, when an error is confirmed while writing data to the
만일, 상기 명령이 호스트와 메모리(350) 사이에서 데이터 읽기에 해당하는 경우에, 상기 호스트 인터페이스 제어부(321)는 상기 명령에 관한 정보를 상기 DMA 상태 레지스터(322)에 써넣고, 상기 DMA 상태 머신(323)을 구동시킨다.If the command corresponds to reading data between the host and the
이에, 상기 DMA 상태 머신(323)은 상기 DMA 상태 레지스터(322)에 기록된 정보에 따라 상기 시스템 주 기억 장치(100)에 접속하기 위해 상기 호스트 인터페이스 제어부(321)로 상기 시스템 버스(200) 점유 요청을 한 후에(단계 S42), 그 결과를 기다린다. 즉, 상기 DMA 상태 머신(323)은 상기 호스트 인터페이스 제어부(321) 로부터의 상기 시스템 버스(200) 점유 응답을 기다린다. Accordingly, the
여기서, 상기 DMA 상태 머신(323)은 상기 호스트 인터페이스 제어부(321)로부터의 상기 시스템 버스(200) 점유 응답을 받을 때까지 기다리면서, 상기 메모리(350)에 쓸(Write) 데이터의 데이터량과 블록 사이즈를 계산하고, 데이터 쓰기를 위한 호스트와 메모리(350) 사이의 데이터 통신 연결을 준비한다. 즉, 상기 호스트 인터페이스 제어부(321)와 상기 메모리 컨트롤러 제어부(324) 사이의 통신을 연결한다.In this case, the
이에, 상기 호스트 인터페이스 제어부(321)는 상기 DMA 상태 머신(323)의 요청에 따라 상기 시스템 버스(200)의 점유 가능 여부를 확인한다(단계 S43). 즉, 상기 시스템 버스(200)가 다른 시스템에 의해 사용중인지를 확인한다.Accordingly, the
이때, 상기 시스템 버스(200)의 점유가 가능한 경우에, 상기 호스트 인터페이스 제어부(321)는 상기 시스템 버스(200)를 점유하고, 해당 점유된 시스템 버스(200)를 통해 상기 시스템 주 기억 장치(100)에 접속한 후에(단계 S44), 이에 대하여 상기 DMA 상태 머신(323)에게 통보한다.In this case, when the occupation of the
이에, 상기 DMA 상태 머신(323)은 상기 메모리 컨트롤러 제어부(324)에게 메모리(350)로부터 데이터 읽기 요청을 한다.Accordingly, the
이에, 상기 메모리 컨트롤러 제어부(324)는 데이터를 읽을 메모리(350)로부터 데이터 출력이 가능한지 여부를 확인한다(단계 S45). 즉, 상기 메모리 컨트롤러 제어부(324)는 해당 데이터를 읽을 메모리(350)가 이전 명령에 의한 데이터 입출력이 진행중인지를 확인한다.Thus, the
이때, 상기 메모리(350)에 데이터 출력이 가능한 경우에, 즉 이전 명령에 의한 데이터 입출력 진행중이 아닌 경우에, 상기 메모리 컨트롤러 제어부(324)는 메모리(350)로부터 읽을 데이터를 가져와서 이를 상기 제2버퍼(326)에 버퍼링시킨 후에(단계 S46), 이에 대하여 상기 DMA 상태 머신(323)에게 통보한다.In this case, when data output is possible to the
이에, 상기 DMA 상태 머신(323)은 상기 제2버퍼(326)에 상기 메모리(350)로부터 읽을 데이터가 버퍼링되어 있음을 상기 호스트 인터페이스 제어부(321)에게 통보한다.Accordingly, the
그러면, 상기 호스트 인터페이스 제어부(321)는 상기 제2버퍼(326)에 버퍼링된 데이터를 상기 점유된 시스템 버스(200)를 통해 상기 시스템 주 기억 장치(100)에 쓴다(단계 S47).Then, the
여기서, 상기 호스트 인터페이스 제어부(321)는 상기 메모리(350)로부터 데이터를 읽는 도중에 데이터 읽기 오류 발생 여부를 지속적으로 확인한다. 즉, 상기 메모리(350)로부터 읽어온 데이터를 상기 시스템 주 기억 장치(100)에 쓰는 도중에 데이터 읽기 오류 발생 여부를 지속적으로 확인한다(단계 S48).Here, the
이때, 상기 메모리(350)로부터 데이터 읽기 도중에 오류가 확인되지 않은 경우에, 상기 메모리(350)에 데이터 읽기가 완료되었는지를 확인한 후(단계 S49), 완료된 경우에, 상기 호스트 인터페이스 제어부(321)는 데이터 읽기가 정상적으로 종료되었다는 것을 호스트 인터페이스(310)를 통해 출력하여 호스트에게 통보하고, 해당 데이터 읽기에 관여한 모든 모듈에게 데이터 읽기가 완료되었음을 통보한 후에, 상기 시스템 버스(200)의 점유를 해제하고(단계 S50), 초기 단계 제31단 계(S31)로 돌아간다.At this time, when the error is not confirmed during the data reading from the
반면에, 상기 메모리(350)에 데이터 읽기 도중에 오류가 확인된 경우에, 호스트 인터페이스 제어부(321)는 해당 확인된 오류의 종류를 분석하고 그 결과를 상기 호스트 인터페이스(310)를 통해 출력하여 호스트에게 통보하고, 해당 데이터 읽기에 관여한 모든 모듈에게 데이터 읽기가 완료되었음을 통보한 후에, 상기 시스템 버스(200)의 점유를 해제하고(단계 S50), 초기 단계 제31단계(S31)로 돌아간다.On the other hand, when an error is confirmed while reading data into the
한편으로, 상기 명령이 메모리(350)와 백업용 저장장치(360) 사이에서 데이터 백업/복원에 관한 것인 경우에, 상기 호스트 인터페이스 제어부(321)는 상기 명령이 메모리(350)와 백업용 저장장치(360) 사이에서 데이터 백업 또는 복원에 관한 것인지를 확인한다(단계 S51).On the other hand, when the command relates to data backup / restore between the
그 결과로, 상기 명령이 메모리(350)와 백업용 저장장치(360) 사이에서 데이터 백업에 해당하는 경우에, 상기 호스트 인터페이스 제어부(321)는 상기 명령에 관한 정보를 상기 DMA 상태 레지스터(322)에 써넣고, 상기 DMA 상태 머신(323)을 구동시킨다.As a result, when the command corresponds to data backup between the
이에, 상기 DMA 상태 머신(323)은 상기 DMA 상태 레지스터(322)에 기록된 정보에 따라 상기 백업용 저장장치 컨트롤러 제어부(327)에게 상기 백업용 저장장치(360)에 데이터 입력이 가능한지 여부 확인을 요청한다.Accordingly, the
이에, 상기 백업용 저장장치 컨트롤러 제어부(327)는 상기 DMA 상태 머신(323)의 요청에 따라 상기 백업용 저장장치(360)에게 데이터 입력이 가능한지 여부를 확인한다(단계 S52). 즉, 상기 백업용 저장장치 컨트롤러 제어부(327)는 해당 데이터를 백업할 백업용 저장장치(360)가 이전 명령에 의한 데이터 입출력이 진행중인지를 확인한다.Accordingly, the backup
이때, 상기 백업용 저장장치(360)에 데이터 입력이 가능한 경우에, 즉 이전 명령에 의한 데이터 입출력 진행중이 아닌 경우에, 상기 백업용 저장장치 컨트롤러 제어부(327)는 상기 백업용 저장장치(360)에 데이터 백업이 가능함을 상기 DMA 상태 머신(323)에게 통보한다.In this case, when data input is possible to the
이에, 상기 DMA 상태 머신(323)은 상기 메모리 컨트롤러 제어부(324)에게 메모리(350) 내의 데이터 백업 요청을 한다(단계 S53).Accordingly, the
이에, 상기 메모리 컨트롤러 제어부(324)는 데이터를 백업할 메모리(350)로부터 데이터 출력이 가능한지 여부를 확인한다(단계 S54). 즉, 상기 메모리 컨트롤러 제어부(324)는 해당 데이터를 백업할 메모리(350)가 이전 명령에 의한 데이터 입출력이 진행중인지를 확인한다.Accordingly, the
이때, 상기 메모리(350)에 데이터 출력이 가능한 경우에, 즉 이전 명령에 의한 데이터 입출력 진행중이 아닌 경우에, 상기 메모리 컨트롤러 제어부(324)는 메모리(350)로부터 백업할 데이터를 가져와서 이를 상기 제3버퍼(328)에 버퍼링시킨 후에(단계 S55), 이에 대하여 상기 DMA 상태 머신(323)에게 통보한다.In this case, when data output is possible to the
이에, 상기 DMA 상태 머신(323)은 상기 제3버퍼(328)에 상기 메모리(350)로부터 백업할 데이터가 버퍼링되어 있음을 상기 백업용 저장장치 컨트롤러 제어부(327)에게 통보한다.Accordingly, the
그러면, 상기 백업용 저장장치 컨트롤러 제어부(327)는 상기 제3버퍼(328)에 버퍼링된 데이터를 상기 백업용 저장장치(360)로 백업시킨다(단계 S56).Then, the backup
여기서, 상기 백업용 저장장치 컨트롤러 제어부(327)는 상기 백업용 저장장치(360)에 데이터를 백업하는 도중에 데이터 백업 오류 발생 여부를 지속적으로 확인한다(단계 S57).Here, the backup
이때, 상기 백업용 저장장치(360)에 데이터를 백업하는 도중에 오류가 확인되지 않은 경우에, 상기 백업용 저장장치(360)에 데이터 백업이 완료되었는지를 확인한 후(단계 S58), 완료된 경우에, 상기 백업용 저장장치 컨트롤러 제어부(327)는 데이터 백업이 정상적으로 종료되었다는 것을 호스트 인터페이스(310)를 통해 출력하여 호스트에게 통보하고, 해당 데이터 백업에 관여한 모든 모듈에게 데이터 백업이 완료되었음을 통보한 후에, 초기 단계 제31단계(S31)로 돌아간다.In this case, when an error is not confirmed while the data is backed up to the
반면에, 상기 백업용 저장장치(360)에 데이터를 백업하는 도중에 오류가 확인된 경우에, 상기 백업용 저장장치 컨트롤러 제어부(327)는 해당 확인된 오류의 종류를 분석하고 그 결과를 상기 호스트 인터페이스(310)를 통해 출력하여 호스트에게 통보하고, 해당 데이터 백업에 관여한 모든 모듈에게 데이터 백업이 완료되었음을 통보한 후에, 초기 단계 제31단계(S31)로 돌아간다.On the other hand, when an error is identified while backing up data to the
만일, 상기 명령이 메모리(350)와 백업용 저장장치(360) 사이에서 데이터 복원에 해당하는 경우에, 상기 호스트 인터페이스 제어부(321)는 상기 명령에 관한 정보를 상기 DMA 상태 레지스터(322)에 써넣고, 상기 DMA 상태 머신(323)을 구동시킨다.If the command corresponds to data restoration between the
이에, 상기 DMA 상태 머신(323)은 상기 DMA 상태 레지스터(322)에 기록된 정 보에 따라 상기 백업용 저장장치 컨트롤러 제어부(327)에게 데이터를 복원할 백업용 저장장치(360)로부터 데이터 출력이 가능한지 여부 확인을 요청한다.Thus, the
이에, 상기 백업용 저장장치 컨트롤러 제어부(327)는 상기 DMA 상태 머신(323)의 요청에 따라 상기 백업용 저장장치(360)로부터 데이터 출력이 가능한지 여부를 확인한다(단계 S59). 즉, 상기 메모리 컨트롤러 제어부(324)는 해당 데이터를 복원할 백업용 저장장치(360)가 이전 명령에 의한 데이터 입출력이 진행중인지를 확인한다.Accordingly, the backup
이때, 상기 백업용 저장장치(360)로부터 데이터 출력이 가능한 경우에, 즉 이전 명령에 의한 데이터 입출력 진행중이 아닌 경우에, 상기 백업용 저장장치 컨트롤러 제어부(327)는 상기 백업용 저장장치(360)로부터 데이터 복원이 가능함을 상기 DMA 상태 머신(323)에게 통보한다.In this case, when data output is possible from the
이에, 상기 DMA 상태 머신(323)은 상기 메모리 컨트롤러 제어부(324)에게 메모리(350)에 데이터 복원하기 위한 데이터 복원 요청을 한다(단계 S60).Accordingly, the
그러면, 상기 메모리 컨트롤러 제어부(324)는 데이터를 복원할 메모리(350)에 데이터 입력이 가능한지 여부를 확인한다(단계 S61). 즉, 상기 메모리 컨트롤러 제어부(324)는 해당 데이터를 복원할 메모리(350)가 이전 명령에 의한 데이터 입출력이 진행중인지를 확인한다.Then, the
이때, 상기 메모리(350)에 데이터 입력이 가능한 경우에, 즉 이전 명령에 의한 데이터 입출력 진행중이 아닌 경우에, 상기 메모리 컨트롤러 제어부(324)는 상기 메모리(350)에 데이터 복원이 가능함을 상기 DMA 상태 머신(323)에게 통보한다.In this case, when data input is possible to the
이에, 상기 DMA 상태 머신(323)은 상기 백업용 저장장치 컨트롤러 제어부(327)에게 백업용 저장장치(360) 내의 데이터 출력 요청을 한다.Accordingly, the
이에, 상기 백업용 저장장치 컨트롤러(340)는 백업용 저장장치(360)로부터 복원할 데이터를 가져와서 이를 상기 제4버퍼(329)에 버퍼링시킨 후에(단계 S62), 이에 대하여 상기 DMA 상태 머신(323)에게 통보한다.Accordingly, the
이에, 상기 DMA 상태 머신(323)은 상기 제4버퍼(329)에 상기 백업용 저장장치(360)로부터 복원할 데이터가 버퍼링되어 있음을 상기 메모리 컨트롤러 제어부(324)에게 통보한다.Thus, the
그러면, 상기 메모리 컨트롤러 제어부(324)는 상기 제4버퍼(329)에 버퍼링된 데이터를 상기 메모리(350)로 복원시킨다(단계 S63).Then, the
여기서, 상기 메모리 컨트롤러 제어부(324)는 상기 메모리(350)에 데이터를 복원하는 도중에 데이터 복원 오류 발생 여부를 지속적으로 확인한다(단계 S64).In this case, the
이때, 상기 메모리(350)에 데이터를 복원하는 도중에 오류가 확인되지 않은 경우에, 상기 메모리(350)에 데이터 복원이 완료되었는지를 확인한 후(단계 S65), 완료된 경우에, 상기 메모리 컨트롤러 제어부(324)는 데이터 복원이 정상적으로 종료되었다는 것을 호스트 인터페이스(310)를 통해 출력하여 호스트에게 통보하고, 해당 데이터 복원에 관여한 모든 모듈에게 데이터 복원이 완료되었음을 통보한 후에, 초기 단계 제31단계(S31)로 돌아간다.In this case, when an error is not confirmed while restoring data to the
반면에, 상기 메모리(350)에 데이터를 복원하는 도중에 오류가 확인된 경우에, 상기 메모리 컨트롤러 제어부(324)는 해당 확인된 오류의 종류를 분석하고 그 결과를 상기 호스트 인터페이스(310)를 통해 출력하여 호스트에게 통보하고, 해당 데이터 복원에 관여한 모든 모듈에게 데이터 복원이 완료되었음을 통보한 후에, 초기 단계 제31단계(S31)로 돌아간다.On the other hand, when an error is confirmed while restoring data to the
한편, 상기 외부 전원부로부터의 공급 전원에 이상이 있는 경우에, 상기 전원 제어부(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
구체적으로는, 상기 전원 제어부(370)는 상기 외부 전원부로부터 공급되는 전원의 이상 여부를 확인하여 이상 상태 검출시 이를 상기 DMA 컨트롤 장치(320)의 호스트 인터페이스 제어부(321)에게 통보한다.Specifically, the
그러면, 상기 호스트 인터페이스 제어부(321)는 상기 전원 제어부(370)로부터의 공급 전원 이상 검출 통보에 따라 상기 호스트 인터페이스(320)와의 통신을 차단하고, 자체 백업 수행 명령을 발생시켜 해당 명령에 관한 정보를 상기 DMA 상태 레지스터(322)에 써넣고, 상기 DMA 상태 머신(323)을 구동시킨다.Then, the
이에, 상기 DMA 상태 머신(323)은 상기 DMA 상태 레지스터(322)에 기록된 정보에 따라 상기 백업용 저장장치 컨트롤러 제어부(327)에게 상기 백업용 저장장치(360)에 데이터 입력이 가능한지 여부 확인을 요청한다.Accordingly, the
이에, 상기 백업용 저장장치 컨트롤러 제어부(327)는 상기 DMA 상태 머신(323)의 요청에 따라 상기 백업용 저장장치(360)에게 데이터 입력이 가능한지 여 부를 확인한다. Accordingly, the backup
즉, 상기 외부 전원부에서의 전원 공급이 중단되거나, 공급 전원의 이상이 발생하는 경우, 상기 메모리(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
이 후에, 상기 제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
이러한, 상기 보조 전원부(380)는 충전식 배터리로 이루어지며, 평상시 상기 외부 전원부의 전원을 이용하여 일정 전압을 유지하도록 자체적으로 자신을 충전시킨다. 예를 들어, 보조 전원부(380)는 충전 전원의 전압을 12V로 유지한다.The
다르게는, 상기 백업용 저장장치 컨트롤러 제어부(327)는 일정 시간 간격으로 자체적으로 백업 명령을 발생하여 이를 상기 DMA 상태 레지스터에 기록한다.Alternatively, the backup
이로 인해, 시스템 중앙처리장치(미도시)로부터의 명령의 제어 없이 보조 기억 장치에서 메모리에 저장된 데이터를 자체적으로 백업함으로써, 메모리에 저장된 데이터의 안정성을 확보할 수 있으며, 시스템 중앙처리장치의 부하를 감소시킬 수 있다.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)
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)
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)
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 |
-
2007
- 2007-02-15 KR KR1020070015838A patent/KR100827287B1/en active IP Right Grant
Patent Citations (4)
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)
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 |