KR19980034995A - 공통 블럭 레지스터 내장 메모리의 구조와 이를 이용한 그림자 페이지 회복 구조 및 회복 기법 - Google Patents
공통 블럭 레지스터 내장 메모리의 구조와 이를 이용한 그림자 페이지 회복 구조 및 회복 기법 Download PDFInfo
- Publication number
- KR19980034995A KR19980034995A KR1019960053211A KR19960053211A KR19980034995A KR 19980034995 A KR19980034995 A KR 19980034995A KR 1019960053211 A KR1019960053211 A KR 1019960053211A KR 19960053211 A KR19960053211 A KR 19960053211A KR 19980034995 A KR19980034995 A KR 19980034995A
- Authority
- KR
- South Korea
- Prior art keywords
- block
- memory block
- memory
- common
- parity error
- 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
본 발명은 트랜잭션 처리를 위한 메모리 구조와 데이타베이스 시스템의 회복 방법에 관한 것으로, 공통 블럭 레지스터 내장 메모리를 사용한 그림자 페이지 회복 구조 및 회복 기법을 도입하므로써 디스크로 백업하는 과정이 필요하지 않아 페이지 테이블을 관리할 필요가 없고, 블럭 단위로 백업 및 복구를 수행하여 작은 단위의 잠금도 가능하며, 트랜잭션 수행시 가장 큰 부담이었던 복사 시간이 거의 무시할 수 있을 정도로 줄어들어 트랜잭션에 필요한 모든 부담을 제거할 수 있으므로 고속의 트랜잭션 처리 및 회복을 수행할수 있는 공통 블럭 레지스터 내장 메모리의 구조와 이를 이용한 그림자 페이지 회복 구조 및 회복 기법이 제시된다.
Description
본 발명은 트랜잭션 처리를 위한 메모리 구조와 데이타베이스 시스템의 회복 방법에 관한 것으로서, 특히 공통 블럭 레지스터 내장 메모리의 구조와 이를 이용한 그림자 페이지 회복 구조 및 회복 기법에 관한 것이다.
종래에는 데이타베이스를 저장하는 매체로 디스크를 주로 사용하였으나, 반도체 기술의 발달로 인해 대용량의 메모리를 사용한 주기억 장치 데이타베이스 시스템(Main Memory Database System; MMDBS)이 출현하였다. 데이타베이스는 오류 발생시에도 일관성을 유지하기 위해 회복 알고리즘이 필요하다. 즉, 데이타베이스 갱신이 일반 갱신과는 달리 갱신 도중 오류가 발생했을 때, 원래의 값으로 복구하여 일관성을 유지해야 한다. 이러한 주기억 장치 데이타베이스는 실시간 처리가 필요한 통신망 또는 공업용으로 사용된다.
일관성을 유지하기 위한 회복 방법으로 그림자 페이지 기법이 있다. 그림자 페이지 기법은 데이타베이스 갱신을 위한 트랜잭션 수행시 한 개의 원본과 한 개의 복사본을 가진다. 종래의 그림자 페이지 기법의 문제점을 도 1을 참조하여 설명하면 다음과 같다.
도 1은 종래의 그림자 페이지 기법을 설명하기 위해 도시한 블럭도이다. 일반적으로 데이타베이스는 디스크에 저장되고 페이지 단위의 여러 블럭으로 구분되어 있다. 트랜잭션이 디스크에 저장된 데이타베이스를 갱신하기 위해 먼저 갱신 전의 원본 블럭 i(100)를 주기억 장치의 블럭 k(101)로 복사한다. 다음으로 블럭 k(101)를 갱신한 후, 블럭 k(101)를 갱신한 후, 블럭 k(101)를 블럭 i(100)와 다른 디스크 영역인 블럭 j(102)에 복사한다. 이 때 블럭이 이동하기 때문에 데이타베이스 처리 프로그램 과 블럭을 매핑시키기 위해서 페이지 테이블을 사용한다. 종래의 기술에서 이 페이지 테이블은 안전 메모리인 디스크에 저장되기 때문에 데이타베이스 갱신 후 페이지 테이블을 갱신해야 하는 부담이 있다. 이것은 그림자 페이지의 성능을 떨어뜨리는 요인중의 하나이다.
종래의 디스크를 기반으로 하는 그림자 페이지 기법의 또다른 단점은 작은 단위 잠금이 어렵다는 것이다. 데이타베이스 시스템은 여러 프로세스에 의해 동시에 접근될 수 있는데, 이때 데이타베이스의 같은 블럭을 다른 프로세스가 접근하게 되면 데이타베이스가 일치성을 가질 수 없게 된다. 여기서 프로세스는 같은 프로세서 또는 다중의 프로세서에서 동작된다. 불일치를 방지하기 위해 종래의 기술에서는 블럭을 사용하기 전에 표시를 한 후, 즉 잠금을 한 후 접근하여 다른 프로세스를 기다리게 한다. 사용이 끝난 후에는 잠금을 풀고 다른 프로세스가 사용하게 한다. 이때 종래의 디스크 기반 데이타베이스 시스템에서는 블럭을 갱신하기 위해 주기억 장치로 복사해야 한다. 여기서 블럭은 주로 페이지 단위가 되는데 페이지는 여러 개의 레코드로 구성된다. 작은 단위 잠금은 이러한 레코드 단위로 여러 프로세스가 사용 가능하게 하는 것을 뜻한다. 이 경우 동시성이 증가하여 시스템의 성능을 높일 수 있게 되므로 다중 프로세서에는 필수적으로 필요하다. 로그 기반 회복 기법에서는 각각의 프로세스가 접근하는 레코드의 수정 내영을 로그 버퍼에 기록하기 때문에 문제가 발생하지 않으나, 그림자 페이지 기법의 경우에는 레코드에 수정한 내용을 직접 기록하기 때문에 문제가 발생한다. 한 예로 하나의 블럭에서 서로 다른 부분의 레코드를 두개의 트랜잭션이 접근하는 경우를 가정한다. 블럭 i(100)를 주기억 장치로 복사하고 두 개의 트랜잭션을 블럭 k(101)의 서로 다른 부분의 레코드에 잠금한 후 갱신을 수행한다. 이때 두개의 트랜잭션이 모두 성공한 경우에는 기존의 방법과 같이 블럭 k(101)를 디스크의 다른 부분인 블럭 j(102)에 복사하고 페이지 테이블을 갱신한 후 완료하면 되지만, 트랜잭션 하나는 성공하고 다른 하나는 실패한 경우 철회 또는 완료를 할 수 없게 된다.
이와 같이 종래의 그림자 페이지 기법은 페이지 테이블을 관리해야 하는 부담 및 작은 단위 잠금이 어려운 단점이 있어 기존의 로드 기반 회복 기법보다 성능이 떨어진다. 그리고 그림자 페이지 기법을 주기억 장치에 적용할 경우 기존의 메모리는 휘발성이기 때문에 전원 장애 발생시 복구 문제가 발생한다. 그러나 그림자 페이지 기법은 로그 기반 회복 기법에 비해 회복이 간단하기 때문에 실시간 재시동이 필요한 통신망 또는 공업용 분야에서 필요로 하고 있다.
따라서, 본 발명은 이러한 문제점들을 해결하기 위한 공통 블럭 레지스터 내장 메모리의 구조와 이를 이용한 그림자 페이지 기반 회복 구조 및 그림자 페이지 회복 기법을 제공하여 트랜잭션 처리 및 회복을 고속화 하는데 그 목적이 있다.
상술한 목적을 달성하기 위한 본 발명에 따른 공통 블럭 레지스터 내장 메모리의 구조는 데이타를 저장하기 위해 다수로 구성된 메모리 블럭과, 상기 메모리 블럭을 외부의 신호에 따라 선택하여 블럭 쓰기/읽기 제어 논리 회로에 신호를 출력하는 디코더 및 선택 논리 회로와, 상기 디코더 및 선택 논리 회로와 외부의 제어 신호를 입력하여 메모리 블럭과 공통 블럭 레지스터 사이의 블럭 쓰기/읽기를 제어하는 블럭 쓰기/읽기 제어 논리 회로와, 상기 블럭 쓰기/읽기 제어 논리 회로의 제어 신호에 의해 메모리 블럭과 상호 블럭 쓰기/읽기를 수행하는 공통 블럭 레지스터와, 상기 메모리 블럭에서 공통 블럭 레지스터로 쓰기를 수행할 때 패리티 에러 발생 유무를 검사하는 블럭 패리티 검사 논리 회로와, 상기 메모리 블럭에서 블럭 복사를 수행할 경우 공통 블럭 레지스터보다 작은 단위의 블럭 복사를 가능하게 하는 블럭 크기 선택 논리 회로로 이루어진 것을 특징으로 한다.
상술한 목적을 달성하기 위한 본 발명에 따른 공통 블럭 레지스터 내장 메모리를 이용한 그림자 페이지 회복 구조는 프로세서 칩으로 구성된 데이타베이스 처리기와, 상기 데이타베이스 처리기와 연결되어 데이타베이스 처리기의 동작 프로그램을 내장한 메모리와, 상기 데이타베이스 처리기와 데이타 쓰기/읽기를 수행하며, 블럭 쓰기 읽기 제어선, 블럭 크기 선택 제어선 및 블럭 패리티 상태 알림 제어선으로 연결된 공통 블럭 레지스터를 내장한 메모리로 이루어진 것을 특징으로 한다.
또한, 상술한 목적을 달성하기 위한 본 발명에 따른 공통 블럭 레지스터 내장 메모리를 이용한 그림자 페이지 회복 기법은 원래의 메모리 블럭을 공통 블럭 레지스터로 복사하는 단계와, 상기 원래의 메모리 블럭이 복사된 공통 블럭 레지스터를 다른 영역의 메모리 블럭으로 복사하는 단계와, 상기 복사된 다른 영역의 메모리 블럭을 공통 블럭 레지스터로 복사하는 단계와, 상기 다른 영역의 메모리 블럭이 복사된 공통 블럭 레지스터에 제 1 패리티 에러 발생 유무를 검사하는 단계와, 상기 제 1 패리티 에러 발생 유무의 검사 결과 패리티 에러가 발생한 경우 선택된 다른 영역의 메모리 블럭을 폐기한 후 원래의 메모리 블럭을 공통 블럭 레지스터로 복사하는 단계로 천이하는 단계와, 상기 제 1 패리티 에러 발생 유무의 검사 결과 패리티 에러가 발생하지 않은 경우 원래의 메모리 블럭을 갱신하는 단계와, 상기 원래의 메모리 블럭의 갱신 수행이 성공했는지를 검사하는 단계와, 상기 갱신 수행 성공 여부의 검사 결과 갱신 수행이 성공한 경우 갱신된 메모리 블럭을 공통 블럭 메모리로 복사하는 단계와, 상기 갱신된 메모리 블럭을 공통 메모리 블럭으로 복사한 후 제 2 패리티 에러 발생 유무를 검사하는 단계와, 상기 제 2 패리티 에러 발생 유무의 검사 결과 패리티 에러가 발생하지 않은 경우 백업을 위해 사용되었던 다른 영역의 메모리 블럭의 사용을 해제하는 단계와, 상기 다른 영역의 메모리의 블럭의 사용을 해제한 후 갱신 완료를 알리고 트랜잭션을 종료하는 단계와, 상기 갱신 수행 성공 여부의 검사 결과 갱신 수행이 실패한 경우 백업된 다른 영역의 메모리 블럭을 공통 메모리 블럭으로 옮기는 단계와, 상기 공통 메모리 블럭을 원래의 메모리 블럭으로 복사하는 단계와, 상기 복사된 원래의 메모리 블럭을 공통 블럭 레지스터로 복사하는 단계와, 상기 공통 블럭 레지스터의 제 3 패리티 에러 발생 유무를 검사하는 단계와, 상기 제 3 패리티 에러 발생의 검사 결과 패리티 에러가 발생하지 않은 경우 트랜잭션 수행 실패를 알린 후 종료하는 단계와, 상기 제 2 및 제 3 패리티 에러 발생의 검사 결과 패리티 에러가 발생한 경우 원래의 메모리 블럭을 폐기하는 단계와, 상기 원래의 메모리 블럭을 폐기한 후 다른 메모리 블럭을 선택하여 원래의 메모리 블럭으로 대치하는 단계와, 상기 원래의 메모리 블럭으로 대치된 다른 영역의 메모리 블럭에 백업된 원래의 내용을 공통 블럭 레지스터를 통하여 복사하는 단계와, 상기 선택된 원래의 메모리 블럭을 공통 블럭 레지스터로 복사한 후 제 4 패리티 에러 발생 유무를 검사하는 단계와, 상기 제 4 패리티 에러 발생 유무의 검사 결과 패리티 에러가 발생한 경우 원래의 메모리 블럭을 폐기하는 단계로 천이하는 단계와, 상기 제 4 패리티 에러 발생 유무의 검사 결과 패리티 에러가 발생하지 않은 경우 트랜잭션 실패를 알린 후 종료하는 단계로 이루어진 것을 특징으로 한다.
도 1은 종래의 그림자 페이지 기법을 설명하기 위해 도시한 블럭도.
도 2는 본 발명에 따른 공통 블럭 레지스터 내장 메모리의 구조도.
도 3은 본 발명에 따른 공통 블럭 레지스터 내장 메모리의 동작 실시 예를 도시한 블럭도.
도 4는 본 발명에 따른 블럭 크기 선택 논리 회로의 동작 실시 예를 도시한 블럭도.
도 5는 본 발명에 따른 그림자 페이지 회복 구조를 도시한 블럭도.
도 6A 및 도 6B는 본 발명에 따른 그림자 페이지 회복 기법의 처리 흐름도.
*도면의 주요 부분에 대한 부호의 설명*
201 : 메모리 블럭202 : 디코더 및 선택 논리 회로
203 : 공통 블럭 레지스터204 : 블럭 쓰기/읽기 제어 논리 회로
205 : 블럭 패리티 검사 논리 회로206 : 블럭 크기 선택 논리 회로
첨부된 도면을 참조하여 본 발명을 상세히 설명하기로 한다.
도 2는 본 발명에 따른 공통 블럭 레지스터 내장 메모리의 구조도이다. 도시된 바와 같이 본 발명의 메모리(200) 구조는 다음과 같다. 메모리 블럭(201)은 내용을 저장하기 위한 메모리 수단으로 다수로 구성된다. 디코더 및 선택 논리 회로(202)는 외부의 신호에 따라 메모리의 내용을 참조하기 위해 메모리 블럭을 선택하고 블럭 쓰기/읽기 제어 논리 회로에 신호를 출력한다. 블럭 쓰기/읽기 제어 논리 회로(204)는 디코더 및 선택 논리 회로(202)와 외부의 제어 신호를 입력하여 메모리 블럭(201)과 공통 블럭 레지스터(203) 사이의 블럭 쓰기/읽기를 제어한다. 공통 블럭 레지스터(203)는 블럭 쓰기/읽기 제어 논리 회로(204)의 제어 신호에 의해 메모리 블럭(201)과 블럭 쓰기/읽기를 수행한다. 블럭 패리티 검사 논리 회로(205)는 공통 블럭 레지스터(203)로 쓰기를 수행할 때 패리티 에러 발생 유무를 검사하며, 블럭 크기 선택 논리 회로(206)는 공통 블럭 레지스터보다 작은 단위의 블럭 복사를 가능하게 한다.
메모리 블럭(201)은 기존의 휘발성 메모리 또는 비휘발성 메모리 셀이 사용 가능하다. 그러나 본 발명의 주기억 장치 그림자 페이지 회복 구조를 위해서는 메모리 블럭들이 비휘발성이어야 하기 때문에 휘발성 셀을 사용하는 경우에는 외부에 무정전 전원을 사용해야 한다. 공통 블럭 레지스터(203)는 블럭 쓰기/읽기 시 버퍼로 사용되기 때문에 휘발성 셀을 사용하여도 무방하다. 현재 비휘발성 셀은 쓰기 횟수에 제한이 있기 때문에 빈번히 사용되는 공통 블럭 레지스터는 쓰기 횟수에 제한 없는 휘발성 셀을 사용한다.
도 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)가 사용된다.
도 4는 본 발명에 따른 메모리 구조 중 블럭 크기 선택 논리 회로의 동작 실시 예를 도시한 블럭도이다. 메모리 블럭 이동은 쓰기 제어선을 제어함으로써 가능하다. 메모리 블럭(405)이 제 1 메모리(406) 및 제 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)로부터 블럭 읽기의 경우에도 동일한 방법을 적용하여 해결할 수 있으며 물리적인 블럭의 크기 및 분할 된 블럭의 크기를 제조시 고정된다.
도 5는 본 발명에 따른 공통 블럭 레지스터 내장 메모리를 이용한 그림자 페이지 회복 구조를 도시한 블럭도이다. 일반적인 프로세서 칩으로 구성되는 데이타 베이스 처리기(500)는 데이타베이스 처리기의 동작 프로그램이 내장된 메모리(501) 와 연결된다. 데이타베이스 처리기(500)는 공통 블럭 레지스터 내장 메모리(506)에 연결되어 데이타의 쓰기/읽기를 수행하고(502), 공통 블럭 쓰기/읽기 제어선(503)을 이용하여 메모리 블럭(509)과 공통 블럭 레지스터(513) 사이에 쓰기 및 읽기를 수행하는 블럭 쓰기/읽기 제어 논리 회로(511)를 제어한다. 또한, 블럭 크기 선택 제어선(504)을 통하여 블럭 크기를 선택하는 블럭 크기는 선택 논리 회로(511)을 제어하고, 공통 블럭 쓰기/읽기시 패리티 발생을 검사하는 패리티 검사 논리 회로(512)에 의한 패리티 상태를 패리티 상태 알림 제어선(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). 검사 결과 패리티 에러가 발생한 경우 단계 (615)부터 다시 시작하고, 패리티 에러가 발생하지 않은 경우 트랜잭션 실패를 알린 후 종료한다(620).
상술한 바와 같이 본 발명의 회복 구조에서는 트랜잭션 수행시 가장 큰 부담이었던 복사 시간이 블럭 단위로 수행됨으로써 거의 무시할 수 있을 정도로 줄어들어 트랜잭션에 필요한 부담을 최소화할 수 있어 고속의 트랜잭션 처리 및 회복을 수행할 수 있는 훌륭한 효과가 있다. 특히 패리티 검사를 블럭 단위로 실시함으로써 데이타베이스의 무결성을 극대화할 수 있고, 블럭 단위의 작은 블럭도 조작할 수 있기 때문에 기존의 그림자 페이지 기법으로 구현이 어려웠던 작은 단위 잠금 문제를 해결할 수 있는 훌륭한 효과가 있다.
Claims (4)
- 데이타를 저장하기 위해 다수로 구성된 메모리 블럭과,상기 메모리 블럭을 외부의 신호에 따라 선택하여 블럭 쓰기/읽기 제어 논리 회로에 신호를 출력하는 디코더 및 선택 논리 회로와,상기 디코더 및 선택 논리 회로와 외부의 제어 신호를 입력하여 메모리 블럭과 공통 블럭 레지스터 사이의 블럭 쓰기/읽기를 제어하는 블럭 쓰기/읽기 제어 논리 회로와,상기 블럭 쓰기/읽기 제어 논리 회로의 제어 신호에 의해 메모리 블럭과 상호 블럭 쓰기/읽기를 수행하는 공통 블럭 레지스터와,상기 메모리 블럭에서 공통 블럭 레지스터로 쓰기를 수행할 때 패리티 에러 발생 유무를 검사하는 블럭 패리티 검사 논리 회로와,상기 메모리 블럭에서 블럭 복사를 수행할 경우 공통 블럭 레지스터보다 작은 단위의 블럭 복사를 가능하게 하는 블럭 크기 선택 논리 회로로 이루어진 것을 특징으로 하는 공통 블럭 레지스터 내장 메모리의 구조.
- 제 1 항에 있어서, 상기 다수의 메모리 블럭은 휘발성 셀 및 비휘발성 셀중 어느 하나로 이루어진 것을 특징으로 하는 공통 블럭 레지스터 내장 메모리의 구조.
- 프로세서 칩으로 구성된 데이타베이스 처리기와,상기 데이타베이스 처리기와 연결되어 데이타베이스 처리기의 동작 프로그램을내장한 메모리와,상기 데이타베이스 처리기와 데이타 쓰기/읽기를 수행하며, 블럭 쓰기 읽기 제어선, 블럭 크기 선택 제어선 및 블럭 패리티 상태 알림 제어선으로 연결된 공통 블럭 레지스터를 내장한 메모리로 이루어진 것을 특징으로 하는 공통 블럭 레지스터 내장 메로리를 이용한 그림자 페이지 회복 구조.
- 원래의 메모리 블럭을 공통 블럭 레지스터로 복사하는 단계와,상기 원래의 메모리 블럭이 복사된 공통 블럭 레지스터를 다른 영역의 메모리 블럭으로 복사하는 단계와,상기 복사된 다른 영역의 메모리 블럭을 공통 블럭 레지스터로 복사하는 단계와,상기 다른 영역의 메모리 블럭이 복사된 공통 블럭 레지스터에 제 1 패리티 에러 발생 유무를 검사하는 단계와,상기 제 1 패리티 에러 발생 유무의 검사 결과 패리티 에러가 발생한 경우 선택된 다른 영역의 메모리 블럭을 폐기한 후 원래의 메모리 블럭을 공통 블럭 레지스터로 복사하는 단계로 천이하는 단꼐와,상기 제 1 패리티 에러 발생 유무의 검사 결과 패리티 에러가 발생하지 않은 경우 원래의 메모리 블럭을 갱신하는 단계와,상기 원래의 메모리 블럭의 갱신 수행이 성공했는지를 검사하는 단계와,상기 갱신 수행 성공 여부의 검사 결과 갱신 수행이 성공한 경우 갱신된 메모리 블럭을 공통 블럭 메모리로 복사하는 단계와,상기 갱신된 메모리 블럭을 공통 메모리 블럭으로 복사한 후 제 2 패리티 에러 발생 유무를 검사하는 단계와,상기 제 2 패리티 에러 발생 유무의 검사 결과 패리티 에러가 발생하지 않은 경우 백업을 위해 사용되었던 다른 영역의 메모리 블럭의 사용을 해제하는 단계와,상기 다른 영역의 메모리의 블럭의 사용을 해제한 후 갱신 완료를 알리고 트랜잭션을 종료하는 단계와,상기 갱신 수행 성공 여부의 검사 결과 갱신 수행이 실패한 경우 백업된 다른 영역의 메모리 블럭을 공통 메모리 블럭으로 옮기는 단계와,상기 공통 메모리 블럭을 원래의 메모리 블럭으로 복사하는 단계와,상기 복사된 원래의 메모리 블럭을 공통 블럭 레지스터로 복사하는 단계와,상기 공통 블럭 레지스터의 제 3 패리티 에러 발생 유무를 검사하는 단계와,상기 제 3 패리티 에러 발생의 검사 결과 패리티 에러가 발생하지 않은 경우 트랜잭션 수행 실패를 알린 후 종료하는 단계와,상기 제 2 및 제 3 패리티 에러 발생의 검사 결과 패리티 에러가 발생한 경우 원래의 메모리 블럭을 폐기하는 단계와,상기 원래의 메모리 블럭을 폐기한 후 다른 메모리 블럭을 선택하여 원래의 메모리 블럭으로 대치하는 단계와,상기 원래의 메모리 블럭으로 대치된 다른 영역의 메모리 블럭에 백업된 원래의 내용을 공통 블럭 레지스터를 통하여 복사하는 단계와,상기 선택된 원래의 메모리 블럭을 공통 블럭 레지스터로 복사한 후 제 4 패리티 에러 발생 유무를 검사하는 단계와,상기 제 4 패리티 에러 발생 유무의 검사 결과 패리티 에러가 발생한 경우 원래의 메모리 블럭을 폐기하는 단계로 천이하는 단계와,상기 제 4 패리티 에러 발생 유무의 검사 결과 패리티 에러가 발생하지 않은 경우 트랜잭션 실패를 알린 후 종료하는 단계로 이루어진 것을 특징으로 하는 공통 블럭 레지스터 내장 메모리를 이용한 그림자 페이지 회복 기법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960053211A KR100204576B1 (ko) | 1996-11-11 | 1996-11-11 | 공통 블럭 레지스터 내장 메모리의 구조와 이를 이용한 그림자 페이지 회복 구조 및 회복 기법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960053211A KR100204576B1 (ko) | 1996-11-11 | 1996-11-11 | 공통 블럭 레지스터 내장 메모리의 구조와 이를 이용한 그림자 페이지 회복 구조 및 회복 기법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19980034995A true KR19980034995A (ko) | 1998-08-05 |
KR100204576B1 KR100204576B1 (ko) | 1999-06-15 |
Family
ID=19481420
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019960053211A KR100204576B1 (ko) | 1996-11-11 | 1996-11-11 | 공통 블럭 레지스터 내장 메모리의 구조와 이를 이용한 그림자 페이지 회복 구조 및 회복 기법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100204576B1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100365891B1 (ko) * | 2000-12-13 | 2002-12-27 | 한국전자통신연구원 | 주기억장치 상주형 데이터베이스 시스템에서 로그 처리를하지 않는 백업/회복 장치 및 그 방법 |
KR101066783B1 (ko) * | 2003-05-30 | 2011-09-21 | 마이크로소프트 코포레이션 | 새도우 페이징을 위한 데이터베이스에 액세스하는 방법, 컴퓨터 판독가능 저장 매체, 및 데이터베이스에 액세스하는 시스템 |
-
1996
- 1996-11-11 KR KR1019960053211A patent/KR100204576B1/ko not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100365891B1 (ko) * | 2000-12-13 | 2002-12-27 | 한국전자통신연구원 | 주기억장치 상주형 데이터베이스 시스템에서 로그 처리를하지 않는 백업/회복 장치 및 그 방법 |
KR101066783B1 (ko) * | 2003-05-30 | 2011-09-21 | 마이크로소프트 코포레이션 | 새도우 페이징을 위한 데이터베이스에 액세스하는 방법, 컴퓨터 판독가능 저장 매체, 및 데이터베이스에 액세스하는 시스템 |
Also Published As
Publication number | Publication date |
---|---|
KR100204576B1 (ko) | 1999-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100204027B1 (ko) | 이중면 비휘발성 메모리를 이용한 데이타베이스 회복 장치 및 그 방법 | |
JP4422016B2 (ja) | 仮想データコピーを作成するための方法および装置 | |
US4905196A (en) | Method and storage device for saving the computer status during interrupt | |
US7293146B1 (en) | Method and apparatus for restoring a corrupted data volume | |
EP0800138B1 (en) | Control apparatus and method for a RAID storage subsystem | |
US7849356B2 (en) | Parity data management system apparatus and method | |
US5574874A (en) | Method for implementing a checkpoint between pairs of memory locations using two indicators to indicate the status of each associated pair of memory locations | |
JPH04205519A (ja) | データ復元中のライト方法 | |
JPH11272427A (ja) | データ退避方法および外部記憶装置 | |
JPH06202922A (ja) | 書き込みエラー検出用チェック・ビットの処理方法 | |
KR20040104391A (ko) | 멀티클러스터 스토리지 서브 시스템의 자체 파워 손실 복구 | |
Banatre et al. | Ensuring data security and integrity with a fast stable storage | |
JP2001134487A (ja) | ディスクアレイ装置 | |
CN115145697A (zh) | 数据库事务的处理方法、装置及电子设备 | |
US5675767A (en) | Method for verification and restoration of directories in CPU system managed store | |
CN112119380A (zh) | 带有旁路的奇偶校验记录 | |
US7814071B2 (en) | Apparatus, system, and method for maintaining dynamic persistent data | |
KR100204576B1 (ko) | 공통 블럭 레지스터 내장 메모리의 구조와 이를 이용한 그림자 페이지 회복 구조 및 회복 기법 | |
JPH06149485A (ja) | データ完結性保証処理方法 | |
EP3058461A1 (en) | Concurrently accessing memory | |
KR101969799B1 (ko) | 전자 장치 및 제어 방법 | |
JPH07319637A (ja) | ディスク装置の制御装置およびディスク装置の制御方 法 | |
JPH06131123A (ja) | 計算機の外部記憶装置 | |
KR19980037407A (ko) | 디스크 공유 병렬 데이타베이스 시스템에서의 이중면 비휘발성 메모리의 구조 및 이를 이용한 회복 방법 | |
JPH0259837A (ja) | データリカバリ処理方式 |
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 |