KR100746198B1 - 데이터 저장장치, 데이터 저장방법, 및 그 기록매체 - Google Patents
데이터 저장장치, 데이터 저장방법, 및 그 기록매체 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/16—Protection against loss of memory contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0617—Improving the reliability of storage systems in relation to availability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1441—Resetting or repowering
-
- 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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1443—Transmit 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
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 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바이트를 기준으로 한다.
x는 320이다. 상기 320은 스마트 카드에서 발생되기 어려운 값이다. 일반적인 스마트 카드의 어플리케이션에서 사용되는 백업 데이터의 길이는 수십 바이트이다. 또한, 인증서와 같은 경우, 백업 데이터의 길이는 수백 바이트 이상이 될 수 있으나, 상기 백업 데이터는 한번에 백업되는 것이 아니라 APDU(Application Protocol Data Unit)로 이루어지기 때문에, PR#1의 총 소요시간이 종래 기술의 총 소요시간보다 증가하는 경우는 발생되기 어렵다.
트랜잭션에서 데이터 백업 회수(N)가 증가할수록 PR#1의 총 소요시간은 종래 기술의 총 소요시간보다 2배 더 빠르다. 메모리 공간(space)이 제한적이고, B_EPS가 어떤 양의 정수보다 작은 경우, PR#1의 총 소요시간과 종래 기술의 총 소요시간의 비는 수학식2와 같다.
도 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)
- 비휘발성 메모리에 데이터를 백업하는 방법에 있어서,트랜잭션이 종료된 경우, 트랜잭션 플래그를 오프(OFF)로 설정하는 단계; 및트랜잭션 영역에 저장된 데이터의 전부를 삭제하거나, 상기 트랜잭션 영역에 저장된 데이터를 페이지 단위로 삭제하는 단계를 구비하는 비휘발성 메모리에 데이터를 백업하는 방법.
- 제1항에 있어서, 상기 비휘발성 메모리에 데이터를 백업하는 방법은,상기 트랜잭션 플래그를 온(ON)으로 설정하는 단계; 및소스 데이터를 상기 트랜잭션 영역에 저장하는 단계를 더 구비하는 비휘발성 메모리에 데이터를 백업하는 방법.
- 비휘발성 메모리에 데이터를 저장하는 방법에 있어서,초기화여부 또는 원자성 트랜잭션의 종료여부를 판단하는 단계;초기화되었거나 상기 원자성 트랜잭션이 종료된 경우, 백업 영역에 저장된 데이터의 전부를 삭제하는 단계; 및소스 데이터를 상기 백업 영역에 저장하는 단계를 구비하는 비휘발성 메모리에 데이터를 저장하는 방법.
- 제3항에 있어서, 상기 비휘발성 메모리에 데이터를 저장하는 방법은,상기 백업 영역에 저장된 데이터를 페이지 단위로 삭제하는 단계를 더 구비하는 비휘발성 메모리에 데이터를 저장하는 방법.
- 제3항 또는 제4항 중의 어느 하나의 항에 있어서, 상기 소스 데이터를 상기 백업 영역에 저장하는 단계는 상기 소스 데이터를 상기 백업 영역의 일부 영역에 저장하는 단계인 비휘발성 메모리에 데이터를 저장하는 방법.
- 제1항 내지 제4항 중의 어느 하나의 항에 기재된 방법의 각 단계를 실행시키기 위한 프로그램을 기록한 기록매체.
- 데이터 저장장치에 있어서,소스 데이터를 저장하기 위한 메모리;백업 영역을 구비하는 비휘발성 메모리; 및상기 데이터 저장장치의 초기화여부 또는 원자성 트랜잭션의 종료여부를 판단하고, 상기 데이터 저장장치가 초기화되거나 상기 원자성 트랜잭션이 종료된 경우, 상기 비휘발성 메모리의 백업 영역에 저장된 데이터의 전부를 삭제하고, 상기 메모리에 저장된 소스 데이터를 상기 백업 영역에 저장하는 것을 제어하기 위한 트랜잭션 관리 모듈을 구비하는 데이터 저장장치.
- 제7항에 있어서, 상기 트랜잭션 관리모듈은 상기 백업 영역에 저장된 데이터를 소정의 페이지 단위로도 삭제할 수 있는 데이터 저장장치.
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990007270A (ko) * | 1997-06-25 | 1999-01-25 | 이데이 노부유키 | 메모리 관리 방법 |
Family Cites Families (9)
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 |
-
2005
- 2005-07-08 KR KR1020050061897A patent/KR100746198B1/ko not_active IP Right Cessation
-
2006
- 2006-01-13 US US11/330,993 patent/US20070011416A1/en not_active Abandoned
- 2006-03-29 DE DE102006014557A patent/DE102006014557A1/de not_active Ceased
Patent Citations (1)
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 |