KR950008834B1 - 전자식 금전등록기의 데이터 복구 방법 - Google Patents

전자식 금전등록기의 데이터 복구 방법 Download PDF

Info

Publication number
KR950008834B1
KR950008834B1 KR1019920021770A KR920021770A KR950008834B1 KR 950008834 B1 KR950008834 B1 KR 950008834B1 KR 1019920021770 A KR1019920021770 A KR 1019920021770A KR 920021770 A KR920021770 A KR 920021770A KR 950008834 B1 KR950008834 B1 KR 950008834B1
Authority
KR
South Korea
Prior art keywords
data
address
buffer
temporary
add
Prior art date
Application number
KR1019920021770A
Other languages
English (en)
Other versions
KR940012213A (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 KR1019920021770A priority Critical patent/KR950008834B1/ko
Publication of KR940012213A publication Critical patent/KR940012213A/ko
Application granted granted Critical
Publication of KR950008834B1 publication Critical patent/KR950008834B1/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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07GREGISTERING THE RECEIPT OF CASH, VALUABLES, OR TOKENS
    • G07G1/00Cash registers
    • G07G1/12Cash registers electronically operated

Abstract

내용 없음.

Description

전자식 금전등록기의 데이터 복구 방법
제1도는 일반적인 전자식 금전등록기의 하드웨어 블럭도.
제2도는 제1도의 키보드에 설치된 모드 선택 스위치의 외관을 나타내는 도면.
제3도는 본 발명에 따른 영구 저장 데이터 누적 가산 저장 흐름도.
제4도는 본 발명에 따른 램 데이터 복구 판정 및 데이터 복구 흐름도.
제5도는 본 발명에 따른 램 상주 데이터 버퍼의 구성도.
제6도는 본 발명에 따른 영구 메모리의 메모리 맵 구성도.
본 발명은 마이크로프로세서와 데이터 저장 메모리를 사용하는 전자기기의 데이터 복구 방법에 관한 것으로 특히, 영구저장 메모리를 가지는 전자식 금전등록기에서 누적된 중요 데이터를 복구하는 전자식 금전등록기의 데이터 복구 방법에 관한 것이다.
통상적으로 마이크로프로세서와 메모리등을 사용하는 시스템, 예를들면, 컴퓨터, 전자식 금전등록기등의 전자기기등은 주요한 데이터를 보관하기 위하여 데이터를 램에 저장 후 배터리 백업(Battery Back-up)을 하거나, 램에 저장된 데이터를 EEPROM등과 영구보존 메모리에 옮겨 데이터를 저장한다.
종래의 전자식 금전 등록기에서는 배터리 백업되는 램과 영구 메모리(EERPOM)를 이요하여 중요 데이터를 영구 보존토록 되어 있다. 이때, 전자식 금전 등록기에서 중요 데이터라 함은 매일 판매된 판매정보가 누적된 총판매 데이터(Grand Total : Grand TOL)와 이에 대한 총과세 데이터(TAX Ttoal : TAX TOL)이다. 그러나, 단순히 중요 데이터를 램(RAM)에 보관하고, 상기 램을 배터리에 의해(Back-up)하여 데이터를 보관하는 종래의 전자식 금전등륵기에서의 백업 방법은 저장된 중요 데이터가 틀려질 경우나 지워졌을 경우 데이터를 복구할 수 있는 방법이 없다.
또한 영구 메모리(EEPROM)를 채용하는 전자식 금전 등록기의 경우에도 영구 메모리가 아닌 휘발설 메모리, 예를들면, 다이나믹 램(DRAM)를 이용하여 데이터를 저장함으로써, 상기 램에 저장된 데이터가 지워지거나 틀려졌을 경우에 영구메모리(EEPROM) 자체를 교환해 주어야 하는 불편이 있었다. 또한, 데이터를 보관하는 영구 메모리(EEPROM)가 몰딩(Molding)되어 있어 이를 교환할 경우 상기 몰딩(Molding)부분을 해체 하여야 하는 문제가 발생된다. 이때 상기 영구 메모리의 몰딩 부분은 소비자가 아닌 전문업체나 국가기관등에서 교체되어져야 하므로 등록기의 신뢰성이 100% 보장되는 경우가 아닌 경우에는 등록기의 데이터가 틀어지는 경우가 필히 발생하게 된다. 심지어는 이런 상태가 발생할 경우 등록기의 데이터 복구가 되지 않을 경우 등록기를 사용할 수 없게끔 되는 경우도 있다.
영구 메모리의 저장 내용을 살펴보면, 영구 메모리에 등록기의 가장 중요한 누적치인 총판매 데이터(GRAND TOTAL)와 세금 내력이 저장되는데 등록기 내부의 램에 저장된 데이터가 지워질 경우 발생되는 내용을 살펴보면 다음과 같다.
<RAM DATA>
영구 메모리를 채용한 등록기의 경우 등륵기 내의 램에 저장된 데이터가 지워지거나 삭제될 경우 등록기에 데이터를 새로이 인스톨(Instal)하여 다시 사용할 수 있다 하더라도 영구 메모리의 데이터는 계속적인 누적된 금액 보관되어져야 하는데 이때 누적되어지는 데이터는 영구 메모리의 자체에서 누적되는 것이 아니라 등록기 내의 램에 저장된 데이터를 누적시키므로 상기와 같이 누적된 금액이 아니라 오히려 더 적은 금액이 저장되는 경우가 발생되는 문제가 발생된다. 따라서 어떤 금액이 정확한 것인지를 알 수 없어 영구 메모리가 있는 본래의 목적이 상실되는 문제가 발생한다.
따라서 본 발명의 목적은, 영구 메모리와 마이크로프로세서를 내장하는 전자기기에 있어서, 휘발성 저장영역에 저장되는 최종 누적치 데이터를 상기 영구 메모리에 백업 저장하고 상기 휘발성 저장 영역에 저장된 데이터가 상실시에 상기 백업된 데이터를 상기 휘발성 저장영역에 복구하는 방법을 제공함에 있다.
본 발명의 다른 목적은, 영구 메모리와 마이크로프로세서를 내장하는 전자식 금전등록기에 있어서, 휘발성 저장영역의 데이터가 상실시 이를 자동으로 복구하는 방법을 제공함에 있다.
본 발명의 또다른 목적은 휘발성 저장영역에 누적되는 중요 데이터를 영구 메모리에 백업 저장하는 방법을 제공함에 있다.
본 발명의 또다른 목적은, 영구 메모리에 백업 저장된 중요 누적 데이터를 휘발성 저장 영역에 복구하는 방법을 제공함에 있다.
이하 본 발명을 첨부한 도면을 참조하여 상세히 설명한다.
제1도는 금전등록기의 시스템 블럭 구성도로서, 모드 지정신호 및 금전등록을 위한 각종 키데이터를 발생하는 키보드(12)와, 상기 키보드(12)를 키스캔하며, 수신되는 키데이터에 따라 금전 등록기의 모드 지정및 지정 모드에서의 금전등록 기능을 수행하는 CPU(Central Processing Unit)(14)와, 상기 CPU(14)의 동작 프로그램을 저장하는 롬을 포함하고 있으며, 프로그램 수행중에 발생되는 데이터를 일시 저장하는 램(16a)으로 구성된 메모리(16)와, 상기 CPU(14)의 제어하에 금전거래에 관련되는 영수증을 발행하는 프린터(18)와, 상기 CPU(14)의 제어하에 금전거래에 관련된 정보를 표시하는 표시부(20)와, 상기 CPU(14)의 제어에 의해 데이터를 저장하고, 저장된 데이터를 출력하는 영구 저장된 데이터를 출력하는 영구 메모리(EEPROM)(22)로 구성된다.
제2도는 제1도중 키보드(12)내에 설치된 모드 스위치의 구성도로서, 금전등록기의 각종 모드(VOID, OFF, 등록, 점검, 정산, 프로그램)을 할 수 있도록 되어 있다.
제3도는 본 발명에 따른 영구 저장 데이터 누적 가산 저장 흐름도로서, 정산 모드 상태에서 정산키가 압력시에 내부 메모리 영역에 설정된 데이터 복구 실행플레그(Zok-flg)의 내용을 검색하여 데이터 복구 상태를 검색하는 데이터 복구 상태 검색 과정과, 상기 데이터 복구 상태 검색 과정에서 데이터의 복구가 미실행된 상태일 때 에러 처리하고, 데이터의 복구가 실행된 상태일시에 정산 모드를 수행하는 정산과정과, 상기 정산과정 수행후 누적된 총판매 데이터(Grand TOL)와 누적된 총과세 데이터(TAX-TOL)의 각각에 금일의 판매 데이터와 금일의 과세 데이터를 가산하고 어드레스 버퍼(EP-ADD)(EEPROM-Address Buffer)에 저장된 EEPROM의 어드레스에 상기 누적 가산된 총판매데이터(Grand TOL)와 총과세 데이터(TAX-TOL)를 저장하는 데이터 저장 과정과, 상기 어드레스 버퍼(EP-ADD)를 증가하고, 상기 증가된 어드레스를 가지는 어드레스 버퍼(EP-ADD)에 대응하는 EEPROM(22)의 어드레스의 위치에 블럭 구분자(Block delimiter)의 데이터 "EE"를 기록하는 백업 데이터 기록 과정과, 상기 백업 데이터 기록 과정 수행후 상기 어드레스 버퍼(EP-ADD)를 "+1"증가하고, 상기 데이터 복구 실행 플레그(Zok-flg)를 리세트(Reset)하는 어드레스 설정 과정으로 이루어진다.
제4도는 본 발명에 따른 램 데이터 복구 판정 및 데이터 복구 흐름도로서, 점검 모드하에서 입력되는 데이터 복구 신호에 응답하여 램상에 위치된 임시 어드레스 버퍼(Temp-ADD : Temporality-Address Buffer)를 클리어하고, EEPROM(22)의 저장 데이터를 검사하는 데이터 검사 과정과, 상기 데이터 검사과정 수행 후 상기 임시 어드레스 버퍼(Temp-ADD)의 어드레스를 1블럭 어드레스 단위 만큼씩 증가하고, 상기 증가된 EEPROM의 어드레스에 블럭 구분자의 데이터가 저장되어 있는지를 검색하는 블럭 구분자 탐색 과정과, 상기 블럭 구분자 탐색 과정에서 현재의 임시 어드레스 버퍼(Temp ADD)의 어드레스에 대응한 EEPROM의 어드레스에 저장된 데이터가 블럭 구분자가 아니라고 판단시 상기 임시 어드레스 버퍼(Temp-ADD)의 어드레스를 1블럭 어드레스만큼 감소하고, 상기 임시 어드레스 버퍼(Temp-ADD)가 "0"인가를 검색하는 데이터 기록 유무 검색 단계와, 상기 데이터 기록 유무 검색 단계에서 임시 어드레스버퍼(Temp-ADD)의 값이 "0"가 아니라고 판단시에 현재의 임시 어드레스 버퍼(Temp-ADD)의 값으로부터 7바이트에 해당하는 데이터의 내용을 제1임시버퍼(Temp-GND)에 저장함과 동시에 6바이트의 데이터 내용을 제2임시버퍼(Temp-TAX)에 저장하는(복구 데이터 리이드)과정과, 상기 데이터 기록 유무 검색 과정에서 임시 어드레스 버퍼(Temp-ADD)의 내용이 "0"라 판단시 상기 제1, 제2임시버퍼(Temp-GN)(Temp-TAX)를 클리어하는 초기 복구 과정과, 상기 복구 데이터 치이드 과정 또는 초기 복구 과정수행 후 상기 임시 어드레스 버퍼(Temp-ADD)와 어드레스 버퍼(EP-ADD)의 내용을 비교하여 두 값이 상이할 때 상기 임시 어드레스버퍼(Temp-ADD)의 어드레스 값을 상기 어드레스 버퍼(EP-ADD)에 저장하여 데이터 저장 어드레스를 복구하는 어드레스 복구 과정과, 상기 어드레스 복구 과정 수행 후 판매 버퍼(Grand-TOL)와 제1임시버퍼(Temp-END)의 내용을 비교하여 두 값이 다를 때 상기 제1임시버퍼(Temp-END)의 저장데이터를 상기 판매버퍼(Grand-TOL)에 저장하여 총판매 데이터를 복구하는 제1데이터 복구 과정과, 상기 제1데이터 복구 과정 수행 후 과세 버퍼(TAX-TOL)와 제2임시버퍼(Temp-TAX)의 내용을 비교하여 두 값이 다를 때 상기 제2임시버퍼(Temp-TAX)의 저장데이터를 상기 과세버퍼(TAL-TOL)에 저장하여 총과세 데이터를 복구하고 데이터 복구 실행 플러그(Zok-flg)를 클리어 하는 제2데이터 복구 과정으로 이루어진다.
제5도는 본 발명에 따른 램 상주 데이터 버퍼들의 구성도로서, 이는 전술한 제1도의 메모리(16)을 구성하고 있는 램(RAM) 영역에 설치된다. 제5도(A)와 (B)는 등록기의 램(RAM)상에서 현재까지의 판매된 누적치 금액을 갖는 정산시 발생된 총 판매데이터가 저장되는 판매버퍼(GRAND-TOL)와 과세 데이터가 저장되는 과세버퍼(TAX-TOL)를 나타낸 것이다. 제5도(C)는 어드레스 버퍼(EP-ADD)의 정산시 상기 판매버퍼(GRAND-TOL)와 과세버퍼(TAX-TOL)에 저장된 데이터가 저장되어질 EEPROM의 어드레스를 갖는 버퍼이다.
상기 제5도와 같은 각 버퍼들은 등록기의 램(RAM) 데이터가 틀어질 경우나, 하드웨어상의 문제로 인해 등록기의 램의 데이터를 모두 클리어(CLEAR)할 경우 상기의 판매버퍼(GRAND-TOL)와, 과세버퍼(TAX-TOL), 어드레스버퍼(EP-ADD)내용도 지워지거나 틀어져서 정상적인 정산 수행시 EEPROM에 누적되어 저장되어지는 데이터가 잘못될 수 있으며, 어드레스 버퍼(EP-ADD)가 잘못되었을 경우 영구 메모리(22)의 원치 않는 어드레스에 데이터를 저장하거나, 어드레스 버퍼(EP-ADD)가 영구 메모리(22)의 저장사이즈내(본 발명의 경우 000H-7FFFH)에 있지 않을 경우 영구 메모리에 데이터를 저장할 수 없게 되는 경우도 발생할 수 있다.
제6도는 본 발명에 따른 블럭당(BLOCK 당) 영구 메모리(22)의 메모리 맵(MEMORY MAP)으로, 총판매데이터 저장영역을 가지는 판매버퍼(Gramd-TOL)와, 구분자(Delimiler) 인 "EE"를 저장하는 1byte로 총 14byte로 구성되어 있다.
이하 본 발명에 따른 실시예의 동작을 상술한 도면을 참조하여 상세히 실명한다. 우선 영구 메모리를 채용한 전자식 금전등록기의 데이터 저장 동작을 설명한다.
전자식 금전 등록기는 발생 데이터중 누적치를 갖는 중요한 요소들은 영구 메모리(EEPROM)(22)에 보관하며, 이들 데이터를 영구 메모리(22)로부터 읽어 데이터를 확인한다. 즉, 금일판매 활동 마감후 등록된 데이터를 "정산"하는 시점에서 누적된 데이터를 영구 메모리(22)에 기록시켜두고 필요 시점에서 영구 메모리의 내용을 출력하여 확인한다. 이때 영구 메모리(22)의 저장위치를 가지고 다니는 어드레스버퍼(EP-ADD)가 클리어 또는 정확한 값을 가지지 못할 경우 정산 시점에서 영구 메모리의 저장 위치를 알 수 없게 되며 등록기의 누적 데이터가 손실되거나 지워질 경우에는 누적치가 먼저번 보다 적어져 정확한 누적치가 되지 않는 경우가 발생한다.
본 발명에서는 등록시 발생되는 총판매데이터는 제5도와 같이 구성되는 판매버퍼(GRAND TOTAL)에 저장되고, 총과세데이터는 과세버퍼(TAX TOTAL)에 저장되며 이들 두버퍼의 데이터는 영구 메모리에 저장하게 되며, 이 누적치는 매일 정산시점에서 먼저 생성된 누적치에 금일 판매된 누적치를 더해 영구 메모리에 저장하게 된다.
먼저 생성된 누적치가 손실되거나 지워졌을 경우 영구 메모리(22)에 저장되는 누적치는 금일 판매된 누적치만 저장되게 되어 영구 메모리에 앞서 저장된 내용보다 적은 누적치가 저장되게 된다.
이러한 문제를 해결하기 위해 본 발명은 먼저번 영구 메모리(22)에 저장된 누적치를 등록기내 램(16a)영역에 있는 지워진 먼저번 누적치에 복구하여 놓고 정산하게 되면 금일 판매 내용과 복구된 먼저번 누적치와 합산하여 정확한 누적치를 생성, 저장하게 되며 복구시 영구 메모리의 최근 데이터의 다음 어드레스를 찾아 손실된 램(16a)내의 저장위치를 가지고 다니는 어드레스버퍼(EPADD)에 EEPROM(22)이 복구시켜 다음 정산시 정확한 위치에 누적치들을 저장할 수 있게 하였다.
지금, 제5도와 같은 판매버퍼(Grand-TOL)와 과세버퍼(TAX-TOL)에는 총판매데이터와 총과세데이터가 저장되어 있고, 어드레스버퍼(EP-ADD)에는 EEPROM(22)의 어드레스가 저장되어 있다고 가정하에 총누적데이터가 상기 EEPROM(22)에 저장되는 과정을 설명한다.
사용자가 모드 스위치를 정산모드로 선택하여 정산키를 입력하면, CPU(14)는 정산모드에서 정산키가 입력되었다고 판단한다(20,22과정). 이때 상기 CPU(14)는 램(16a) 영역에 설정된 데이터를 검색하여 복구실행 플레그(Zok-flg)의 상태를 검색한다(24과정). 상기 24과정에서 데이터 복구 실행프레그(Zok-flg)가 "1"이라고 판단되는 경우, 즉 램데이터 복구 판정 루틴이 수행되었다면, 상기 CPU(14)는 일반적인 정산동작을 수행후(26과정), 누적치의 값을 저장하고 있는 판매버퍼(GRAND-TO1)와 과세버퍼(TAX-TOL)에 저장된 데이터에 금일 판매데이터 및 과세데이터를 각각 가산하여 총판매 데이터와 종과세 데이터를 새로이 생성한다(28과정).
그리고, 상기 CPU(14)는 후술한 램데이터 복구 판정 루틴에서 비교하여 복구된 어드레스버퍼(EP-ADD)를 이용하여 EEPROM(22)의 어드레스를 탐색하고(30과정), 상기 탐색된 어드레스에 13byte의 총판매데이터와 총과세데이터 저장한다(34과정). 상기의 과정에서 누적된 데이터를 어드레스 버퍼(EP-ADD)가 지정하는 EEPPROM(22)의 어드레스에 저장한 CPU(14)는 상기 어드레스버퍼(EP-ADD)를 13증가하고(34과정), 상기 증가된 어드레스에 블럭구번자인 "EE"를 EEPROM(22)한다(36과정). 상기의 동작을 수행한 CPU(14)는 어드레스버퍼(EP-ADD)의 값을 +1하고(38과정), 다음 정산시 램데이터 복구 판정 루틴을 수행시키기 위해 데이터 복구 실행 플레그(Zok-flg)를 클리어한 후(40과정) 종료한다.
따라서 상기한 제3도의 동작에 의해 제5도와 같은 버퍼를 가지는 램(16a)의 정산된 데이터 즉, 새로운 누적치들은 EEPROM(22)에 자동 저장된다. 상기와 같이 자동저장된 램(16a)의 저장 데이터가 상실되었을때 복구과정은 다음과 같다.
제4도의 램데이터 복구 판정 및 데이터 복구는 점검모드에서 행해진다. 점검모드에서 데이터 복구키가 입력되면(43 및 44과정), CPU(14)는 임시로 EEPROM(22)의 최정 기억어드레스를 가지는 임시 어드레스버퍼(TEM-ADD)을 "0"으로 클리어시키고 EEPROM(22)의 데이터를 검사한다(46,48과정) [상기에서 임시 어드레스 버퍼(Temp-ADD)는 램상에 설정된 것임]. 그리고 상기 CP(14)는 상기 임시어드레스버퍼(Temp-ADD)에 13을 로드하고(제50과정), 제6도와 같은 맵으로된 EEPROM(22)의 각 블럭별 14번째 바이트의 저장 데이터가 "EE"인지를 검색한다(52과정), 상기 검색 결과 14번째의 데이터가 "EE"일 경우CPU(14)는 현재 데이터가 저장되어 있다고 판단하고 다음 블럭을 체크한다(54과정).
만약 상기 과정에서 각 블럭별 14번째의 데이터 내용이 "EE"가 아닐 경우 상기 CPU(14)는 이 블럭에 데이터가 저장되어 있지 않다고 판단하고 앞선 블럭의 시작어드레스(START ADDRESS)를 찾기 위해 임시 어드레스 버퍼(TEMP-ADD)를 13byte만큼을 감소하여(56과정)(이 블럭이 최종으로 저장된 데이터임)데이터를 검사하게 된다. 상기와 같이 임싱드레스버퍼(Temp ADD)를 13바이트 감소한 CPU(14)는 임시어드레스 버퍼(TEMP-ADD)의 내용을 체크한다(58과정). 상기 과정에서 임시 어드레스 버퍼(TEMP-ADD)의 채크결과 "0"일 경우 EEPROM(22)에 한번도 데이터를 저장한 적이 없는 경우라 판단한다. 이때 CPU(14)는 램(16a)내의 데이터와 비교하기 위한 제1임시버퍼 (TEMP-GND)와 제2임시버퍼(TEMP-TAX)에 "0"을 넣고(60과정), 복구판정 루틴인 70과정으로 점프하며, 임시어드레스버퍼(TEMP-ADD)가 "0"가 아닌 경우 CPU(14)는 해당 블럭의 시작(START) 위치에서 6byte를 리이드하여 제1임시버퍼(TEMP-GND)에 다음 6byte를 리이드하여 제2임시버퍼(TEMP-TAX)에 저장한 후(62과정∼68과정)복구 판정(70과정)를 하게 한다.
즉, CPU(14)는 지금까지 누적해온 임시 어드레스 버퍼(TEMP-ADD)와 어드레스 버퍼(EP-ADD)를 비교해서 같지않을 경우(70과정, 램(16a)상에 위치된 어드레스버퍼(EP-ADD)가 잘못된 것이라 판단하고, 임시 어드레스버퍼(TEMP-ADD)로 어드레스버퍼(EP-ADD)를 복구하고 (72과정), (이때 EEPROM에 지정되어지는 NEXT EEPROM ADDRESS), 제1임시버퍼(TEMP-GND)와 램(16a)내의 판매 버퍼(GRAND-TOL)에 저장된 총판매 데이터와, 제2임시버퍼(TEMP-TAX)의 내용 및 램(16a)에서 설정된 과세버퍼(TAX-TOL)에 저장된 총과세데이터와 비교하여 각각 같지 않을 경우 데이터를 복구시킨다(74∼80과정). 그리고 CPU(14)는 루틴을 수행했다는 것을 나타내기 위해 복구 판정 실행 플레그(Zok-flg)를 "1"세트시키고 종료하게 한다. 상기한 제4도와 같은 루틴의 동작을 수행후 정산 동작을 하게 되면 정확한 누적치에 금일 판매된 금액과 합산하여 정확히 복구된 어드레스 데이터를 저장하게 할 수 있다.
상술한 바와 같이 본 발명을 영구 메모리 채용 등록기에서 등록기의 데이터 손실시 영구 메모리에 저장되는 누적치가 적게 저장되거나 데이터 손실시 발생되는 영구 메모리(EEPROM)의 교체 작업을 방지하여 등록기의 신뢰성을 제고하며 품질 향상을 높히며 정확한 데이터 관리로 인한 정보의 신뢰도를 높힐 수 있다.

Claims (7)

  1. 마이크로프로세서와, 복수상태를 나타내는 복구상태 실행 플레그와 영구메모리의 최종기록 어드레스를 저장하는 어드레스 버퍼(EP-ADD)와 제1 및 제2데이터를 기록하는 제1및 제2버퍼를 가지는 데이터 저장 메모리와, 영구 메모리를 사용하는 전자기기의 데이터 복구 방법에 있어서, 정산 모드 상태에서 정산키가 입력시 마다 상기 어드레스 버퍼가 지정하는 영구 메모리의 어드레스에 누적된 제1데이터 및 제2데이터를 순차 저장하고, 상기 어드레스 버퍼에 저장된 어드레스를 하나의 블럭구간만큼 증가하여 블럭구분자를 기록하며, 상기 어드레스 버퍼의 어드레스를 증가시키는 데이터 누적기록 과정과, 데이터 복구키의 입력에 응답하여 상기 영구 메모리의 어드레스를 지정하는 임시 어드레스 버퍼의 내용을 초기화하고, 상기 임시 어드레스 버퍼의 어드레스를 블럭 단위로 증가하여 현재의 데이터가 블럭 구분자인가를 검색하는 블럭 구분자검출과정과, 상기 블록 구분자 검출과정에서 현재의 데이터가 블럭 구분자가 아니라고 판단시 상기 임시 어드레스 버퍼의 어드레스를 블럭 구간만큼 감소하고, 초기화 어드레스인가를 검색하여 초기화 어드레스일때 제1임시버퍼와 제2임시 버퍼를 클리어하는 데이터 기록 유무 검색과정과, 상기 데이터 기록 유무 검색과정에서 상기 임시 어드레스 버퍼의 어드레스가 초기화 어드레스가 아니라고 판단시 상기 임시어드레스 버퍼의 내용으로 부터 블럭의 데이터 내용을 읽어 제1데이터와 제2데이터를 제1, 제2임시버퍼에 각각 저장하는 데이터 저장과정과, 상기 어드레스 버퍼에 상기 임시어드레스 버퍼의 어드레스를 저장하여 어드레스를 복구하는 어드레스 복구과정과, 상기 제1, 제2임시버퍼에 각각 저장된 제1, 제2데이터를 상기 메모리에 설정된 제1, 제2버퍼에 각각 로딩하는 데이터 복구과정으로 이루어짐을 특징으로 하는 방법.
  2. 제1항에 있어서, 상기 데이터 누적 기록 과정은, 내부 메모리 영역에 설정된 데이터 복구 실행 플레그의 내용을 검색하여 데이터 복구 상태를 검색하는 데이터 복구 상태 검색 과정과, 상기 데이터 복구 상태검색 과정에서 데이터의 복구가 미실행된 상태일 때 에러 처리하고, 데이터의 복구가 실행된 상태일시에 정산 모드를 수행하는 정산과정과, 상기 정산과정 수행 후 누적된 제1데이터와 누적된 제2데이터의 각각에 현재의 제1데이터와 현재의 제2데이터를 가산하고, 어드레스 버퍼(EP-ADD)에 저장된 영구 메모리의 어드레스에 상기 누적 가산된 제1, 제2데이터를 저장하는 데이터 저장 과정과, 상기 어드레스 버퍼(EP-ADD)를 증가하고, 상기 증가된 어드레스를 가지는 어드레스 버퍼(EP-ADD)에 대응하는 영구 메모리의 어드레스의 위치에 블럭 구분자의 데이터를 기록하는 백업 데이터 기록 과정과, 상기 백업 데이터 기록과 정수행 후 상기 어드레스 버퍼(EP-ADD)를 +증가하고, 상기 데이터 복구 실행 플레그를 리세트하는 어드레스 설정 과정으로 이루어짐을 특징으로 하는 방법.
  3. 제2항에 있어서, 상기 블럭 구분자 검출과정은, 정검 모드상태에서 입력되는 데이터 복구신호에 응답하여 상기 데이터 저정 메모리상에 위치된 임시 어드레스 버퍼(Temp-ADD)를 클리어하고, 상기 영구 메모리의 저장 데이터를 검사하는 데이터 검사 과정과, 상기 데이터 검사 과정 수행후 상기임시 어드레스 버퍼(Temmp-ADD)의 어드레스를 1블럭 어드레스 단위 만큼씩 증가하고, 상기 증가된 영구 메모리의 어드레스에 블럭 구분자의 데이터가 저장되어 있는지를 검색하는 블럭 구분자 탐색 과정으로 이루어짐을 특징으로 하는 방법.
  4. 제3항에 있어서, 상기 데이터 기록 유무 검색과정은, 상기 블럭 구번자 탐색 과정에서 현재의 임시 어드레스 버퍼(Temp ADD)의 어드레스에 대응한 영구 메모리의 어드레스에 저장된 데이터가 블럭 구분자가 아니라고 판단시 상기 임시 어드레스 버퍼(Temp-ADD)의 어드레스를 1블록 어드레스만큼 감소하고, 상기 임시 어드레스 버퍼(Temp-ADD)가 "0"인가를 검색하는 데이터 기록 유무 검색 단계와, 상기 데이터 기록 유무 검색 과정에서 임시 어드레스 버퍼(Temp-ADD)의 내용이 "0"라 판단시 상기 제1, 제2임시버퍼(Temp-GND)(Temp-TAX)를 클리어하는 초기 복구 과정으로 이루어짐을 특징으로 하는 방법.
  5. 제4항에 있어서, 상기 데이터 저장과정은, 상기 데이터 기록 유무 검색 단계에서 임시 어드레스 버퍼(Temp-ADD)의 값이 "0"가 아니라고 판단시에 현재의 임시 어드레스 버퍼(Temp-ADD)의 값으로부터 7바이트에 해당하는 데이터의 내용을 제1임시버퍼(Temp-GND)에 저장하고 상기 임시어드레스 버퍼의 어드레스를 7바이트의 구간만큼 증가하는 제1데이터 저장과정과, 상기 증가된 임시어드레스로부터 6바이트의 데이터 내용을 제2임시버퍼(Temp-TAX)에 저장하고, 상기 임시어드레스 버퍼의 어드레스를 6바이트의 구간만큼 증가하는 제2데이터 저장과정으로 이루어짐을 특정으로 하는 방법.
  6. 제5항에 있어서, 상기 어드레스 복구과정은, 상기 복구 데이터 리이드 과정 또는 초기 복구 과정 수행후 상기 임시 어드레스 버퍼(Temp-ADD)와 어드레스 버퍼(EP-ADD)의 내용을 비교하여 두 값이 상이할 때 상기 임시 어드레스버퍼(Temp-ADD)의 어드레스 값을 상기 어드레스버퍼(EOP-ADD)에 저장하여 데이터 저장 어드레스를 복구함을 특징으로 하는 방법.
  7. 제6항에 있어서, 상기 데이터 복구과정은, 상기 어드레스 복구 과정 수행 후 제1버퍼와 제1임시버퍼(Temp-END)의 내용을 비교하여 두 값이 다를 때 상기 제1임시버퍼(Temp-END)의 저장데이터를 상기 제1버퍼에 세이브하여 제1데이터를 복구하는 제1데이터 복구 과정과, 상기 제1데이터 복구 과정 수행후 제2데이터 버퍼와 제2임시버퍼(Temp-TAX)의 내용을 비교하여 두 값이 다를 때 상기 제2임시버퍼(Temp-TAX)의 저장데이터를 상기 제2데이터버퍼에 세이브하여 총과세 데이터를 복구하고 데이터 복구 실행 플러그(Zok-flg)를 클리어 하는 제2데이터 복구 과정으로 이루어짐을 특징으로 하는 방법.
KR1019920021770A 1992-11-19 1992-11-19 전자식 금전등록기의 데이터 복구 방법 KR950008834B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019920021770A KR950008834B1 (ko) 1992-11-19 1992-11-19 전자식 금전등록기의 데이터 복구 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019920021770A KR950008834B1 (ko) 1992-11-19 1992-11-19 전자식 금전등록기의 데이터 복구 방법

Publications (2)

Publication Number Publication Date
KR940012213A KR940012213A (ko) 1994-06-23
KR950008834B1 true KR950008834B1 (ko) 1995-08-08

Family

ID=19343435

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019920021770A KR950008834B1 (ko) 1992-11-19 1992-11-19 전자식 금전등록기의 데이터 복구 방법

Country Status (1)

Country Link
KR (1) KR950008834B1 (ko)

Also Published As

Publication number Publication date
KR940012213A (ko) 1994-06-23

Similar Documents

Publication Publication Date Title
KR100343377B1 (ko) 비-휘발성메모리에의데이타기입
US6535997B1 (en) Data integrity in smartcard transactions
CN101243417B (zh) 非易失性存储装置、存储控制器以及不良区域检测方法
US5632027A (en) Method and system for mass storage device configuration management
JP2846739B2 (ja) Eepromメモリの安全更新方法
WO2000019317A1 (en) Protection of boot block code while allowing write accesses to the boot block
JP3268130B2 (ja) フラッシュeepromを用いたデータ処理装置
CN100437504C (zh) 硬盘数据备份系统及方法
US5675727A (en) Difference recording apparatus having a processing unit, recording unit, log update section, and log comparator using a classification key in a log of input data
JP2002544590A (ja) リングメモリ用ポインタの安全書込方法
US8386539B2 (en) Variable length data storage device, variable length data storage method, variable length data reading method, and a program for the same
EP1191426A2 (en) Power failure managing method and power failure managing device
KR950008834B1 (ko) 전자식 금전등록기의 데이터 복구 방법
EP1510924B1 (en) Apparatus and method for handling transactions with writes and reads to EEPROM or Flash memories
JP3675375B2 (ja) 不揮発性メモリ並びに不揮発性メモリのデータ書き換え方法
CN114300026A (zh) 一种单调计数器、计数方法、电子设备及存储介质
JPH08227372A (ja) データ処理装置
JP2002318732A (ja) 復電時のファイル処理装置およびファイル処理方法
JPS62245348A (ja) データベース更新方法
US20070274302A1 (en) Data Storage Device, Memory Managing Method, and Program
US7849279B2 (en) Method for the secure updating data areas in non volatile memory, device to perform such a method
JP2001084180A (ja) ファイル管理装置
JP3284929B2 (ja) 自動販売機
US7313648B2 (en) Corruption tolerant method and system for deploying and modifying data in flash memory
JP2822869B2 (ja) ライブラリファイル管理装置

Legal Events

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

Payment date: 20080730

Year of fee payment: 14

LAPS Lapse due to unpaid annual fee