KR19980034995A - 공통 블럭 레지스터 내장 메모리의 구조와 이를 이용한 그림자 페이지 회복 구조 및 회복 기법 - Google Patents

공통 블럭 레지스터 내장 메모리의 구조와 이를 이용한 그림자 페이지 회복 구조 및 회복 기법 Download PDF

Info

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
Application number
KR1019960053211A
Other languages
English (en)
Other versions
KR100204576B1 (ko
Inventor
백영식
진성일
김용걸
Original Assignee
양승택
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 양승택, 한국전자통신연구원 filed Critical 양승택
Priority to KR1019960053211A priority Critical patent/KR100204576B1/ko
Publication of KR19980034995A publication Critical patent/KR19980034995A/ko
Application granted granted Critical
Publication of KR100204576B1 publication Critical patent/KR100204576B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1064Adding 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing 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. 데이타를 저장하기 위해 다수로 구성된 메모리 블럭과,
    상기 메모리 블럭을 외부의 신호에 따라 선택하여 블럭 쓰기/읽기 제어 논리 회로에 신호를 출력하는 디코더 및 선택 논리 회로와,
    상기 디코더 및 선택 논리 회로와 외부의 제어 신호를 입력하여 메모리 블럭과 공통 블럭 레지스터 사이의 블럭 쓰기/읽기를 제어하는 블럭 쓰기/읽기 제어 논리 회로와,
    상기 블럭 쓰기/읽기 제어 논리 회로의 제어 신호에 의해 메모리 블럭과 상호 블럭 쓰기/읽기를 수행하는 공통 블럭 레지스터와,
    상기 메모리 블럭에서 공통 블럭 레지스터로 쓰기를 수행할 때 패리티 에러 발생 유무를 검사하는 블럭 패리티 검사 논리 회로와,
    상기 메모리 블럭에서 블럭 복사를 수행할 경우 공통 블럭 레지스터보다 작은 단위의 블럭 복사를 가능하게 하는 블럭 크기 선택 논리 회로로 이루어진 것을 특징으로 하는 공통 블럭 레지스터 내장 메모리의 구조.
  2. 제 1 항에 있어서, 상기 다수의 메모리 블럭은 휘발성 셀 및 비휘발성 셀중 어느 하나로 이루어진 것을 특징으로 하는 공통 블럭 레지스터 내장 메모리의 구조.
  3. 프로세서 칩으로 구성된 데이타베이스 처리기와,
    상기 데이타베이스 처리기와 연결되어 데이타베이스 처리기의 동작 프로그램을내장한 메모리와,
    상기 데이타베이스 처리기와 데이타 쓰기/읽기를 수행하며, 블럭 쓰기 읽기 제어선, 블럭 크기 선택 제어선 및 블럭 패리티 상태 알림 제어선으로 연결된 공통 블럭 레지스터를 내장한 메모리로 이루어진 것을 특징으로 하는 공통 블럭 레지스터 내장 메로리를 이용한 그림자 페이지 회복 구조.
  4. 원래의 메모리 블럭을 공통 블럭 레지스터로 복사하는 단계와,
    상기 원래의 메모리 블럭이 복사된 공통 블럭 레지스터를 다른 영역의 메모리 블럭으로 복사하는 단계와,
    상기 복사된 다른 영역의 메모리 블럭을 공통 블럭 레지스터로 복사하는 단계와,
    상기 다른 영역의 메모리 블럭이 복사된 공통 블럭 레지스터에 제 1 패리티 에러 발생 유무를 검사하는 단계와,
    상기 제 1 패리티 에러 발생 유무의 검사 결과 패리티 에러가 발생한 경우 선택된 다른 영역의 메모리 블럭을 폐기한 후 원래의 메모리 블럭을 공통 블럭 레지스터로 복사하는 단계로 천이하는 단꼐와,
    상기 제 1 패리티 에러 발생 유무의 검사 결과 패리티 에러가 발생하지 않은 경우 원래의 메모리 블럭을 갱신하는 단계와,
    상기 원래의 메모리 블럭의 갱신 수행이 성공했는지를 검사하는 단계와,
    상기 갱신 수행 성공 여부의 검사 결과 갱신 수행이 성공한 경우 갱신된 메모리 블럭을 공통 블럭 메모리로 복사하는 단계와,
    상기 갱신된 메모리 블럭을 공통 메모리 블럭으로 복사한 후 제 2 패리티 에러 발생 유무를 검사하는 단계와,
    상기 제 2 패리티 에러 발생 유무의 검사 결과 패리티 에러가 발생하지 않은 경우 백업을 위해 사용되었던 다른 영역의 메모리 블럭의 사용을 해제하는 단계와,
    상기 다른 영역의 메모리의 블럭의 사용을 해제한 후 갱신 완료를 알리고 트랜잭션을 종료하는 단계와,
    상기 갱신 수행 성공 여부의 검사 결과 갱신 수행이 실패한 경우 백업된 다른 영역의 메모리 블럭을 공통 메모리 블럭으로 옮기는 단계와,
    상기 공통 메모리 블럭을 원래의 메모리 블럭으로 복사하는 단계와,
    상기 복사된 원래의 메모리 블럭을 공통 블럭 레지스터로 복사하는 단계와,
    상기 공통 블럭 레지스터의 제 3 패리티 에러 발생 유무를 검사하는 단계와,
    상기 제 3 패리티 에러 발생의 검사 결과 패리티 에러가 발생하지 않은 경우 트랜잭션 수행 실패를 알린 후 종료하는 단계와,
    상기 제 2 및 제 3 패리티 에러 발생의 검사 결과 패리티 에러가 발생한 경우 원래의 메모리 블럭을 폐기하는 단계와,
    상기 원래의 메모리 블럭을 폐기한 후 다른 메모리 블럭을 선택하여 원래의 메모리 블럭으로 대치하는 단계와,
    상기 원래의 메모리 블럭으로 대치된 다른 영역의 메모리 블럭에 백업된 원래의 내용을 공통 블럭 레지스터를 통하여 복사하는 단계와,
    상기 선택된 원래의 메모리 블럭을 공통 블럭 레지스터로 복사한 후 제 4 패리티 에러 발생 유무를 검사하는 단계와,
    상기 제 4 패리티 에러 발생 유무의 검사 결과 패리티 에러가 발생한 경우 원래의 메모리 블럭을 폐기하는 단계로 천이하는 단계와,
    상기 제 4 패리티 에러 발생 유무의 검사 결과 패리티 에러가 발생하지 않은 경우 트랜잭션 실패를 알린 후 종료하는 단계로 이루어진 것을 특징으로 하는 공통 블럭 레지스터 내장 메모리를 이용한 그림자 페이지 회복 기법.
KR1019960053211A 1996-11-11 1996-11-11 공통 블럭 레지스터 내장 메모리의 구조와 이를 이용한 그림자 페이지 회복 구조 및 회복 기법 KR100204576B1 (ko)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100365891B1 (ko) * 2000-12-13 2002-12-27 한국전자통신연구원 주기억장치 상주형 데이터베이스 시스템에서 로그 처리를하지 않는 백업/회복 장치 및 그 방법
KR101066783B1 (ko) * 2003-05-30 2011-09-21 마이크로소프트 코포레이션 새도우 페이징을 위한 데이터베이스에 액세스하는 방법, 컴퓨터 판독가능 저장 매체, 및 데이터베이스에 액세스하는 시스템

Cited By (2)

* Cited by examiner, † Cited by third party
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