KR100204576B1 - Structure of common block register built-in memory and shadow recovery structure & method - Google Patents
Structure of common block register built-in memory and shadow recovery structure & method Download PDFInfo
- Publication number
- KR100204576B1 KR100204576B1 KR1019960053211A KR19960053211A KR100204576B1 KR 100204576 B1 KR100204576 B1 KR 100204576B1 KR 1019960053211 A KR1019960053211 A KR 1019960053211A KR 19960053211 A KR19960053211 A KR 19960053211A KR 100204576 B1 KR100204576 B1 KR 100204576B1
- Authority
- KR
- South Korea
- Prior art keywords
- block
- memory
- memory block
- common
- register
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1666—Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1064—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in cache or content addressable memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 트랜잭션 처리를 위한 메모리 구조와 데이터베이스 시스템의 회복 방법에 관한 것으로, 공통 블록 레지스터 내장 메모리를 사용한 그림자 페이지 회복 구조 및 회복 기법을 도입하므로써 디스크로 백업하는 과정이 필요하지 않아 페이지 테이블을 관리할 필요가 없고, 블록 단위로 백업 및 복구를 수행하여 작은 단위의 잠금도 가능하며, 트랜잭션 수행시 가장 큰 부담이었던 복사 시간이 거의 무시할 수 있을 정도로 줄어들어 트랜잭션에 수행시 가장 큰 부담이었던 복사 시간이 거의 무시할 수 있을 정도로 줄어들어 트랜잭션에 필요한 모든 부담을 제거할 수 있으므로 고속의 트랜잭션 처리 및 회복을 수행할 수 있는 공통 블록 레지스터 내장 메모리의 구조와 이를 이용한 그림자 페이지 회복 구조 및 회복 기법이 제시된다.The present invention relates to a memory structure for transaction processing and a method for recovering a database system. The method of managing a page table does not require a backup to disk by introducing a shadow page recovery structure and a recovery technique using a common block register internal memory. There is no need to perform backup and recovery block by block, and even a small number of locks can be performed, and the copy time, which was the biggest burden when executing a transaction, can be almost ignored. As it can be reduced enough to eliminate all the burden on a transaction, a structure of a common block register internal memory capable of fast transaction processing and recovery, and a shadow page recovery structure and a recovery technique using the same are presented.
Description
본 발명은 트랜잭션 처리를 위한 메모리 구조와 데이터베이스 시스템의 회복 방법에 관한 것으로서, 특히 공통 블록 레지스터 내장 메모리의 구조와 이를 이용한 그림자 페이지 회복 구조 및 회복 기법에 관한 것이다.The present invention relates to a memory structure for transaction processing and a recovery method of a database system, and more particularly, to a structure of a common block register embedded memory, a shadow page recovery structure, and a recovery technique using the same.
종래에는 데이터베이스를 저장하는 매체로 디스크를 주로 사용하였으나, 반도체 기술의 발달로 인해 대용량의 메모리를 사용한 주기억 장치 데이터베이스 시스템(Main Memory Database ; MMDBS)이 출현하였다. 데이터베이스는 오류 발생시에도 일관성을 유지하기 위해 회복 알고리즘이 필요하다. 즉, 데이터베이스 갱신이 일반 갱신과는 달리 갱신 도중 오류가 발생했을 때, 원래의 값으로 복구하여 일관성을 유지해야 한다. 이러한 주기억 장치 데이터베이스는 실시간 처리가 필요한 통신망 또는 공업용으로 사용된다.Conventionally, a disk is mainly used as a medium for storing a database. However, due to the development of semiconductor technology, a main memory database system (MMDBS) using a large memory has emerged. The database needs a recovery algorithm to maintain consistency in the event of an error. In other words, unlike regular updates, database updates should restore their original values to ensure consistency when an error occurs during the update. This main memory database is used for communication networks or industrial applications that require real-time processing.
일관성을 유지하기 위한 회복 방법으로 그림자 페이지 기법이 있다. 그림자 페이지 기법은 데이터베이스 갱신을 위한 트랜잭션 수행시 한 개의 원본과 한 개의 복사본을 가진다. 종래의 그림자 페이지 기법의 문제점을 제1도를 참조하여 설명하면 다음과 같다.The shadow page technique is a recovery method to maintain consistency. The shadow page technique has one original and one copy when executing a transaction to update a database. The problem of the conventional shadow page technique will be described with reference to FIG.
제1도는 종래의 그림자 페이지 기법을 설명하기 위해 도시한 블록도이다. 일반적으로 데이터베이스는 디스크에 저장되고 페이지 단위의 여러 블록으로 구분되어 있다. 트랜잭션이 디스크에 저장된 데이터베이스를 갱신하기 위해 먼저 갱신 전의 원본 블록 i(100)를 주기억 장치의 블록 k(101)로 복사한다. 다음으로 블록 k(101)를 갱신한 후, 블록 k(101)를 블록 i(100)와 다른 디스크 영역인 블록 j(102)에 복사한다. 이 때 블록이 이동하기 때문에 데이터베이스 처리 프로그램과 블록을 매핑시키기 위해서 페이지 테이블을 사용한다. 종래의 기술에서 이 페이지 테이블을 갱신해야 하는 부담이 있다. 이것은 그림자 페이지의 성능을 떨어뜨리는 요인중의 하나이다.1 is a block diagram illustrating a conventional shadow page technique. Typically, a database is stored on disk and divided into blocks of pages. To update the database stored in the disk, the transaction first copies the original block i 100 before updating to block k 101 of the main memory. Next, after updating block k 101, block k 101 is copied to block j 102, which is a disk area different from block i 100. Next, as shown in FIG. Since the block moves at this time, the page table is used to map the block with the database processing program. There is a burden of updating this page table in the prior art. This is one of the factors that reduces the performance of shadow pages.
종래의 디스크를 기반으로 하는 그림자 페이지 기법의 또다른 단점은 작은 단위 잠금이 어렵다는 것이다. 데이터베이스 시스템은 여러 프로세스에 의해 동시에 접근될 수 있는데, 이때 데이터베이스의 같은 블록을 다른 프로세스가 접근하게 되면 데이터베이스가 일치성을 가질 수 없게 된다. 여기서 프로세스는 같은 프로세서 또는 다중의 프로세서에서 동작된다. 불일치를 방지하기 위해 종래의 기술에서는 블록을 사용하기 전에 표시를 한 후, 즉 잠금을 한 후 접근하여 다른 프로세스를 기다리게 한다. 사용이 끝난 후에는 잠금을 풀고 다른 프로세스가 사용하게 한다. 이때 종래의 디스크 기반 데이터베이스 시스템에서는 블록을 갱신하기 위해 주기억 장치로 복사해야 한다. 여기서 블록은 주로 페이지 단위가 되는데 페이지는 여러 개의 레코드로 구성된다 작은 단위 잠금은 이러한 레코드 단위로 여러 프로세서가 사용 가능하게 하는 것을 뜻한다. 이 경우 동시성이 증가하여 시스템의 성능을 높일 수 있게 되므로 다중 프로세서에는 필수적으로 필요하다. 로그 기반 회복 기법에서는 각각의 프로세스가 접근하는 레코드의 수정 내용을 로그 버퍼에 기록하기 때문에 문제가 발생하지 않으나, 그림자 페이지 기법의 경우에는 레코드에 수정한 내용을 직접 기록하기 때문에 문제가 발생한다. 한 예로 하나의 블록에서 서로 다른 부분의 레코드를 두 개의 트랜잭션이 접근하는 경우를 가정한다. 블록i(100)를 주기억 장치로 복사하고 두 개의 트랜잭션을 블록 k(101)의 서로 다른 부분의 레코드에 잠금한 후 갱신을 수행한다. 이때 두 개의 트랜잭션이 모두 성공한 경우에는 기존의 방법과 같이 블록 k(101)를 디스크의 다른 부분인 블록 j(102)에 복사하고 페이지 테이블을 갱신한 후 완료하면 되지만, 트랜잭션 하나는 성공하고 다른 하나는 실패한 경우 철회 또는 완료를 할 수 없게 된다.Another disadvantage of the conventional disk-based shadow page technique is that small unit locking is difficult. The database system can be accessed by several processes at the same time. If another process accesses the same block of the database, the database will not be consistent. The process here operates on the same processor or multiple processors. In order to prevent inconsistencies, the prior art allows the block to be marked before use, that is, locked and then accessed to wait for another process. After use, release the lock and let other processes use it. In this case, in a conventional disk-based database system, a block must be copied to a main memory device to update a block. Blocks are often paged, with pages organized into records. A small unit lock means that multiple processors are made available on these records. This is necessary for multiple processors because concurrency increases to increase system performance. In the log-based recovery technique, the problem does not occur because each process writes modifications to the log buffer. However, in the case of the shadow page technique, the problem occurs because the modification is written directly to the record. As an example, suppose two transactions access different records in one block. The block i 100 is copied to the main memory and the two transactions are locked to records of the different parts of the block k 101 and then updated. If both transactions are successful, you can copy block k (101) to the other part of disk, block j (102), update the page table, and complete it. If it fails, it cannot be withdrawn or completed.
이와 같이 종래의 그림자 페이지 기법은 페이지 테이블을 관리해야 하는 부담 및 작은 단위 잠금이 어려운 단점이 있어 기존의 로그 기반 회복 기법보다 성능이 떨어진다. 그리고 그림자 페이지 기법을 주기억 장치에 적용할 경우 기존의 메모리는 휘발성이기 때문에 전원 장애 발생시 복구 문제가 발생한다. 그러나 그림자 페이지 기법은 로그 기반 회복 기법에 비해 회복이 간단하기 때문에 실시간 재시동이 필요한 통신망 또는 공업용 분야에서 필요로 하고 있다.As such, the conventional shadow page technique has a disadvantage in that a page table is managed and a small unit lock is difficult. Therefore, the shadow page technique is less than the conventional log-based recovery scheme. When the shadow page technique is applied to the main memory, the existing memory is volatile, and thus a recovery problem occurs when a power failure occurs. However, since the shadow page technique is simpler to recover than the log-based recovery technique, the shadow page technique is required for a communication network or an industrial field requiring real-time restart.
따라서, 본 발명은 이러한 문제점들을 해결하기 위한 공통 블록 레지스터 내장 메모리의 구조와 이를 이용한 그림자 페이지 기반 회복 구조 및 그림자 페이지 회복 기법을 제공하여 트랜잭션 처리 및 회복을 고속화 하는데 그 목적이 있다.Accordingly, an object of the present invention is to speed up transaction processing and recovery by providing a structure of a common block register embedded memory, a shadow page based recovery structure, and a shadow page recovery technique using the same.
상술한 목적을 달성하기 위한 본 발명에 따른 공통 블록 레지스터 내장 메모리의 구조는 데이터를 저장하기 위해 다수로 구성된 메모리 블록과, 상기 메모리 블록을 외부의 신호에 따라 선택하며 블록 쓰기/읽기 제어 논리 회로에 신호를 출력하는 디코더 및 선택 논리 회로와, 상기 디코더 및 선택 논리 회로와 외부의 제어 신호를 입력하여 메모리 블록과 공통 블록 레지스터 사이의 블록 쓰기/읽기를 제어하는 블록 쓰기/읽기 제어 논리 회로와, 상기 블록 쓰기/읽기 제어 논리 회로의 제어 신호에 의해 메모리 블록과 상호 블록 쓰기/읽기를 수행하는 공통 블록 레지스터와, 상기 메모리 블록에서 공통 블록 레지스터로 쓰기를 수행할 때 패리티에러 발생 유무를 검사하는 블록 패리티 검사 논리 회로와, 상기 메모리 블록에서 블록 복사를 수행할 경우 공통 블록 레지스터보다 작은 단위의 블록 복사를 가능하게 하는 블록 크기 선택 논리 회로로 이루어진 것을 특징으로 한다.The structure of the common block register built-in memory according to the present invention for achieving the above object is a memory block composed of a plurality for storing data, the memory block is selected in accordance with an external signal and the block write / read control logic circuit A decoder and selection logic circuit for outputting a signal, a block write / read control logic circuit for inputting the decoder and selection logic circuit and an external control signal to control block write / read between a memory block and a common block register; Block write / read control A common block register for performing a block write / read with a memory block by a control signal of a logic circuit, and a block parity for checking whether a parity error occurs when writing to the common block register from the memory block. In case of performing block copy on the check logic circuit and the memory block The cylinder block made of a block size selection logic circuit to enable block copy of a unit smaller than the register characterized.
상술한 목적을 달성하기 위한 본 발명에 따른 공통 블록 레지스터 내장 메모리를 이용한 그림자 페이지 회복 구조는 프로세서 칩으로 구성된 데이터베이스 처리기와, 상기 데이터베이스 처리기와 연결되어 데이터베이스 처리기의 동작 프로그램을 내장한 메모리와, 상기 데이터베이스 처리기와 데이터 쓰기/읽기를 수행하며, 블록 쓰기 읽기 제어선, 블록 크기 선택 제어선 및 블록 패리티 상태 알림 제어선으로 연결된 공통 블록 레지스터를 내장한 메모리로 이루어진 것을 특징으로 한다.The shadow page recovery structure using the common block register built-in memory according to the present invention for achieving the above object is a database processor consisting of a processor chip, a memory connected to the database processor and a built-in operation program of the database processor, and the database It is characterized by consisting of a memory having a common block register connected to the processor and performing a data write / read, a block write read control line, a block size selection control line, and a block parity status notification control line.
또한, 상술한 목적을 달성하기 위한 본 발명에 따른 공통 블록 레지스터 내장 메모리를 이용한 그림자 페이지 회복 기법은 원래의 메모리 블록을 공통 블록 레지스터로 복사하는 단계와, 상기 원래의 메모리 블록이 복사된 공통 블록 레지스터를 다른 영역의 메모리 블록으로 복사하는 단계와, 상기 복사된 다른 영역의 메모리 블록을 공통 블록 레지스터로 복사하는 단계와, 상기 복사된 다른 영역의 메모리 블록을 공통 블록 레지스터로 복사하는 단계와, 상기 다른 영역의 메모리 블록이 복사된 공통 블록 레지스터에 제1패리티 에러 발생 유무를 검사하는 단계와, 상기 제1패리티 에러 발생 유무의 검사 결과 패리티 에러가 발생한 경우 원래의 메모리 블록을 갱신하는 단계와, 상기 원래의 메모리 블록의 갱신 수행이 성공했는지를 검사하는 단계와, 상기 갱신 수행 여부의 검사 결과 갱신 수행이 성공한 경우 갱신 된 메모리 블록을 공통 블록 메모리로 복사하는 단계와, 상기 갱신된 메모리 블록을 공통 메모리 블록으로 복사한 후 제2패리티 에러 발생 유무를 검사하는 단계와, 상기 제2패리티 에러 발생 유무의 검사 결과 패리티 에러가 발생하지 않은 경우 백업을 위해 사용되었던 다른 영역의 메모리 블록의 사용을 해제하는 단계와, 상기 다른 영역의 메모리 블록의 사용을 해제한 후 갱신 완료를 알리고 트랜잭션을 종료하는 단계와, 상기 갱신 수행 성공 여부의 검사 결과 수행이 실패한 경우 백업된 다른 영역의 메모리 블록을 공통 메모리 블록으로 옮기는 단계와, 상기 공통 메모리 블록을 원래의 메모리 블록으로 복사하는 단계와, 상기 복사된 원래의 메모리 블록을 공통 블록 레지스터로 복사하는 단계와, 상기 공통 블록 레지스터의 제3패리티 에러가 발생하지 않은 경우 트랜잭션 수행 실패를 알린 후 종료하는 단계와, 상기 제2 및 제3 패리티 에러 발생의 검사 결과 패리티 에러가 발생한 경우 원래의 메모리 블록을 폐기하는 단계와, 상기 원래의 메모리 블록을 폐기한 후 다른 메모리 블록을 선택하여 원래의 메모리 블록으로 대치하는 단계와, 상기 원래의 메모리 블록으로 대치된 다른 영역의 메모리 블록에 백업된 원래의 내용을 공통 블록 레지스터를 통하여 복사하는 단계와, 상기 선택된 원래의 메모리 블록을 공통 블록 레지스터로 복사한 후 제4패리티 에러 발생 유무를 검사하는 단계와, 상기 제4패리티 에러 발생 유무의 검사 결과 패리티 에러가 발생한 경우 원래의 메모리 블록을 폐기하는 단계로 천이하는 단계와, 상기 제4패리티 에러 발생 유무의 검사 결과 패리티 에러가 발생하지 않은 경우 트랜잭션 실패를 알린 후 종료하는 단계로 이루어진 것을 특징으로 한다.In addition, the shadow page recovery scheme using the common block register built-in memory according to the present invention for achieving the above object is the step of copying the original memory block to the common block register, and the common block register from which the original memory block is copied Copying a memory block of another region to a common block register, copying a memory block of another copied region to a common block register, Checking whether a first parity error has occurred in the common block register to which the memory block of the region has been copied; updating a original memory block if a parity error has occurred as a result of the check of the first parity error; and Checking whether the updating of the memory block of the memory module is successful; Checking whether the update is successful or not, if the update is successful, copying the updated memory block to the common block memory, copying the updated memory block to the common memory block, and then checking whether there is a second parity error. If a parity error has not occurred as a result of checking whether the second parity error has occurred, releasing the use of the memory block of another area used for the backup; Notifying the transaction and ending the transaction; if the execution of the check result of the update execution is unsuccessful, moving the memory block of another backed up area to the common memory block, and copying the common memory block to the original memory block. And copying the copied original memory block to a common block register. And terminating after notifying a transaction execution failure when a third parity error of the common block register has not occurred, and when the parity error has occurred as a result of the inspection of the occurrence of the second and third parity errors. Discarding the original memory block, selecting another memory block to replace the original memory block with the original memory block, and replacing the original memory block with the original memory block; Copying the data through the common block register, copying the selected original memory block to the common block register, and checking whether a fourth parity error has occurred, and checking whether the fourth parity error has occurred or not. Transitioning to discarding the original memory block if it occurs; If the parity error does not occur as a result of the inspection of the presence or absence of the error occurs, the step of notifying the transaction failure and characterized in that it is terminated.
제1도는 종래의 그림자 페이지 기법을 설명하기 위해 도시한 블록도.1 is a block diagram illustrating a conventional shadow page technique.
제2도는 발명에 따른 공통 블록 레지스터 내장 메모리의 구조도.2 is a structural diagram of a common block register built-in memory according to the present invention.
제3도는 본 발명에 따른 공통 블록 레지스터 내장 메모리의 동작 실시 예를 도시한 블록도.3 is a block diagram illustrating an embodiment of an operation of a built-in common block register memory according to the present invention;
제4도는 본 발명에 따른 블록 크기 선택 논리 회로의 동작 실시 예를 도시한 블록도.4 is a block diagram showing an embodiment of an operation of a block size selection logic circuit according to the present invention;
제5도는 본 발명에 따른 그림자 페이지 회복 구조를 도시한 블록도.5 is a block diagram showing a shadow page recovery structure according to the present invention.
제6a도 및 제6b도는 본 발명에 따른 그림자 페이지 회복 기법의 처리 흐름도.6A and 6B are a process flow diagram of a shadow page recovery technique in accordance with the present invention.
* 도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings
201 : 메모리 블록 202 : 디코더 및 선택 논리 회로201: memory block 202: decoder and selection logic circuit
203 : 공통 블록 레지스터 204 : 블록쓰기/읽기 제어 논리 회로203: common block register 204: block write / read control logic
205 : 블록 패리티 검사 논리 회로 206 : 블록 크기 선택 논리 회로205: block parity check logic circuit 206: block size selection logic circuit
첨부된 도면을 참조하여 본 발명을 상세히 설명하기로 한다.The present invention will be described in detail with reference to the accompanying drawings.
제2도는 본 발명에 따른 공통 블록 레지스터 내장 메모리의 구조도이다. 도시된 바와 같이 본 발명의 메모리(200) 구조는 다음과 같다. 메모리 블록(201)은 내용을 저장하기 위한 메모리 수단으로 다수로 구성된다. 디코더 및 선택 논리 회로(202)는 외부의 신호에 따라 메모리의 내용을 참조하기 위해 메모리 블록을 선택하고 블록 쓰기/읽기 제어 논리 회로에 신호를 출력한다. 블록 쓰기/읽기 제어 논리회로(204)는 디코더 및 선택 논리 회로(202)와 외부의 제어 신호를 입력하여 메모리 블록(201)과 공통 블록 레지스터(203) 사이의 블록 쓰기/읽기를 제어한다. 공통 블록 레지스터(203)는 블록 쓰기/읽기 제어 논리 회로(204)의 제어 신호에 의해 메모리 블록(201)과 블록 쓰기/읽기를 수행한다. 블록 패리티 검사 논리 회로(205)는 공통 블록 레지스터(203)로 쓰기를 수행할 때 패리티 에러 발생 유무를 검사하며, 블록 크기 선택 논리 회로(206)는 공통 블록 레지스터보다 작은 단위의 블록 복사를 가능하게 한다.2 is a structural diagram of a common block register built-in memory according to the present invention. As shown, the memory 200 structure of the present invention is as follows. The memory block 201 is composed of a plurality of memory means for storing contents. The decoder and selection logic circuit 202 selects a memory block to reference the contents of the memory according to an external signal and outputs a signal to the block write / read control logic circuit. The block write / read control logic 204 inputs an external control signal to the decoder and selection logic circuit 202 to control block write / read between the memory block 201 and the common block register 203. The common block register 203 performs block write / read with the memory block 201 by a control signal of the block write / read control logic circuit 204. The block parity check logic circuit 205 checks whether a parity error has occurred when writing to the common block register 203, and the block size selection logic circuit 206 enables copying of blocks smaller than the common block register. do.
메모리 블록(201)은 기존의 휘발성 메모리 또는 비휘발성 메모리 셀이 사용가능하다. 그러나 본 발명의 주기억 장치 그림자 페이지 회복 구조를 위해서는 메모리 블록등이 비휘발성이어야 하기 때문에 휘발성 셀을 사용하는 경우에는 외부에 무정전 전원을 사용해야 한다. 공통 블록 레지스터(203)는 블록 쓰기/읽기 시 버퍼로 사용되기 때문에 휘발성 셀을 사용하여도 무방하다. 현재 비휘발성 셀은 쓰기 횟수에 제한이 있기 때문에 빈번히 사용되는 공통 블록 레지스터는 쓰기 횟수에 제한이 없는 휘발성 셀을 사용한다.The memory block 201 may use an existing volatile memory or nonvolatile memory cell. However, since the memory block and the like must be nonvolatile for the main memory shadow page recovery structure of the present invention, an uninterruptible power supply must be used externally when a volatile cell is used. Since the common block register 203 is used as a buffer when writing / reading blocks, a volatile cell may be used. Currently, nonvolatile cells have a limited number of writes, so the common block registers that are used frequently use volatile cells that have unlimited number of writes.
제3도는 본 발명에 따른 공통 블록 레지스터 내장 메모리의 동작 실시 예를 도시한 블록도이다. 디코더(303)는 입력된 주소 버스(302)를 디코딩하여 첫 번째와 두 번째의 신호를 블록 쓰기/읽기 제어 논리 회로(304)로 출력하고, 나머지의 신호를 메모리 블록(310)의 첫 번째 및 두 번째 바이트를 제외한 나머지 바이트로 출력한다. 블록 쓰기/읽기 제어 논리 회로(304)는 블록 쓰기/읽기 제어선(300)의 신호와 디코더(303)에서 출력된 두 개의 신호를 이용하여 읽기 제어 신호(306) 및 쓰기 제어 신호(307)를 메모리 블록(310)에 출력하며, 인에이블 신호를 발생하여 메모릴 블록(310)의 첫 번째 바이트와 두 번째 바이트에 출력한다. 이때 블록 쓰기/읽기 제어선(300)이 '0'인 경우에는 기존의 메모리 칩과 같이 디코더(303)에 입력된 주소 버스(302)를 디코딩하여 선택된 메모리 내용을 데이터 버스(305)를 통하여 입력 또는 출력한다. 그러나 주소 버스(302)가 각 블록의 '0' 번지일 경우 선택된 블록을 공통 블록 레지스터(312)에 쓰기를 수행하고, '1' 번지일 경우 공통 블록 레지스터(312)로부터 읽기를 수행한다. 블록 패리티 검사 논리 회로(313)는 블록 단위로 각각의 바이트에 패리티 에러 발생을 검출하는 수단으로 메모리 블록(310)에 저장된 내용의 무결성을 검사하고, 검사한 결과를 패리티 상태 알림 제어선(309)을 통해 외부로 출력한다. 이 검출 수단은 메모리 블록들이 외부의 무정전 전원에 의한 경우가 아닌 비휘발성 셀로 구성되었을 때 특히 필요하다. 현재 개발된 비휘발성 셀은 쓰기 횟수에 제한이 있기 때문에 일정 횟수의 쓰기 수행 후에는 다른 블록으로 옮기는 기법을 사용하여야 한다. 옮겨야 하는 시간을 결정하는 방법으로 쓰기 횟수 계수기를 사용할 수도 있으나, 고도의 무결성이 필요한 데이터베이스 같은 경우에는 계속적인 무결성 검사가 필요하다. 본 발명에서는 이러한 무결성 검사를 공통 블록 레지스터에 쓰기를 수행할 때 블록 단위로 수행하여 전체 검사 시간을 최소화 한다. 공통 블록 레지스터(312)는 물리적으로 칩 제조시 고정되기 때문에 더 큰 블록을 단위로 하는 적용 분야에서는 여러 번의 블록 쓰기/읽기를 통하여 구현할 수 있다. 그러나 더 작은 블록이 필요한 적용 분야에서는 문제가 발생하며, 이를 해결하기 위한 수단으로 블록 크기 선택 논리 회로(311)가 사용된다.3 is a block diagram illustrating an embodiment of an operation of a built-in common block register memory according to the present invention. The decoder 303 decodes the input address bus 302 to output the first and second signals to the block write / read control logic circuit 304, and output the remaining signals to the first and second signals of the memory block 310. Outputs the remaining bytes except the second byte. The block write / read control logic circuit 304 uses the signal of the block write / read control line 300 and two signals output from the decoder 303 to receive the read control signal 306 and the write control signal 307. The memory block 310 outputs the enable signal and outputs the enable signal to the first byte and the second byte of the memory block 310. In this case, when the block write / read control line 300 is '0', the selected memory contents are input through the data bus 305 by decoding the address bus 302 inputted to the decoder 303 like the existing memory chip. Or output However, when the address bus 302 is address '0' of each block, the selected block is written to the common block register 312, and when address '1' is read from the common block register 312. The block parity check logic circuit 313 checks the integrity of the contents stored in the memory block 310 as a means for detecting a parity error occurrence in each byte on a block basis, and checks the parity state notification control line 309 for the result of the check. Output to the outside through. This detecting means is particularly necessary when the memory blocks are constituted by nonvolatile cells and not by an external uninterruptible power supply. Currently developed nonvolatile cells have a limited number of writes. Therefore, after a certain number of writes, a method of moving to another block should be used. You can also use write counters as a way of determining the time that needs to be moved, but for databases that require a high level of integrity, continuous integrity checks are required. In the present invention, the integrity check is performed in units of blocks when writing to the common block register to minimize the total check time. Since the common block register 312 is physically fixed at the time of chip fabrication, the common block register 312 may be implemented by writing / reading a plurality of blocks in a large block application. However, problems arise in applications where smaller blocks are needed, and block size selection logic circuit 311 is used as a means to solve this problem.
제4도는 본 발명에 따른 메모리 구조 중 블록 크기 선택 논리 회로의동작 실시예를 도시한 블록도이다. 메모리 블록 이동은 쓰기 제어선을 제어함으로써 가능하다. 메모리 블록(405)이 제1메모리9406) 및 제2메모리(407)로 나뉘어 각각 공통 블록 레지스터(408)의 제1레지스터(409) 및 제2레지스터(410)에 쓰는 것을 보여준다. 이때 하나의 실시예로 블록 쓰기/읽기 제어선(400)이 '1'이고 각 블록의 '0'번지를 엑세스할 경우 디코더(402)에 입력된 주소 버스(401)를 디코딩하여 제1논리곱 회로(403)를 구동하므로써 제1메모리(406)를 제1레지스터(409)에 쓰기 한다. 각 블록의 '1'번지를 엑세스할 경우 디코더(402)에 입력된 주소 버스(401)를 디코딩하여 제2논리곱 회로(404)를 구동하므로써 제1메모리(407)를 제2레지스터(410)에 쓰기 한다. 각 블록의 '2'번지를 엑세스할 경우 디코더(402)에 입력된 주소 버스(401)를 디코딩하여 제1논리곱 회로(403) 및 제2논리곱 회로(404)를 동시에 구동하므로써 메모리 블록(405)을 공통 블록 레지스터(408)에 쓰기하며 작은 블록이 필요한 경우에도 적용 가능하게 한다. 다른 실시예로 물리적인 블록 내에 더 많이 분할된 블록을 둘 경우 '0', '1', '2', '3' 등과 같이 내부의 주소선을 사용하여 해결 할 수 있다. 공통 블록 레지스터(408)로부터 블록 읽기의 경우에도 동일한 방법을 적용하여 해결할 수 있으며 물리적인 블록의 크기 및 분할된 블록의 크기는 제조시 고정된다.4 is a block diagram illustrating an embodiment of an operation of a block size selection logic circuit in a memory structure according to the present invention. Memory block movement is possible by controlling the write control line. The memory block 405 is divided into a first memory 9906 and a second memory 407 to write to the first register 409 and the second register 410 of the common block register 408, respectively. In this embodiment, when the block write / read control line 400 is '1' and the address '0' of each block is accessed, the first logical product is decoded by decoding the address bus 401 input to the decoder 402. The first memory 406 is written to the first register 409 by driving the circuit 403. When the address '1' of each block is accessed, the second memory circuit 404 is driven by decoding the address bus 401 input to the decoder 402 to drive the first memory 407 to the second register 410. Write on When accessing the '2' address of each block, the address bus 401 input to the decoder 402 is decoded to simultaneously drive the first logical multiplier circuit 403 and the second logical multiplier circuit 404 so that the memory block ( 405 is written to the common block register 408, making it applicable even if a small block is needed. In another embodiment, when a block is divided into more physical blocks, it can be solved by using an internal address line such as '0', '1', '2', or '3'. In the case of reading a block from the common block register 408, the same method can be applied to solve the problem. The size of the physical block and the size of the divided block are fixed at the time of manufacture.
제5도는 본 발명에 따른 공통 블록 레지스터 내장 메모리를 이용한 그림자 페이지 회복 구조를 도시한 블록도이다. 일반적인 프로세서 칩으로 구성되는 데이터베이스 처리기(500)는 데이터베이스 처리기의 동작 프로그램이 내장된 메모리(501)와 연결된다. 데이터베이스 처리기(500)는 공통 블록 레지스터 내장 메모리(506)에 연결되어 데이터의 쓰기/읽기를 수행하고(502), 공통 블록 쓰기/읽기 제어선(503)을 이용하여 메모리 블록(509)과 공통 블록 레지스터(513) 사이에 쓰기 및 읽기를 수행하는 블록 쓰기/읽기 논리 회로(511)를 제어한다. 또한, 블록 크기 선택 제어선(504)을 통하여 블록 크기를 선택하는 블록 크기 선택 논리 회로(511)을 제어하고, 공통 블록 쓰기/읽기시 패리티 발생을 검사하는 패리티 검사 논리 회로(512)에 의한 패리티 상태를 패리티 상태 알림 제어선(505)을 통하여 수신한다.5 is a block diagram illustrating a shadow page recovery structure using a common block register embedded memory according to the present invention. The database processor 500 configured of a general processor chip is connected to a memory 501 in which an operation program of the database processor is embedded. The database processor 500 is connected to the common block register internal memory 506 to perform data write / read (502), and the memory block 509 and the common block using the common block write / read control line 503. The block write / read logic circuit 511 which writes and reads between the registers 513 is controlled. In addition, the parity by the parity check logic circuit 512 which controls the block size selection logic circuit 511 for selecting a block size through the block size selection control line 504 and checks the parity generation when writing / reading a common block. The state is received through the parity state notification control line 505.
제6a 및 제6b도는 본 발명에 따른 그림자 페이지 기법의 동작 흐름도이다. 본 발명에 따른 그림자 페이지 기법은 종래의 방법과 달리 같은 장소에 겹쳐 쓰기 때문에 페이지 테이블을 관리한 필요가 없어진다. 그 동작 순서는 다음과 같다. 원래의 메모리 블록을 공통 블록 레지스터로 복사한 후(601), 이 공통 블록 레지스터를 다른 영역의 메모리 블록으로 복사, 즉 백업한다(602), 데이터의 무결성 검사를 위하여 복사된 다른 영역의 메모리 블록을 공통 블록 레지스터로 복사한다(603). 패리티 에러의 발생 여부를 검사한다(604). 검사 결과 패리티 에러가 발생한 경우에는 선택 되었던 다른 영역의 메모리 블록을 폐기하고 처음 단계부터 다시 시작한다(605). 겸사 결과 패리티 에러가 발생하지 않은 경우에는 원래의 메모리 블록을 갱신한다(606). 그리고 갱신 수행이 성공했는지를 검사한다(607). 검사 결과 갱신 수행이 성공한 경우에는 갱신된 메모리 블록을 공통 블록 메모리로 복사한 후(609) 패리티 에러 발생 유무를 검사한다(610). 검사 결과 패리티 에러가 발생하지 않은 경우에는 백업을 위해 사용되었던 다른 영역의 메모리 블록의 사용을 해제하고(611) 갱신 완료를 알린 후 트랜잭션을 종료한다(612). 단계(607)에서 갱신 수행이 실패한 경우 백업된 다른 영역의 메모리 블록을 공통 메모리 블록으로 옮긴 후 원래의 메모리 블록으로 복사한다(608). 복구된 원래의 메모리 블록을 공통 블록 레지스터로 복사하고(613) 패리티 에러 발생 여부를 검사한다(614). 검사 결과 패리티 에러가 발생하지 않은 경우 트랜잭션 수행 실패를 알린 후 종료한다(619). 단계(610) 및 단계(614)에서 패리티 에러가 발생한 경우 원래의 메모리 블록을 폐기한다(615). 다른 메모리 블록을 선택한 후 원래의 메모리 블록으로 대치하고(616) 다른 영역의 메모리 블록에 백업된 원래의 내용을 공통 블록 레지스터를 통하여 선택된 원래의 메모리 블록으로 복사한다(617). 선택된 원래의 메모리 블록을 공통 블록 레지스터로 복사한 후(618) 패리티 에러 발생 유무를 검사한다(619). 검사 결과 패리티 에러가 발생한 경우 단계9615)부터 다시 시작하고, 패리티 에러가 발생하지 않은 경우 트랜잭션 실패를 알린 후 종료한다(620).6A and 6B are operational flowcharts of the shadow page technique according to the present invention. The shadow page technique according to the present invention does not need to manage the page table because it overwrites the same place unlike the conventional method. The operation sequence is as follows. After copying the original memory block to the common block register (601), the common block register is copied, i.e., backed up to the memory block of another region (602), and the memory block of the other region copied for the integrity check of the data is copied. Copy to common block register (603). It is checked whether a parity error has occurred (604). If a parity error occurs as a result of the check, the memory block of the selected other area is discarded and restarted from the first step (605). If the parity error has not occurred, the original memory block is updated (606). Then, it is checked whether the update has been successfully performed (607). If the result of the check is successful, the updated memory block is copied to the common block memory (609) and then a parity error is detected (610). If a parity error does not occur as a result of the check, the memory block of the other area used for the backup is released (611), the update is completed, and the transaction is terminated (612). If the update fails in step 607, the memory block of another backed up area is moved to the common memory block and then copied to the original memory block (608). The recovered original memory block is copied to the common block register (613) and a parity error is checked (614). If a parity error does not occur as a result of the check, the program terminates after notifying a transaction execution failure (619). If a parity error occurs in steps 610 and 614, the original memory block is discarded (615). The other memory block is selected and replaced with the original memory block (616), and the original contents backed up in the memory block of the other area are copied to the selected original memory block through the common block register (617). After copying the selected original memory block to the common block register (618), it is checked whether a parity error has occurred (619). If a parity error occurs as a result of the check, the process starts again from step 9515, and if the parity error does not occur, it notifies of a transaction failure and ends (620).
상술한 바와 같이 본 발명의 회복 구조에서는 트랜잭션 수행시 가장 큰 부담이었던 복사 시간이 블록 단위로서 수행됨으로써 거의 무시할 수 있을 정도로 줄어들어 트랜잭션에 필요한 부담을 최소화할 수 있어 고속의 트랜잭션 처리 및 회복을 수행할 수 있는 훌륭한 효과가 있다. 특히 패리티 검사를 블록 단위로 실시함으로써 데이터베이스의 무결성을 극대화할 수 이쏙, 블록 단위의 작은 블록도 조작할 수 있기 때문에 기존의 그림자 페이지 기법에서 구현이 어려웠던 작은 단위 잠금 문제를 해결할 수 있는 훌륭한 효과가 있다.As described above, in the recovery structure of the present invention, since the copy time, which was the greatest burden when performing a transaction, is performed as a block unit, it is almost negligible to minimize, thereby minimizing the burden required for the transaction, thereby performing fast transaction processing and recovery. That has a great effect. In particular, the parity check is performed block by block to maximize the integrity of the database. Since small blocks can also be manipulated, it has a great effect to solve the problem of small unit lock, which was difficult to implement in the conventional shadow page technique. .
Claims (4)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960053211A KR100204576B1 (en) | 1996-11-11 | 1996-11-11 | Structure of common block register built-in memory and shadow recovery structure & method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960053211A KR100204576B1 (en) | 1996-11-11 | 1996-11-11 | Structure of common block register built-in memory and shadow recovery structure & method |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19980034995A KR19980034995A (en) | 1998-08-05 |
KR100204576B1 true KR100204576B1 (en) | 1999-06-15 |
Family
ID=19481420
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019960053211A KR100204576B1 (en) | 1996-11-11 | 1996-11-11 | Structure of common block register built-in memory and shadow recovery structure & method |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100204576B1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100365891B1 (en) * | 2000-12-13 | 2002-12-27 | 한국전자통신연구원 | Backup/recovery Apparatus and method for non-log processing of real-time main memory database system |
US7389308B2 (en) * | 2003-05-30 | 2008-06-17 | Microsoft Corporation | Shadow paging |
-
1996
- 1996-11-11 KR KR1019960053211A patent/KR100204576B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR19980034995A (en) | 1998-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100204027B1 (en) | Database recovery apparatus and method using nonvolatile memory | |
US4905196A (en) | Method and storage device for saving the computer status during interrupt | |
US7849356B2 (en) | Parity data management system apparatus and method | |
US7293146B1 (en) | Method and apparatus for restoring a corrupted data volume | |
JP4422016B2 (en) | Method and apparatus for creating a virtual data copy | |
JPH04205519A (en) | Writing method of data under restoration | |
JPH11272427A (en) | Method for saving data and outside storage device | |
JPS6394353A (en) | Error correction method and apparatus | |
US20040034817A1 (en) | Efficient mechanisms for detecting phantom write errors | |
Banatre et al. | Ensuring data security and integrity with a fast stable storage | |
US5675767A (en) | Method for verification and restoration of directories in CPU system managed store | |
KR100204576B1 (en) | Structure of common block register built-in memory and shadow recovery structure & method | |
CN115348276A (en) | Data storage method and device, computer equipment and storage medium | |
JPH06149485A (en) | Data completion guarantee processing method | |
KR20110039416A (en) | Data storage method, apparatus and system for interrupted write recovery | |
JP3139738B2 (en) | Logic circuit | |
CN111949434B (en) | RAID management method, RAID controller and system | |
KR19980037407A (en) | Structure of Double-sided Nonvolatile Memory in Disk-Shared Parallel Database System and Its Recovery Method | |
JPH06131123A (en) | External storage device for computer | |
JPH0259837A (en) | Data recovery processing system | |
JPH08179994A (en) | Computer system | |
JPH09330303A (en) | Computer system and its fault recovering method | |
JPH04125753A (en) | On-lined diagnostic system for memory | |
CN116401096A (en) | Metadata backup method and device, electronic equipment and storage medium | |
KR100310477B1 (en) | How to back up production packages at the exchange |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20080307 Year of fee payment: 10 |
|
LAPS | Lapse due to unpaid annual fee |