KR100746198B1 - 데이터 저장장치, 데이터 저장방법, 및 그 기록매체 - Google Patents

데이터 저장장치, 데이터 저장방법, 및 그 기록매체 Download PDF

Info

Publication number
KR100746198B1
KR100746198B1 KR1020050061897A KR20050061897A KR100746198B1 KR 100746198 B1 KR100746198 B1 KR 100746198B1 KR 1020050061897 A KR1020050061897 A KR 1020050061897A KR 20050061897 A KR20050061897 A KR 20050061897A KR 100746198 B1 KR100746198 B1 KR 100746198B1
Authority
KR
South Korea
Prior art keywords
data
transaction
area
backup
nonvolatile memory
Prior art date
Application number
KR1020050061897A
Other languages
English (en)
Other versions
KR20070006502A (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 KR1020050061897A priority Critical patent/KR100746198B1/ko
Priority to US11/330,993 priority patent/US20070011416A1/en
Priority to DE102006014557A priority patent/DE102006014557A1/de
Publication of KR20070006502A publication Critical patent/KR20070006502A/ko
Application granted granted Critical
Publication of KR100746198B1 publication Critical patent/KR100746198B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • 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/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1443Transmit or communication errors

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

데이터 저장장치, 데이터 저장방법, 및 그 기록매체가 개시된다. 상기 데이터 저장장치는 메모리, 비휘발성 메모리, 및 트랜잭션 관리모듈을 구비한다. 상기 메모리는 소스 데이터를 저장하고, 상기 비휘발성 메모리는 백업 영역을 구비한다. 상기 트랜잭션 관리 모듈은 초기화여부 또는 원자성 트랜잭션의 종료여부를 판단하고, 초기화되거나 상기 원자성 트랜잭션이 종료된 경우 상기 비휘발성 메모리의 백업 영역에 저장된 데이터의 전부를 삭제한 후, 또는 상기 백업 영역에 저장된 데이터를 페이지 단위로 삭제한 후 상기 메모리에 저장된 소스 데이터를 상기 백업 영역에 백업하는 것을 제어한다. 상기 데이터 저장방법은 상기 데이터 저장장치에 의하여 수행된다.
트랜잭션, 원자성 트랜잭션, 스마트 카드

Description

데이터 저장장치, 데이터 저장방법, 및 그 기록매체{Apparatus and method for storing data, and readable recording medium thereof}
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 종래의 데이터 갱신과 데이터 백업을 설명하기 위한 개념도이다.
도 2는 본 발명에 따른 트랜잭션 관리 모듈을 구비하는 스마트 카드의 블록도를 나타낸다.
도 3a 및 도 3b는 본 발명에 따른 데이터 갱신과 데이터 백업을 설명하기 위한 개념도이다.
도 4는 본 발명에 따른 데이터 저장방법을 설명하기 위한 흐름도이다.
본 발명은 데이터 저장장치와 저장방법에 관한 것으로, 보다 상세하게는 비휘발성 메모리에 데이터를 저장(또는 백업)하기 위한 시간을 감소시킬 수 있는 데이터 저장장치와 데이터 저장방법에 관한 것이다.
데이터 저장장치에 사용되는 비휘발성 메모리, 특히 스마트 카드와 같은 모 바일 시스템의 비휘발성 메모리로서 EEPROM(electrically erasable programmable read-only memory)이 주로 사용된다.
스마트 카드에서 트랜잭션(transaction)은 한 단위(예컨대, 64바이트 또는 128바이트)로 비휘발성 메모리, 예컨대 EEPROM에 저장된 데이터를 갱신(update)하는 것을 의미한다. 본 명세서에서 갱신이란 데이터 갱신과 데이터 백업을 포함하며, 상기 데이터 갱신과 상기 데이터 백업 각각은 데이터 삭제(erase)와 데이터 기입(write)으로 구성된다.
한번의 트랜잭션이 N(N은 자연수)회의 데이터 갱신과 N회의 데이터 백업으로 구성되는 경우, 상기 데이터 백업은 목적지 영역(destination area)에 저장된 데이터를 트랜잭션 영역(transaction area, 또는 '백업 영역'이라고도 함)으로 백업하는 것을 의미하고, 상기 데이터 갱신은 상기 목적지 영역에 저장된 데이터가 소스 영역(source area)에 저장된 데이터로 갱신되는 것을 의미한다.
상기 데이터 백업과 상기 데이터 갱신이 각각 수행될 때마다 목적지 영역과 백업 영역에는 이전의 데이터가 존재할 수 있으므로, 상기 목적지 영역과 상기 백업 영역에 저장된 이전의 데이터를 삭제하는 데이터 삭제와 데이터가 삭제된 영역에 새로운 데이터를 기입하는 데이터 기입이 순차적으로 수행된다.
따라서 N회의 데이터 백업과 데이터 갱신으로 구성된 트랜잭션에서는 적어도 N회의 데이터 삭제와 N회의 데이터 기입을 필요로 하므로, 데이터 백업에 많은 시간이 소요되는 문제점이 있다.
따라서 본 발명이 이루고자 하는 기술적인 과제는 스마트 카드와 같은 모바일 시스템에서 데이터 백업에 소요되는 시간을 줄일 수 있는 데이터 저장장치, 데이터 저장방법, 및 상기 저장방법을 기록한 기록매체를 제공하는 것이다.
상기 기술적 과제를 달성하기 위한 데이터 저장장치는 메모리, 비휘발성 메모리, 및 트랜잭션 관리모듈을 구비한다. 상기 메모리는 소스 데이터를 저장하고, 상기 비휘발성 메모리는 백업 영역을 구비한다. 상기 트랜잭션 관리 모듈은 초기화여부 또는 원자성 트랜잭션의 종료여부를 판단하고, 초기화되거나 상기 원자성 트랜잭션이 종료된 경우 상기 비휘발성 메모리의 백업 영역에 저장된 데이터의 전부를 삭제한 후 또는 상기 백업 영역에 저장된 데이터를 페이지 단위로 삭제한 후 상기 메모리에 저장된 소스 데이터를 상기 백업 영역에 저장하는 것을 제어한다.
상기 기술적 과제를 달성하기 위한 비휘발성 메모리에 데이터를 백업하는 방법은 트랜잭션이 종료된 경우, 트랜잭션 플래그를 오프(OFF)로 설정하는 단계; 및 트랜잭션 영역에 저장된 데이터의 전부를 삭제하거나, 상기 트랜잭션 영역에 저장된 데이터를 페이지 단위로 삭제하는 단계를 구비한다.
상기 비휘발성 메모리에 데이터를 백업하는 방법은 상기 트랜잭션 플래그를 온(ON)으로 설정하는 단계; 및 소스 데이터를 상기 트랜잭션 영역에 저장하는 단계를 더 구비한다.
상기 기술적 과제를 달성하기 위한 비휘발성 메모리에 데이터를 저장하는 방법은 스마트 카드 시스템의 초기화여부 또는 원자성 트랜잭션의 종료여부를 판단하 는 단계, 상기 시스템이 초기화되거나 상기 원자성 트랜잭션이 종료된 경우, 백업 영역에 저장된 데이터의 전부를 삭제하는 단계, 및 소스 데이터를 상기 백업 영역에 저장하는 단계를 구비한다.
또는 상기 비휘발성 메모리에 데이터를 저장하는 방법은 백업 영역에 저장된 데이터를 페이지 단위로 삭제한 후 데이터 백업을 통하여 대응되는 소스 데이터를 상기 백업 영역의 대응되는 영역에 백업한다. 상기 기술적 과제를 달성하기 위한 기록매체는 상기 비휘발성 메모리에 데이터를 저장하는 방법을 저장한다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 종래의 데이터 갱신과 데이터 백업을 설명하기 위한 개념도이다. 도 1을 참조하면, 각 데이터 갱신(UD_EA1, UD_EA2, UD_EA3,..., UD_EAN, N은 자연수)에서 메모리(10)의 목적지 영역(16)의 각 영역(18_1, 18_2, 18_3,..., 18_N)에 저장된 각 데이터는 소스 영역(12)의 대응되는 영역(14_1, 14_2, 14_3,..., 14_N)에 저장된 각 소스 데이터(SD1, SD2, SD3,..., SDN)에 의하여 갱신된다.
즉, 각 영역(18_1, 18_2, 18_3,..., 18_N)에 저장된 각 데이터는 삭제(erase; E) 후 기입(write; W)을 통하여 소스 데이터(SD1, SD2, SD3,..., SDN)로 각각 갱신된다. 여기서 소스 영역(12)은 RAM, ROM, 또는 EEPROM으로 구현될 수 있고, 목적지 영역(16)과 백업 영역(22)은 비휘발성 메모리로 구현될 수 있다.
데이터 백업(DBU_EA1)에서 영역(24_1)에 저장된 데이터는 삭제(E1)된 후 영역(18_1)에 저장된 데이터로 백업(W1)되고, 데이터 백업(DBU_EA2)에서 영역(24_2)에 저장된 데이터는 삭제(E2)된 후 영역(18_2)에 저장된 데이터로 백업(W2)되고, 데이터 백업(DBU_EA3)에서 영역(24_3)에 저장된 데이터는 삭제(E3)된 후 영역(18_3)에 저장된 데이터로 백업(W3)되고, 데이터 백업(DBU_EAN)에서 영역(24_N)에 저장된 데이터는 삭제(EN)된 후 영역(18_N)에 저장된 데이터로 백업(WN)된다.
즉, 각 영역(24_1, 24_2, 24_3,..., 24_N)에 저장된 데이터를 삭제하는데 소요되는 시간이 T이고, 각 영역(24_1, 24_2, 24_3,..., 24_N)으로 백업될 데이터가 기입되는데 소요되는 시간이 T인 경우, 각 영역(24_1, 24_2, 24_3,..., 24_N)에 대응되는 영역(18_1, 18_2, 18_3,...,18_N)의 데이터가 백업되는데 소요되는 총 시간은 2T이다. 만일, N개의 영역에서 순차적으로 데이터 백업이 이루어지는 경우, 상기 데이터 백업에 소요되는 총시간은 2T*N이다.
애플릿, 예컨대 자바 애플릿이 수행되면서 N회의 데이터 백업이 발생되는 경우, 데이터 백업의 횟수와 시간은 표1에 도시된 바와 같다.
트랜잭션 처리중임을 알리는 플래그(flag)를 온(ON)으로 세팅하는 경우에도 비휘발성 메모리에 저장된 기존 데이터를 삭제하는 데이터 삭제(T가 소요됨)와 데이터가 삭제된 상기 비휘발성 메모리에 새로운 데이터를 기입하는 데이터 기입(T가 소요됨)이 필요하므로, 트랜잭션 플래그를 온(ON)으로 세팅하는데 소요되는 시간도 2T이다.
그리고, 상기 트랜잭션이 종료됨을 알리는 플래그를 오프(OFF)로 세팅하는 경우에도 상기 플래그를 저장하는 비휘발성 메모리에 저장된 기존 데이터를 삭제하는 데이터 삭제와 상기 비휘발성 메모리에 새로운 데이터를 기입하는 데이터 기입이 필요하므로, 상기 트랜잭션 플래그를 오프(OFF)로 세팅하는데 소요되는 시간도 2T이다. 따라서 비휘발성 메모리들로 구현된 백업 영역(22)에서 N회의 데이터 백업이 수행되는 경우, 총 소요시간은 4T+N(2T) = 2T(2+N)이다.
시행 프로세스 데이터 백업 횟수(동작) 총 소요시간
트랜잭션 플래그 온 1 (삭제+기입) 2T
데이터 백업 N (삭제+기입) N*(2T)
트랜잭션 플래그 오프 1 (삭제+기입) 2T
총 소요시간 4T+N*(2T) = 2T*(2+N)
도 2는 본 발명에 따른 트랜잭션 관리 모듈을 구비하는 스마트 카드의 블록도를 나타낸다.
도 2를 참조하면 스마트 카드와 같은 데이터 저장장치(30)는 소스 데이터를 저장하기 위한 메모리(10), 백업 영역(22)을 구비하는 비휘발성 메모리(20), 및 스마트 카드 시스템의 초기화여부 또는 원자성 트랜잭션(atomicity transaction)의 종료여부를 판단하고, 상기 시스템이 초기화되거나 상기 원자성 트랜잭션이 종료된 경우 상기 비휘발성 메모리(20)의 백업 영역(22)에 저장된 데이터의 전부를 한번에 삭제한 후 상기 메모리(10)에 저장된 소스 데이터를 상기 백업 영역(22)에 기입하는 것을 제어하기 위한 트랜잭션 관리 모듈(32)을 구비한다.
스마트 카드(30)는 자바 애플릿을 수행시키기 위한 자바 가상머신(Java virtual machine; 미도시), 자바 가상 머신으로 인해 카드 운영 체계가 어떤 언어로 만들어 졌는지에 무관하게 되므로 카드 애플릿과 상기 카드 운영 체계를 연결하기 위한 네이티브 인터페이스(native interface; 미 도시), 스마트 카드 운영 체계에 속하며, 본 발명에 따른 트랜잭션을 처리하기 위한 트랜잭션 관리 모듈(32), 소정의 메모리의 사용을 관리하는 메모리 관리모듈(미 도시), 스마트 카드의 하드웨어와 소정의 데이터를 주고받기 위한 디바이스 드라이버(미 도시)와 유용한 유틸리티들이 저장되어 있는 유틸리티 및 디바이스 드라이버(미도시), 및 암호화와 복호화를 관리하는 암복호화 모듈(미도시)을 구비한다.
도 3a 및 도 3b는 본 발명에 따른 데이터 갱신과 데이터 백업을 설명하기 위한 개념도이다. 도 3a를 참조하면, 백업 영역(22)을 구성하는 각 영역(24_1, 24_2, 24_3,..., 24_N)에 저장된 데이터는 실질적으로 동시에 한번에 삭제된다. 따라서 각 영역(24_1, 24_2, 24_3,..., 24_N)에 저장된 데이터를 삭제하는데 소요되는 시간이 T인 경우, 백업 영역(22)에 저장된 모든 데이터를 한번에 삭제하는데 소요되는 시간도 T이다. 또한, 본 발명의 다른 실시예에 따라 백업 영역(22)이 다수의 페이지로 구성되는 경우, 상기 백업 영역(22)에 저장된 데이터는 페이지 단위(예컨대, N페이지, N은 자연수)로 삭제될 수 있다.
이 경우 트랜잭션이 처리중임을 알리는 플래그를 저장하는 메모리에 저장된 데이터와 상기 트랜잭션이 종료됨을 알리는 플래그를 저장하는 메모리에 저장된 각 데이터도 백업 영역(22)에 저장된 데이터와 같이 삭제되는 것이 바람직하다.
도 3b를 참조하면, 각 영역(24_1, 24_2, 24_3,..., 24_N)에 저장된 데이터는 모두 삭제되었으므로, 상기 각 영역(24_1, 24_2, 24_3,..., 24_N)에 새로운 데이터를 기입하는데 소요되는 시간을 T라고 가정하면, 모든 영역(24_1, 24_2, 24_3,..., 24_N)에 새로운 데이터를 기입하는데 소요되는 총 시간은 N*T가 된다.
표 2는 비휘발성 메모리(20)의 백업 영역(22)에 저장된 데이터를 페이지 단위로 삭제하는 경우를 PR#1라 가정하고, 백업 영역(22)에 저장된 모든 데이터를 한 번에 삭제하는 경우를 PR#2이라 가정하고, 애플릿이 수행되면서 N회의 데이터 백업이 발생되는 경우, 한번의 트랜잭션을 수행하는 동안 데이터 백업 횟수 및 소요 시간을 나타낸다. 여기서 B_EPS는 실제 백업 영역(22)에 데이터 백업이 이루어진 페이지의 수를 나타내며, 상기 페이지의 수는 가변될 수 있다.
시행 프로세스 데이터 백업 횟수(동작) 총 소요시간
PR#1 (백업 영역을 페이지 단위로 삭제) 트랜잭션 플래그 온 1 (기입만) T
데이터 백업 N (기입만) N*T
트랜잭션 플래그 오프 B_EPS (기입만) B_EPS*T
총 소요시간 T(1+N+B_EPS)
PR#2 (백업 영역 전부를 한번에 삭제) 트랜잭션 플래그 온 1 (기입만) T
데이터 백업 N (기입만) N*T
트랜잭션 플래그 오프 1 (기입만) T
총 소요시간 T*(2+N)
삭제시간 또는 기입시간을 T라 가정하고, B_EPS를 5페이지라 가정하고, 트랜잭션에서 N회의 데이터 백업이 발생된다고 가정했을 때, 종래의 방법에 따른 트랜잭션의 데이터 백업에 소요되는 시간과 본 발명에 따른 트랜잭션의 데이터 백업에 소요되는 시간을 비교하면 표3과 같다.
변수 방법 T 2ms
B_EPS 5페이지
N 4 10 20 30
종래기술 2T(2+N) 24 48 88 128
PR#1 T(1+N+B_EPS) 20(24/20=1.2) 32(48/32=1.5) 52(1.7) 72(1.8)
PR#2 T(2+N) 12(24/12=2) 24(48/24=2) 44(2) 64(2)
삭제시간 또는 기입시간을 T라 가정하고, B_EPS를 10페이지라 가정하고, 트랜잭션에서 N회의 데이터 백업이 발생된다고 가정했을 때, 종래의 방법에 따른 트랜잭션의 데이터 백업에 소요되는 시간과 본 발명에 따른 트랜잭션의 데이터 백업에 소요되는 시간을 비교하면 표4와 같다.
변수 방법 T 2ms
B_EPS 10페이지
N 4 10 20 30
종래기술 2T(2+N) 24 48 88 128
PR#1 T(1+N+B_EPS) 30(24/30=0.8) 42(48/42=1.1) 62(1.4) 82(1.6)
PR#2 T(2+N) 12(24/12=2) 24(48/24=2) 44(2) 64(2)
표 4를 참조하면, N=4이고, B_EPS=10인 경우, PR#1의 총 소요시간(30)이 종래 방법의 총 소요시간(24)보다 증가한다. 일반적으로 B_EPS가 (N+3)보다 큰 경우, PR#1의 총 소요시간(30)이 종래 방법의 총 소요시간(24) 보다 증가한다. 이와 같은 경우가 발생되기 위해서는 B_EPS가 증가하고, N의 값이 작고, 백업되는 데이터의 크기가 커야한다.
예컨대, N=4이고, B_EPS=10인 경우, 각 백업 데이터의 길이(x)는 수학식1을 만족하는 값이다. 이때 EEPROM 페이지 크기는 128바이트를 기준으로 한다.
Figure 112005037174416-pat00001
x는 320이다. 상기 320은 스마트 카드에서 발생되기 어려운 값이다. 일반적인 스마트 카드의 어플리케이션에서 사용되는 백업 데이터의 길이는 수십 바이트이다. 또한, 인증서와 같은 경우, 백업 데이터의 길이는 수백 바이트 이상이 될 수 있으나, 상기 백업 데이터는 한번에 백업되는 것이 아니라 APDU(Application Protocol Data Unit)로 이루어지기 때문에, PR#1의 총 소요시간이 종래 기술의 총 소요시간보다 증가하는 경우는 발생되기 어렵다.
트랜잭션에서 데이터 백업 회수(N)가 증가할수록 PR#1의 총 소요시간은 종래 기술의 총 소요시간보다 2배 더 빠르다. 메모리 공간(space)이 제한적이고, B_EPS가 어떤 양의 정수보다 작은 경우, PR#1의 총 소요시간과 종래 기술의 총 소요시간의 비는 수학식2와 같다.
Figure 112005037174416-pat00002
도 4는 본 발명에 따른 데이터 저장방법을 설명하기 위한 흐름도이다. 도 2 내지 도 4를 참조하여 비휘발성 메모리에 데이터를 저장(또는 백업)하는 방법이 상세히 설명된다.
트랜잭션 관리 모듈(32)은 코드를 실행하면서(S40), 트랜잭션의 시작여부를 판단한다(S42). S42에서 트랜잭션이 시작된 것으로 판단되는 경우, 상기 트랜잭션 관리 모듈(32)은 트랜잭션 플래그가 온(ON)으로 설정되었는지의 여부를 판단하고(S44), 상기 트랜잭션 플래그가 온(ON)으로 설정되지 않은 경우, 상기 트랜잭션 플래그를 온(ON)으로 설정한다(S46).
S42에서 트랜잭션이 시작된 것으로 판단되지 않은 경우, 트랜잭션 관리 모듈(32)은 트랜잭션의 종료여부를 판단한다(S50). 트랜잭션이 종료된 것으로 판단된 경우, 트랜잭션 관리 모듈(32)은 트랜잭션 플래그를 오프(OFF)로 설정하고(S54), 도 3a에 도시된 바와 같이 트랜잭션 영역(22)에 저장된 데이터의 전부를 한번에 삭제하거나 또는 상기 트랜잭션 영역(22)에 저장된 데이터를 페이지 단위로 삭제한다(S56). 그리고 코드를 실행한다(S40).
트랜잭션 영역(22)에 저장된 데이터의 전부를 한번에 삭제하는데 소요되는 시간은 상기 트랜잭션 영역(22)을 구성하는 일부 영역(24_1)에 저장된 데이터를 삭제하는데 소요되는 시간과 동일한 것이 바람직하다.
트랜잭션 플래그가 온(ON)으로 설정된 경우, 트랜잭션 관리 모듈(32)은 목적지 영역(16)의 각 영역(18_1, 18_2, 18_3,..., 18_N)에 저장된 데이터를 대응되는 영역(24_1, 24_2, 24_3,..., 24_N)에 기입한다(S48). 즉, 데이터 백업 과정(DBU_EAn, n은 1,2,3,...N)이 수행된다.
목적지 영역(16)의 각 영역(18_1, 18_2, 18_3,..., 18_N)에 저장된 데이터는 소스 영역(12)의 각 영역(14_1, 14_2, 14_3,..., 14_N)에 저장된 데이터로 갱신된다(S58). 이 경우 삭제와 기입이 순차적으로 발생한다.
본 발명의 실시예에 따른 방법들은 컴퓨터 시스템에서 실행할 수 있는 프로 그램으로 작성 가능하다. 또한, 상기 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체로부터 독출된 해당 프로그램은 디지털 컴퓨터 시스템에서 실행될 수 있다. 상기 기록 매체에는 마그네틱 저장 매체(예를 들면, 롬, 플로피디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 씨디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 매체를 포함한다.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
상술한 바와 같이 본 발명에 따른 데이터 저장장치, 비휘발성 메모리에 데이터를 저장하는 방법, 및 상기 방법을 수행하기 위한 프로그램을 기록한 기록매체에 의하여 데이터 백업시간은 상당히 감소되는 효과가 있다.

Claims (8)

  1. 비휘발성 메모리에 데이터를 백업하는 방법에 있어서,
    트랜잭션이 종료된 경우, 트랜잭션 플래그를 오프(OFF)로 설정하는 단계; 및
    트랜잭션 영역에 저장된 데이터의 전부를 삭제하거나, 상기 트랜잭션 영역에 저장된 데이터를 페이지 단위로 삭제하는 단계를 구비하는 비휘발성 메모리에 데이터를 백업하는 방법.
  2. 제1항에 있어서, 상기 비휘발성 메모리에 데이터를 백업하는 방법은,
    상기 트랜잭션 플래그를 온(ON)으로 설정하는 단계; 및
    소스 데이터를 상기 트랜잭션 영역에 저장하는 단계를 더 구비하는 비휘발성 메모리에 데이터를 백업하는 방법.
  3. 비휘발성 메모리에 데이터를 저장하는 방법에 있어서,
    초기화여부 또는 원자성 트랜잭션의 종료여부를 판단하는 단계;
    초기화되었거나 상기 원자성 트랜잭션이 종료된 경우, 백업 영역에 저장된 데이터의 전부를 삭제하는 단계; 및
    소스 데이터를 상기 백업 영역에 저장하는 단계를 구비하는 비휘발성 메모리에 데이터를 저장하는 방법.
  4. 제3항에 있어서, 상기 비휘발성 메모리에 데이터를 저장하는 방법은,
    상기 백업 영역에 저장된 데이터를 페이지 단위로 삭제하는 단계를 더 구비하는 비휘발성 메모리에 데이터를 저장하는 방법.
  5. 제3항 또는 제4항 중의 어느 하나의 항에 있어서, 상기 소스 데이터를 상기 백업 영역에 저장하는 단계는 상기 소스 데이터를 상기 백업 영역의 일부 영역에 저장하는 단계인 비휘발성 메모리에 데이터를 저장하는 방법.
  6. 제1항 내지 제4항 중의 어느 하나의 항에 기재된 방법의 각 단계를 실행시키기 위한 프로그램을 기록한 기록매체.
  7. 데이터 저장장치에 있어서,
    소스 데이터를 저장하기 위한 메모리;
    백업 영역을 구비하는 비휘발성 메모리; 및
    상기 데이터 저장장치의 초기화여부 또는 원자성 트랜잭션의 종료여부를 판단하고, 상기 데이터 저장장치가 초기화되거나 상기 원자성 트랜잭션이 종료된 경우, 상기 비휘발성 메모리의 백업 영역에 저장된 데이터의 전부를 삭제하고, 상기 메모리에 저장된 소스 데이터를 상기 백업 영역에 저장하는 것을 제어하기 위한 트랜잭션 관리 모듈을 구비하는 데이터 저장장치.
  8. 제7항에 있어서, 상기 트랜잭션 관리모듈은 상기 백업 영역에 저장된 데이터를 소정의 페이지 단위로도 삭제할 수 있는 데이터 저장장치.
KR1020050061897A 2005-07-08 2005-07-08 데이터 저장장치, 데이터 저장방법, 및 그 기록매체 KR100746198B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020050061897A KR100746198B1 (ko) 2005-07-08 2005-07-08 데이터 저장장치, 데이터 저장방법, 및 그 기록매체
US11/330,993 US20070011416A1 (en) 2005-07-08 2006-01-13 Data storage device and medium and related method of storing backup data
DE102006014557A DE102006014557A1 (de) 2005-07-08 2006-03-29 Datensicherungsverfahren, Computerspeicherbauelement und Datenspeichervorrichtung

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050061897A KR100746198B1 (ko) 2005-07-08 2005-07-08 데이터 저장장치, 데이터 저장방법, 및 그 기록매체

Publications (2)

Publication Number Publication Date
KR20070006502A KR20070006502A (ko) 2007-01-11
KR100746198B1 true KR100746198B1 (ko) 2007-08-06

Family

ID=37562684

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050061897A KR100746198B1 (ko) 2005-07-08 2005-07-08 데이터 저장장치, 데이터 저장방법, 및 그 기록매체

Country Status (3)

Country Link
US (1) US20070011416A1 (ko)
KR (1) KR100746198B1 (ko)
DE (1) DE102006014557A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007086435A1 (ja) * 2006-01-25 2007-08-02 Matsushita Electric Industrial Co., Ltd. 端末装置、サーバ装置及びデジタルコンテンツ配信システム
CN102075935B (zh) * 2010-12-23 2013-07-31 北京握奇数据系统有限公司 一种鉴权相关数据的处理方法及装置
US10817390B2 (en) 2011-09-14 2020-10-27 Hewlett Packard Enterprise Development Lp Imparting durability to a transactional memory system
FR2988878B1 (fr) * 2012-04-02 2015-01-16 Morpho Procede de modification en memoire d'un ensemble de donnees
WO2014142908A1 (en) * 2013-03-14 2014-09-18 Hewlett-Packard Development Company, L.P. Multiversioned nonvolatile memory hierarchy for persistent memory
KR102275706B1 (ko) 2014-06-30 2021-07-09 삼성전자주식회사 데이터 저장 장치의 작동 방법과 이를 포함하는 데이터 처리 시스템의 작동 방법
FR3038428B1 (fr) * 2015-07-03 2018-08-24 Ingenico Group Procede de traitement de donnees transactionnelles, dispositif et programme correspondant
CN108108271B (zh) * 2017-12-25 2020-11-03 飞天诚信科技股份有限公司 一种实现事务与掉电保护统一管理的方法及装置
CN113785275B (zh) * 2020-12-17 2024-03-05 深圳杰睿联科技有限公司 Flash数据掉电保护方法及设备
CN115220639A (zh) * 2021-04-15 2022-10-21 伊姆西Ip控股有限责任公司 管理存储系统的方法、电子设备和计算机程序产品

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990007270A (ko) * 1997-06-25 1999-01-25 이데이 노부유키 메모리 관리 방법

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4327410A (en) * 1980-03-26 1982-04-27 Ncr Corporation Processor auto-recovery system
US6317755B1 (en) * 1999-07-26 2001-11-13 Motorola, Inc. Method and apparatus for data backup and restoration in a portable data device
JP4058219B2 (ja) * 1999-09-17 2008-03-05 株式会社ルネサステクノロジ 半導体集積回路
EP1139210B1 (en) * 2000-03-28 2004-03-17 STMicroelectronics S.r.l. Method of logic partitioning of a nonvolatile memory array
US6400603B1 (en) * 2000-05-03 2002-06-04 Advanced Technology Materials, Inc. Electronically-eraseable programmable read-only memory having reduced-page-size program and erase
JP2002351685A (ja) * 2001-05-22 2002-12-06 Sankyo Seiki Mfg Co Ltd 不揮発性メモリのデータ更新方法及び制御装置
US6958940B2 (en) * 2002-02-28 2005-10-25 Renesas Technology Corp. Nonvolatile semiconductor memory device capable of realizing optimized erasing operation in a memory array
US7003621B2 (en) * 2003-03-25 2006-02-21 M-System Flash Disk Pioneers Ltd. Methods of sanitizing a flash-based data storage device
DE60314979T2 (de) * 2003-04-11 2008-04-10 Em Microelectronic-Marin S.A. Verfahren zur Aktualisierung eines nichtflüchtigen Speichers

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990007270A (ko) * 1997-06-25 1999-01-25 이데이 노부유키 메모리 관리 방법

Also Published As

Publication number Publication date
US20070011416A1 (en) 2007-01-11
KR20070006502A (ko) 2007-01-11
DE102006014557A1 (de) 2007-01-11

Similar Documents

Publication Publication Date Title
KR100746198B1 (ko) 데이터 저장장치, 데이터 저장방법, 및 그 기록매체
US6871259B2 (en) File system including non-volatile semiconductor memory device having a plurality of banks
EP2203825B1 (en) Apparatus using flash memory as storage and method of operating the same
JP4037605B2 (ja) 不揮発性メモリユニットのコントローラ、同コントローラを有するメモリシステム及び不揮発性メモリユニットの制御方法
US9239761B2 (en) Storage system format for transaction safe file system
EP1895418A1 (en) Nonvolatile memory device, method of writing data, and method of reading out data
US20150186224A1 (en) Data storage device and flash memory control method
US7971022B2 (en) Apparatus and method of processing data of non-volatile memory using transaction block
WO2009017368A2 (en) Input/output control method and apparatus optimized for flash memory
JPWO2009004674A1 (ja) 記憶装置、ディスク装置、書込み判定方法、制御装置
US11726668B2 (en) Device with flash memory and method for writing/erasing/updating data in flash memory thereof
JP2009048557A (ja) データ更新装置及びデータ更新方法及びデータ更新プログラム
KR100654344B1 (ko) 플래시 메모리를 이용한 기억장치 및 그 에러 복구 방법
CN107257281B (zh) Nor flash存储密钥记录的方法、装置及计算机可读存储介质
JP3818130B2 (ja) データ管理方法及び装置及びデータ管理プログラム及びデータ管理プログラムを格納した記憶媒体
US20110082995A1 (en) Information processing apparatus
KR100654343B1 (ko) 플래시 메모리를 이용한 기억장치 및 그 에러 복구 방법
CN112181316A (zh) 数据块信息继承方法、装置、存储介质及电子设备
JP2000330850A (ja) フラッシュメモリ制御方法
US12039193B2 (en) Apparatus, method and computer program for managing memory page updates within non-volatile memory
CN114880277B (zh) 块设备快照方法、系统和存储介质
US11150940B2 (en) System and method for recording transaction associated with a page-oriented non-volatile memory
JP2004265275A (ja) Icカード及びicカードプログラム
JP2005222531A (ja) データ記録装置及びデータ記録方法
KR20070037022A (ko) 플래시 메모리, 이를 위한 맵핑 장치 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee