KR100484485B1 - 비휘발성 메모리에의 데이터 저장 방법 및 장치 - Google Patents

비휘발성 메모리에의 데이터 저장 방법 및 장치 Download PDF

Info

Publication number
KR100484485B1
KR100484485B1 KR10-2002-0059763A KR20020059763A KR100484485B1 KR 100484485 B1 KR100484485 B1 KR 100484485B1 KR 20020059763 A KR20020059763 A KR 20020059763A KR 100484485 B1 KR100484485 B1 KR 100484485B1
Authority
KR
South Korea
Prior art keywords
transaction
logs
nonvolatile memory
data
page
Prior art date
Application number
KR10-2002-0059763A
Other languages
English (en)
Other versions
KR20040032199A (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 KR10-2002-0059763A priority Critical patent/KR100484485B1/ko
Priority to JP2002310262A priority patent/JP3830886B2/ja
Priority to US10/348,711 priority patent/US6970970B2/en
Publication of KR20040032199A publication Critical patent/KR20040032199A/ko
Application granted granted Critical
Publication of KR100484485B1 publication Critical patent/KR100484485B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/355Personalisation of cards for use
    • G06Q20/3552Downloading or loading of personalisation data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/357Cards having a plurality of specified features
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Abstract

비휘발성 메모리에의 향상된 데이터 저장 방법 및 장치가 개시된다. 본 발명에 따른 비휘발성 메모리에의 데이터 저장 방법은, 트랜잭션 수행 요청을 받으면, 트랜잭션 완료 요청을 받기 전까지, 각각의 데이터 쓰기 요청에 대해 저장할 데이터의 값과 비휘발성 메모리의 주소를 포함하는 로그를 생성하는 단계, 트랜잭션 완료 요청을 받으면, 로그들을 비휘발성 메모리의 트랜잭션 버퍼에 저장하는 단계, 및 트랜잭션 완료 이후, 트랜잭션 버퍼 내의 로그들이 지정하는 주소를 서로 비교하여 같은 페이지에 해당하는 데이터들을 비휘발성 메모리의 해당 영역에 페이지 단위로 저장하는 단계를 포함한다. 페이지 단위의 쓰기 방식과 delayed writing을 통하여 응답시간의 지연을 줄일 수 있으며, 비휘발성 메모리에의 쓰기 접근 회수를 줄이고 비휘발성 메모리 공간을 고르게 사용함으로써 데이터 저장 장치의 수명 단축을 막을 수 있다.

Description

비휘발성 메모리에의 데이터 저장 방법 및 장치 {Method for storing data in non-volatile memory and apparatus therefor}
본 발명은 데이터 저장 방법 및 장치에 관한 것으로, 특히 비휘발성 메모리에 데이터를 저장하는 방법 및 장치에 관한 것이다.
데이터 저장 장치에 사용되는 비휘발성 메모리, 특히 스마트 카드의 비휘발성 메모리로서 주로 사용되는 EEPROM은 한 번에 쓰고 읽을 수 있는 최대 단위로 페이지가 있다. 한 페이지를 넘는 쓰기가 필요한 경우, 다른 페이지로 쓰기가 넘어갈 때 필연적으로 3 내지 10 밀리 초 정도의 지연이 생기게 된다. 그리고, 한 페이지 내에서 쓰기를 행하는 경우도 각 쓰기 사이의 시간 간격이 150 마이크로 초 정도를 넘게 되면 지연을 겪게 된다. 이들 blocked time은 스마트카드의 응답 시간을 늦추는 요인이 된다.
또한 EEPROM의 수명은 쓰기 횟수에 의해 정해지는데, 한 곳에 10만 번 이상의 쓰기를 하면 이 부분 때문에 전체 EEPROM의 수명이 다 되어 사용할 수 없게 되기 때문에 EEPROM 전체에 고르게 쓰는 것이 바람직하다.
종래의 기술들로는, 트랜잭션을 처리함에 있어서 로깅 방법에 관한 것과 스마트카드 속의 데이터와 이에 대한 외부의 백업본 사이의 동기화 문제 및 트랜잭션 처리시의 비용을 줄이는 것에 관한 것들이 있는데, 이에 대한 구체적인 구현에 대해서는 다루지 않고 있으며, 로그 단위의 트랜잭션 처리를 기본으로 하여 빈번하게 EEPROM에 쓰기를 수행함으로써 수행 시간이 지연되고 메모리의 수명을 단축하는 문제점이 있다.
또한 메모리의 관리에 있어서도 구체적인 제안이 없으며, 특히 트랜잭션 버퍼와 같이 상당히 빈번히 사용되는 공간은 앞부분과 뒷부분의 사용 빈도에 차이가 있어 뒷부분이 별로 사용되지 않아도 메모리 앞부분의 수명이 다 하여 사용할 수 없게 되는 문제점이 있다.
본 발명이 이루고자 하는 기술적 과제는, 데이터 저장에 있어 지연 시간을 단축하고 비휘발성 메모리에의 접근 횟수를 줄이며 메모리 전체의 균일한 쓰기를 할 수 있는 메모리 관리 방법을 제공함으로써, 응답 시간을 단축하고 메모리의 수명을 늘일 수 있는 비휘발성 메모리에의 데이터 저장 장치 및 방법을 제공하는 것이다.
본 발명이 이루고자 하는 다른 기술적 과제는 상기의 데이터 저장 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공하는 것이다.
상기 기술적 과제를 이루기 위한 본 발명에 의한 비휘발성 메모리에의 데이터 저장 방법은, 트랜잭션 수행 요청을 받으면, 트랜잭션 완료 요청을 받기 전까지, 각각의 데이터 쓰기 요청에 대해 저장할 데이터의 값과 상기 비휘발성 메모리의 주소를 포함하는 로그를 생성하는 단계; 트랜잭션 완료 요청을 받으면, 상기 로그들을 상기 비휘발성 메모리의 트랜잭션 버퍼에 저장하는 단계; 및 트랜잭션 완료 이후, 상기 트랜잭션 버퍼 내의 로그들이 지정하는 주소를 서로 비교하여 같은 페이지에 해당하는 데이터들을 상기 비휘발성 메모리의 해당 영역에 페이지 단위로 저장하는 단계를 포함하는 것이 바람직하다.
상기 기술적 과제를 이루기 위한 본 발명에 의한 비휘발성 메모리에의 데이터 저장 장치는, 트랜잭션 버퍼를 포함하는 비휘발성 메모리; 트랜잭션 수행 중의 데이터 쓰기 요청들에 대해, 저장할 데이터의 값과 상기 비휘발성 메모리의 주소를 포함하는 로그들을 생성하여 상기 트랜잭션 버퍼에 저장하는 로그 생성부; 및 트랜잭션 완료 이후에 상기 로그들이 지정하는 주소를 비교하여 같은 페이지에 해당하는 데이터들을 상기 비휘발성 메모리의 해당 영역에 페이지 단위로 저장하는 데이터 저장부를 포함하는 것이 바람직하다.
이하, 첨부된 도면들을 참조하여 본 발명에 따른 비휘발성 메모리에의 데이터 저장 방법 및 장치에 대해 상세히 설명한다.
도 1은 스마트카드의 구조 및 이를 이용하는 시스템의 개념도이다. 호스트 혹은 터미널(10)은 스마트카드의 동작이 활성화 되도록 하는 카드 응용프로그램의 클라이언트들의 연산 요청(request)들이 발생하는 곳이다. 스마트카드(20)에는 비휘발성 메모리인 EEPROM과 휘발성 메모리인 RAM이 장착된다. 스마트카드(20)는 호스트로부터의 요청들을 처리할 수 있는 서버로서의 역할을 하도록 응용프로그램이 탑재되어 있다.
도 2는 스마트카드에서 수행되는 응용 서비스 소프트웨어들의 개념도이다. 카드에 탑재된 응용 서비스들은 애플릿(card applet, 30)들이고 이들이 자바로 만들어진 관계로 이들의 수행이 가능한 플랫폼으로서의 스마트카드는 자바카드라 불린다. 본 실시예에 설명된 자바 스마트카드 혹은 자바카드는 스마트카드 중 자바로 만든 응용서비스를 카드에서 제공할 수 있도록 한 자바카드 응용프로그램 실행 플랫폼을 가진 카드를 일컫는다. 자바 스마트카드는 보통 트랜잭션 처리를 담당하는 모듈 부분이 속하게 되는 카드의 운영체재까지 자바 플랫폼은 아니고 다만 자바가상머신을 위에 얹어 자바 응용프로그램을 돌릴 수 있도록 만든 경우가 대부분이므로, 카드의 운영체제에 속하는 트랜잭션 관리 모듈에서의 트랜잭션 관리를 말할 때 자바카드에서의 트랜잭션 처리에만 한정되는 것이 아니고 다른 종류의 스마트카드에서의 트랜잭션 처리에 대하여도 적용이 가능하다.
자바 애플릿을 수행시키기 위해 자바가상머신(Java virtual machine, 40)이 얹히고, 자바가상머신으로 인해 그 아래 카드 운영체제가 어떤 언어로 만들어 졌는지에 무관하게 되므로 이 위 단과 아래 카드 운영체제의 연결역할을 하는 네이티브 인터페이스(Native interface, 50)가 존재한다. 그리고 본 발명에 관계된 트랜잭션 처리를 담당하는 트랜잭션 관리 모듈(transaction management module, 61)이 카드 운영체제(Smartcard Operating System, 60)에 속해있고, 이외 메모리의 사용을 관리하는 메모리 관리 모듈(Memory management module, 62), 카드 하드웨어(70)와의 접촉 부분을 위한 디바이스 드라이버 및 유용한 다른 유틸리티들이 들어있는 부분(Utility & Device Drivers, 63)이 있고, 암호화와 복호화를 관리하는 암호복호화 모듈(cryptographic module, 64)이 있다.
호스트에서 스마트카드로 데이터 쓰기 요청이 있을 때 전원 차단 등에 의해서 비휘발성 메모리에의 쓰기에서의 원자성(atomicity) 보장 및 프로그램 수행의 일관성(consistency)이 깨지는 부분 등이 문제가 되는 것을 해결하기 위해 특히 보호해야 할 처리단위를 만들어 트랜잭션을 수행하게 된다.
비휘발성 메모리에의 데이터 쓰기 요청은 대부분 원자성을 보장하기 위해 트랜잭션 처리를 하게 되지만, 굳이 트랜잭션 처리로 보호하지 않아도 되는 쓰기 부분도 있다. 로그는 트랜잭션 내의 쓰기 요청에 대해서 생성하는 것이 보통이나, 본 발명에서는 트랜잭션 외부의 쓰기 요청에 대해서도 트랜잭션 수행 시 생성되는 로그와 같은 형식을 가지는 로그를 생성하여 delayed writing을 적용한다. 이하 본 발명에 대해서 주로 트랜잭션 내에서의 쓰기를 위주로 하여 설명할 것이나 이는 트랜잭션 외부의 쓰기에 대해서도 그 동기성을 만족하는 범위에서 적용되는 내용이다.
도 3은 도 2의 트랜잭션 관리 모듈(61)이 처리하는 스마트카드에서의 트랜잭션의 흐름도이다.
트랜잭션의 시작을 카드운영체제에 요청하는 beginTransaction()(80)을 받으면 트랜잭션 관리 모듈(62)에서는 트랜잭션 완료 요청인 commitTransaction()(110) 요구가 들어올 때까지 로깅(90)을 하게 된다. 로깅은 트랜잭션 수행 시 갱신할 데이터에 대한 로그들을 어떤 순서로 처리할 것인지에 따라 Old-value 로깅과 New-value 로깅으로 나눌 수 있다.
Old-value 로깅의 경우는 갱신할 부분에 있었던 데이터와 해당 주소를 백업 받는 것으로 로그를 만들게 되고, new-value 로깅의 경우는 갱신할 데이터 및 해당 주소를 로그로 만들게 된다. 두 방법은 commit 시와 abort 시의 비용이 서로 다르기 때문에 사용 환경에 따라 적합한 것을 선택하게 되는데, 스마트 카드의 경우 트랜잭션 중간에서 카드 테어(card tear)가 날 확률이 높으므로 abort 처리 시의 비용이 상대적으로 작은 new-value 로깅을 사용한다.
로깅 중간에 카드에 전원 공급이 중단된다던가 더 이상 트랜잭션의 수행이 힘들 것으로 판단이 될 때 트랜잭션 중지 요청인 abortTransaction()(100)을 부르게 된다. 이는 beginTransaction() 이전의 상태로 되돌리는 역할을 하게 된다.
도 4a 및 4b는 기존 new-value 로깅 방법인 로그 단위의 데이터 저장 방법의 흐름도이고 , 도 5a 및 5b는 본 발명에 의한 페이지 단위의 데이터 저장 방법의 실시예를 나타낸 흐름도이다. 본 발명은 new-value 로깅에 기반하고 있으므로 도 4와 도 5를 비교하여 본 발명의 특징인 페이지 단위의 데이터 갱신과 delayed writing에 대해 상세히 설명한다.
도 4a와 도 5a는 트랜잭션이 beginTransaction()부터 commitTransaction()까지 정상적으로 처리되는 경우를 나타낸 흐름도이고, 도 4b와 도 5b는 트랜잭션 처리 중 전원 공급이 잠시 차단되고 다시 카드에 전원이 공급되었을 때, 즉 카드 테어(card tear)가 발생한 경우의 처리 메커니즘을 나타낸다. 그러나, 이는 또한 전원차단이 일어나지 않고 트랜잭션의 정상수행 중 abortTransaction()을 호출하는 식의 처리에도 적용이 되는 부분이다.
트랜잭션 수행 요청인 beginTransaction()이 들어오면(80) 카드 내부의 상태는 트랜잭션 처리 중임을 알리는 플래그를 세팅함으로서 트랜잭션 처리 시작의 상태로 전이한다(120, 150). 그리고 beginTransaction()을 호출한 카드 운영체제의 위 단에 응답을 보낸다(121, 151). 그리고는 각각의 데이터 쓰기 요청에 대해 RAM에 로깅을 하기 시작한다(122, 152).
로깅은 데이터 쓰기 요청을 받아서 데이터를 저장할 비휘발성 메모리의 주소와 저장할 데이터의 내용을 휘발성 메모리인 RAM에 저장함으로써 이루어진다.
트랜잭션 중지 요청인 abortTransaction()이 들어오는지를 보고(100) 이 부분의 요구가 들어오면 beginTransaction() 이전의 상태로 되돌린다. 로깅을 하다가 commitTransaction()(110)이 호출이 되면 RAM에 기록된 로그들을 EEPROM의 트랜잭션 버퍼에 옮긴다(124, 154).
도 4a의 종래의 new-value 로깅의 처리 방식에서는, EEPROM상에 옮겨진 로그들에 대해 EEPROM상의 갱신해야 할 위치를 찾아 로그 단위의 쓰기를 행하며(155), EEPROM의 트랜잭션 버퍼에 담긴 로그들의 내용이 반영되어 메모리의 내용이 전부 갱신된 후에 commit 사인(트랜잭션 완료 응답)을 위 단에 보낸다. 즉 로그들에 의해 메모리의 내용이 전부 갱신되는 동안 blocking이 되며 이 기간 동안 지연이 발생하게 된다. 처리가 끝난 후, 내부 상태를 트랜잭션 완료로 돌리고(156) commitTransaction()의 호출에 대한 응답을 준다(157).
도 5a의 본 발명의 경우는 RAM의 로그들을 EEPROM의 트랜잭션 버퍼에 옮긴 직후(124), commitTransaction()에 대한 트랜잭션 완료 응답을 준다(125). 이에 의해, 트랜잭션 완료 응답을 받은 위 단은 트랜잭션 완료의 상태이고 운영체제의 아랫단은 아직 트랜잭션이 종료되지 않은 이원화된 상태를 갖게 된다.
이후 EEPROM에의 쓰기 요청이 올 경우 EEPROM의 트랜잭션 버퍼에 아직 갱신되지 않은 데이터에 대한 로그들이 남아있는지 확인하고(126), 남은 로그들 중 갱신할 주소가 지금 쓰기 명령이 들어 온 EEPROM내의 주소가 속한 페이지와 같은 페이지에 있는 것이 있는지를 확인한다(127). 이 때, 쓰기 요청의 주소와 같은 페이지에 해당하는 로그들을 모두 찾아, 한번에 이 페이지의 내용을 갱신하게 된다(128). 해당하는 로그가 없으면 쓰기 요청이 들어 온 부분만 쓰기를 행한다(130).
페이지 단위의 갱신이란, 한번의 접근으로 쓰기를 해결하기 위해 일단 갱신할 비휘발성 메모리의 페이지를 휘발성 메모리(RAM)에 읽어와서 이 RAM 부분에 데이터를 저장하는 갱신을 한 후, 이 페이지 내용을 페이지 단위로 한번에 비휘발성 메모리의 원래 자리에 쓰는 방법을 취한다. 트랜잭션의 로그들이 다 제자리에 갱신되었을 때, 카드 내부 상태는 트랜잭션 처리 종료 상태가 된다(131).
트랜잭션 버퍼가 다 비워지기 전에 다음 트랜잭션의 수행으로 트랜잭션 버퍼를 사용할 일이 생기면 이 때 남은 로그들을 페이지 단위로 갱신한다.
도 4b는 종래의 new-value 로깅 방식에서 로깅 도중 전원이 나간 경우의 처리를 나타내는데, 전원이 다시 공급이 되면 이전에 수행이 되던 트랜잭션이 있었는지를 확인하게 되고(160), 이 때 이전에 중단된 트랜잭션 처리 부분이 있었다면 로그 단위로 EEPROM에 쓰기 작업을 수행하게 된다(161). 이후 완료 응답을 보내며(162), 내부 상태를 트랜잭션 완료 상태로 돌리게 된다(156).
도 5b는 본 발명에 의한 페이지 단위의 데이터 저장 방식에서 로깅 도중 전원이 나간 경우의 처리를 나타낸다. 먼저 이전에 수행이 되던 트랜잭션이 있었는지를 확인하고(140), 이전에 중단되었던 트랜잭션이 없었던 경우 트랜잭션 버퍼에 남아있는 로그들이 있다면 이를 처리한다. 그러나, 이 부분은 굳이 여기서 처리를 하지 않아도 되고 뒤로 다시 미뤄도 되는 부분으로 처리의 유연성을 가진다.
도 4b의 경우는 abortTransaction()을 불러 트랜잭션 버퍼에 갱신되지 않은 부분이 있다면 이를 처리하게 되는데, 갱신 중간에 카드 테어(card tear)가 난 경우일 때 이미 갱신이 된 부분을 무시하고 트랜잭션 버퍼의 처음부터 다시 모든 로그들의 데이터에 대한 갱신을 행하게 되고 이는 로그단위로 또한 행해지게 된다(161).
그러나, 도 5b의 경우는 abortTransaction()이 불리는 경우라도 EEPROM의 트랜잭션 버퍼에 로그들이 옮겨진 상태가 아니면 아무 일을 해주지 않아도 이전 상태로 돌아가게 되고, EEPROM상의 트랜잭션 버퍼에 로그들이 옮겨진 후에는 페이지 단위로 갱신된 부분은 다시 갱신을 하지 않고 이후 남은 갱신될 페이지들에 대해서만 갱신이 적절한 순간에 이뤄지게 된다. 따라서, 많은 카드 테어(card tear)가 날 수 있는 비접촉 카드(contactless card)의 경우는 abort 처리시의 부담을 따져보면 본 발명에 의한 경우가 훨씬 그 비용이 낮다. 트랜잭션 버퍼가 비었으면(144) 트랜잭션 버퍼가 빔으로서 내부 상태도 트랜잭션 종료상태(131)로 전이하게 된다. abortTransaction()의 호출에 대한 완료 응답은 외부 상태를 중단된 트랜잭션 시작 이전의 상태로 되돌렸을 때 주는데(142), 도 4b의 경우는 EEPROM의 트랜잭션 버퍼가 비었을 때 준다(162). 본 발명에 의한 방식에서 종래 방식과 달리 트랜잭션 버퍼를 금방 비우지 않아도 되는 것은 트랜잭션이 시작되고 곧 다른 트랜잭션이 시작될 때까지의 시간 간격이 있고 이 중간에 EEPROM에의 쓰기 요구가 올 때, 쓰기 부담을 되도록 줄여보자는 것이고 RAM에의 로깅 부분에서도 이전 로그들의 트랜잭션 버퍼 점유의 시간을 벌 수 있는 여지가 있기 때문이다.
도 6은 트랜잭션 버퍼의 개념도로서, 트랜잭션 버퍼의 운영에 관한 것인데, 종래의 트랜잭션 버퍼 관리 방식에서는 트랜잭션 버퍼의 시작과 끝을 사용의 기준으로 삼아 항상 그 사용은 버퍼의 시작부터 하여 트랜잭션 버퍼 내의 공간사용의 빈도가 이 버퍼의 앞쪽에 치우치게 되는 비효율성이 있으므로, 본 발명에서는 이를 개선하고자 사용한 페이지(171)와 사용하지 않은 페이지를 링크드 리스트 형태(172)로 구분하여 관리한다. 기본적인 운영은 원형 큐 형태로(170) 관리를 하게 되나 반드시 연속적인 페이지 사용이 되는 것은 아니기 때문에 링크드 리스트 형태로 운영을 하여 사용에 있어 전후 관계를 표시해주어 되도록 사용이 안된 페이지를 다음 번엔 먼저 사용이 될 수 있도록 한다. 그러나, 원형 큐 형태 그대로 사용해도 무방하다. 이는 또한 EEPROM의 전체 메모리 관리에 있어서도 적용 가능하다.
살펴본 바와 같이 본 발명에 의한 비휘발성 메모리에의 데이터 저장 방법은 EEPROM에의 쓰기 접근(write access) 회수를 줄이고, delayed writing으로 blocked time을 줄여 응답시간의 지연을 줄일 수 있다. 즉, 쓰기 요청에 의해 발생되는 로그들에 대해 실제 반영되어야 할 주소들이 속한 페이지 단위로 로그들을 분류해서 한꺼번에 이들을 갱신(update)되도록 하여 한 페이지 당 한번의 쓰기 접근(access)을 도모하고자 했다. 이런 페이지 단위의 핸들링은 EEPROM의 특성상 쓰기 접근 한 번에 기본적으로 줄일 수 없는 blocked time이 존재하기 때문에 효율적인 부분이다. 그리고, EEPROM의 트랜잭션 버퍼는 고른 공간 사용을 위해 원형 큐나 링크드 리스트로 운영을 한다. 그런데, EEPROM의 페이지 단위의 쓰기 갱신(write update)이나 메모리 공간 운영은 트랜잭션 처리에 국한되는 부분은 아니다. 스마트 카드의 전체 메모리 운영에도 확대 적용될 수 있다. 아무 일도 하지 않고 기다려야만 하는 시간이 있는 쓰기의 분할은 카드 운영체제에서 CPU가 쉬는 시간을 분할하여 쓰기 갱신을 할 수 있다. 또한 링크드 리스트(linked list) 방식의 트랜잭션 버퍼 관리는 스마트카드에서의 중첩 트랜잭션과 멀티 트랜잭션을 가능하게 하여주는 부분으로 각 리스트 하나에 한 트랜잭션의 로그들이 기록되는 것으로 하면 여러 개의 리스트의 존재가 가능하기 때문이다. 중첩 트랜잭션은 하나의 리스트 혹에 하위 트랜잭션의 로그들을 포함할 수 있도록 하여 구현할 수 있다.
비휘발성 메모리를 포함하여 메모리의 용량에 제약을 받는 다른 장치들을 대상으로 한 트랜잭션의 구현도 메모리의 하드웨어적인 특성을 잘 생각해 보고, 어떤 부분을 우선시 할 것인지를 생각해 봐야 한다. 성능을 고려할 때, 이 장치의 응답 시간과 메모리 요구량, 장치의 수명들을 고려대상으로 할 수 있다. 사용자에게 서비스를 직접 하는 장치이고, 이 서비스가 응답 시간에 민감한 것이라면 이에 초점을 맞춰 메모리 요구량, 장치의 수명에 타협을 볼 수 있을 것이다. 장치에서 수행되는 응용 프로그램의 특성이 파악된다면 좀 더 적절한 트랜잭션을 구현할 수도 있다. 트랜잭션 속에서 생성되는 로그가 언제나 적은 수라면 old-value 로깅 방법을 변형 없이 그대로 사용할 수도 있으나, 로그의 수가 얼마 안 되더라도 이들이 EEPROM의 한두 페이지에 해당하는 주소들의 데이터를 수정할 내용이면 살펴본 바와 같이 본 발명에 의한 데이터 저장 방법의 구현을 통해 더 나은 응답시간이 보장될 수 있다.
본 발명은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터(정보 처리 기능을 갖는 장치를 모두 포함한다)가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 장치의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
본 발명에 의한 비휘발성 메모리에의 데이터 저장 방법 및 장치에 의하면, 페이지 단위의 쓰기 방식과 delayed writing을 통하여 응답시간의 지연을 줄일 수 있으며, 비휘발성 메모리에의 쓰기 접근 회수를 줄이고 비휘발성 메모리 공간을 고르게 사용함으로써 데이터 저장 장치의 수명 단축을 막을 수 있다.
도 1은 스마트카드의 구조 및 이를 이용하는 시스템을 나타낸 개념도이다.
도 2는 스마트카드에서 수행되는 응용 서비스 소프트웨어들을 나타낸 개념도이다.
도 3은 스마트카드에서의 트랜잭션의 흐름도이다.
도 4a 및 4b는 스마트카드에서 로그 단위의 데이터 저장 방법의 흐름도이다.
도 5a 및 5b는 본 발명에 의한 스마트카드에서 페이지 단위의 데이터 저장 방법의 일 실시예를 나타낸 흐름도이다.
도 6은 트랜잭션 버퍼를 나타낸 개념도이다.

Claims (14)

  1. 삭제
  2. 삭제
  3. 비휘발성 메모리에 데이터를 저장하는 방법에 있어서,
    (a) 트랜잭션 수행 요청을 받으면, 트랜잭션 완료 요청을 받기 전까지, 각각의 데이터 쓰기 요청에 대해 저장할 데이터의 값과 상기 비휘발성 메모리의 주소를 포함하는 로그를 생성하는 단계;
    (b) 트랜잭션 완료 요청을 받으면, 상기 로그들을 상기 비휘발성 메모리의 트랜잭션 버퍼에 저장하는 단계; 및
    (c) 트랜잭션 완료 이후, 상기 트랜잭션 버퍼 내의 로그들이 지정하는 주소를 서로 비교하여 같은 페이지에 해당하는 데이터들을 상기 비휘발성 메모리의 해당 영역에 페이지 단위로 저장하는 단계를 포함하는 것을 특징으로 하는 비휘발성 메모리에의 데이터 저장 방법.
  4. 제 3 항에 있어서, 상기 방법은 휘발성 메모리를 더 포함하는 장치에서 수행되며,
    상기 (c) 단계는,
    (c1) 상기 트랜잭션 버퍼 내의 로그들이 지정하는 주소를 서로 비교하여 같은 페이지에 해당하는 것들을 찾는 단계;
    (c2) 상기 같은 페이지에 해당하는 로그들에 대하여 해당하는 상기 비휘발성 메모리의 페이지의 내용을 상기 휘발성 메모리로 복사하는 단계;
    (c3) 상기 같은 페이지에 해당하는 로그들의 내용을 반영하여 상기 휘발성 메모리의 페이지 영역에 해당 데이터를 저장하는 단계;
    (c4) 상기 휘발성 메모리의 페이지의 내용을 해당하는 상기 비휘발성 메모리의 페이지 영역으로 복사하는 단계; 및
    (c5) 상기 같은 페이지에 해당하는 로그들을 트랜잭션 버퍼에서 삭제하는 단계를 포함하는 것을 특징으로 하는 비휘발성 메모리에의 데이터 저장 방법.
  5. 제 3 항에 있어서, 상기 (c) 단계는,
    (c1) 트랜잭션 완료 이후의 데이터 쓰기 요청을 받으면, 해당 쓰기 요청에 대응하는 상기 비휘발성 메모리의 주소와 상기 트랜잭션 버퍼 내의 로그들이 지정하는 주소를 비교하여 같은 페이지에 해당하는 데이터들을 해당 비휘발성 메모리의 영역에 페이지 단위로 저장하는 단계를 포함하는 것을 특징으로 하는 비휘발성 메모리에의 데이터 저장 방법.
  6. 제 5 항에 있어서, 상기 (c1) 단계는,
    (c1-1) 상기 로그들 중에 상기 쓰기 요청에 대응하는 주소와 같은 페이지 내인 주소를 요구하는 것들이 있는지 찾는 단계;
    (c1-2) 상기 해당하는 로그들이 있는 경우, 해당 로그들의 내용 및 상기 쓰기 요청의 내용을 반영하여 해당 비휘발성 메모리 페이지에 데이터를 저장하는 단계; 및
    (c1-3) 상기 해당하는 로그들이 없는 경우, 상기 쓰기 요청에 따라 해당하는 비휘발성 메모리 페이지에 데이터를 저장하는 단계를 포함하는 것을 특징으로 하는 비휘발성 메모리에의 데이터 저장 방법.
  7. 제 6 항에 있어서, 상기 방법은 휘발성 메모리를 더 포함하는 장치에서 수행되며,
    상기 (c1-2) 단계는,
    상기 쓰기 요청에 대응하는 해당 비휘발성 메모리의 페이지를 상기 휘발성 메모리로 복사하는 단계;
    상기 해당 로그들의 내용 및 상기 쓰기 요청의 내용을 반영하여 상기 휘발성 메모리의 영역에 데이터를 저장하는 단계;
    상기 휘발성 메모리의 영역을 해당하는 상기 비휘발성 메모리의 페이지 영역으로 복사하는 단계; 및
    상기 해당 로그들을 트랜잭션 버퍼에서 삭제하는 단계를 포함하는 것을 특징으로 하는 비휘발성 메모리에의 데이터 저장 방법.
  8. 제 3 항에 있어서,
    상기 (a) 단계의 수행 중 트랜잭션 중지 요청을 받으면, 상기 생성된 로그들을 모두 삭제하고 다음 트랜잭션에 대해 (a) 단계부터 다시 수행하는 것을 특징으로 하는 비휘발성 메모리에의 데이터 저장 방법.
  9. 제 3 항에 있어서,
    상기 (b) 단계의 수행 중, 상기 로그들 전부가 상기 트랜잭션 버퍼에 저장되기 전에 트랜잭션 중지 요청을 받으면, 상기 트랜잭션 버퍼의 로그들을 모두 삭제하고 다음 트랜잭션에 대해 (a) 단계부터 다시 수행하는 것을 특징으로 하는 비휘발성 메모리에의 데이터 저장 방법.
  10. 제 3 항에 있어서, 상기 (b) 단계는,
    상기 로그들을 해당 비휘발성 메모리의 페이지별로 분류하여 저장하는 단계를 포함하는 것을 특징으로 하는 비휘발성 메모리에의 데이터 저장 방법.
  11. 제 3 항에 있어서,
    상기 (a) 내지 (c) 단계는 연속되는 트랜잭션에 대해 수행되며,
    먼저 수행되는 트랜잭션에 대한 상기 (c) 단계와 그 다음 수행되는 트랜잭션에 대한 상기 (a) 단계는 병행하여 수행되는 것을 특징으로 하는 비휘발성 메모리에의 데이터 저장 방법.
  12. 제 3 항에 있어서, 상기 트랜잭션 버퍼에 로그를 저장함에 있어서, 큐, 원형 큐, 또는 링크드 리스트의 형태로 저장하는 것을 특징으로 하는 비휘발성 메모리에의 데이터 저장 방법.
  13. 트랜잭션 버퍼를 포함하는 비휘발성 메모리;
    트랜잭션 수행 중의 데이터 쓰기 요청들에 대해, 저장할 데이터의 값과 상기 비휘발성 메모리의 주소를 포함하는 로그들을 생성하여 상기 트랜잭션 버퍼에 저장하는 로그 생성부; 및
    트랜잭션 완료 이후에 상기 로그들이 지정하는 주소를 비교하여 같은 페이지에 해당하는 데이터들을 상기 비휘발성 메모리의 해당 영역에 페이지 단위로 저장하는 데이터 저장부를 포함하는 것을 특징으로 하는 데이터 저장 장치.
  14. 삭제
KR10-2002-0059763A 2002-10-01 2002-10-01 비휘발성 메모리에의 데이터 저장 방법 및 장치 KR100484485B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR10-2002-0059763A KR100484485B1 (ko) 2002-10-01 2002-10-01 비휘발성 메모리에의 데이터 저장 방법 및 장치
JP2002310262A JP3830886B2 (ja) 2002-10-01 2002-10-24 不揮発性メモリへのデータ貯蔵方法
US10/348,711 US6970970B2 (en) 2002-10-01 2003-01-22 Method of storing data in a non-volatile memory and apparatus therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0059763A KR100484485B1 (ko) 2002-10-01 2002-10-01 비휘발성 메모리에의 데이터 저장 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20040032199A KR20040032199A (ko) 2004-04-17
KR100484485B1 true KR100484485B1 (ko) 2005-04-20

Family

ID=32026110

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0059763A KR100484485B1 (ko) 2002-10-01 2002-10-01 비휘발성 메모리에의 데이터 저장 방법 및 장치

Country Status (3)

Country Link
US (1) US6970970B2 (ko)
JP (1) JP3830886B2 (ko)
KR (1) KR100484485B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101149539B1 (ko) 2010-12-03 2012-06-01 한국조폐공사 스마트 카드 및 스마트 카드의 트랜잭션 수행 방법

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7409587B2 (en) * 2004-08-24 2008-08-05 Symantec Operating Corporation Recovering from storage transaction failures using checkpoints
US7421544B1 (en) * 2005-04-04 2008-09-02 Sun Microsystems, Inc. Facilitating concurrent non-transactional execution in a transactional memory system
KR100729616B1 (ko) * 2005-07-13 2007-06-19 삼성전자주식회사 볼륨 데이터 저장 방법
KR100678926B1 (ko) * 2006-01-05 2007-02-06 삼성전자주식회사 로그 정보 관리 시스템 및 방법
US7992203B2 (en) 2006-05-24 2011-08-02 Red Hat, Inc. Methods and systems for secure shared smartcard access
US7822209B2 (en) 2006-06-06 2010-10-26 Red Hat, Inc. Methods and systems for key recovery for a token
US8098829B2 (en) 2006-06-06 2012-01-17 Red Hat, Inc. Methods and systems for secure key delivery
US8364952B2 (en) 2006-06-06 2013-01-29 Red Hat, Inc. Methods and system for a key recovery plan
US8495380B2 (en) 2006-06-06 2013-07-23 Red Hat, Inc. Methods and systems for server-side key generation
US8180741B2 (en) 2006-06-06 2012-05-15 Red Hat, Inc. Methods and systems for providing data objects on a token
US8332637B2 (en) 2006-06-06 2012-12-11 Red Hat, Inc. Methods and systems for nonce generation in a token
US9769158B2 (en) 2006-06-07 2017-09-19 Red Hat, Inc. Guided enrollment and login for token users
US8707024B2 (en) 2006-06-07 2014-04-22 Red Hat, Inc. Methods and systems for managing identity management security domains
US8412927B2 (en) 2006-06-07 2013-04-02 Red Hat, Inc. Profile framework for token processing system
US8589695B2 (en) 2006-06-07 2013-11-19 Red Hat, Inc. Methods and systems for entropy collection for server-side key generation
US8099765B2 (en) 2006-06-07 2012-01-17 Red Hat, Inc. Methods and systems for remote password reset using an authentication credential managed by a third party
US8806219B2 (en) 2006-08-23 2014-08-12 Red Hat, Inc. Time-based function back-off
US8787566B2 (en) 2006-08-23 2014-07-22 Red Hat, Inc. Strong encryption
US8074265B2 (en) 2006-08-31 2011-12-06 Red Hat, Inc. Methods and systems for verifying a location factor associated with a token
US8977844B2 (en) 2006-08-31 2015-03-10 Red Hat, Inc. Smartcard formation with authentication keys
US8356342B2 (en) 2006-08-31 2013-01-15 Red Hat, Inc. Method and system for issuing a kill sequence for a token
US9038154B2 (en) 2006-08-31 2015-05-19 Red Hat, Inc. Token Registration
KR100816053B1 (ko) * 2006-11-21 2008-03-21 엠텍비젼 주식회사 셀프 카피 기능을 가지는 메모리 장치, 메모리 시스템 및듀얼 포트 메모리 장치
US7747813B2 (en) * 2006-11-24 2010-06-29 Sandforce, Inc. Multi-memory device system and method for managing a lifetime thereof
WO2008063647A2 (en) * 2006-11-24 2008-05-29 Sandforce Inc. Delaying an operation that reduces a lifetime of memory
US7809900B2 (en) * 2006-11-24 2010-10-05 Sandforce, Inc. System, method, and computer program product for delaying an operation that reduces a lifetime of memory
US7904619B2 (en) 2006-11-24 2011-03-08 Sandforce, Inc. System, method, and computer program product for reducing memory write operations using difference information
US8693690B2 (en) 2006-12-04 2014-04-08 Red Hat, Inc. Organizing an extensible table for storing cryptographic objects
US7904672B2 (en) 2006-12-08 2011-03-08 Sandforce, Inc. System and method for providing data redundancy after reducing memory writes
JP2008146446A (ja) * 2006-12-12 2008-06-26 Win System:Kk データ書き込み方法および表示器
US8813243B2 (en) 2007-02-02 2014-08-19 Red Hat, Inc. Reducing a size of a security-related data object stored on a token
US8832453B2 (en) 2007-02-28 2014-09-09 Red Hat, Inc. Token recycling
US8639940B2 (en) 2007-02-28 2014-01-28 Red Hat, Inc. Methods and systems for assigning roles on a token
US9081948B2 (en) 2007-03-13 2015-07-14 Red Hat, Inc. Configurable smartcard
JP5009700B2 (ja) * 2007-06-26 2012-08-22 株式会社リコー データ記憶装置、プログラムおよびデータ記憶方法
KR101472797B1 (ko) * 2007-07-16 2014-12-15 삼성전자주식회사 데이터를 읽거나 쓰기 위한 방법 및 장치
US7849275B2 (en) 2007-11-19 2010-12-07 Sandforce, Inc. System, method and a computer program product for writing data to different storage devices based on write frequency
US7903486B2 (en) 2007-11-19 2011-03-08 Sandforce, Inc. System, method, and computer program product for increasing a lifetime of a plurality of blocks of memory
DE102008051575A1 (de) * 2008-10-14 2010-04-15 Giesecke & Devrient Gmbh Verfahren und Vorrichtung zur Verwaltung eines Datenspeichers
US8516166B2 (en) * 2009-07-20 2013-08-20 Lsi Corporation System, method, and computer program product for reducing a rate of data transfer to at least a portion of memory
US8589730B2 (en) * 2010-08-31 2013-11-19 Apple Inc. Handling errors during device bootup from a non-volatile memory
US8706955B2 (en) 2011-07-01 2014-04-22 Apple Inc. Booting a memory device from a host
WO2013039494A1 (en) * 2011-09-14 2013-03-21 Hewlett-Packard Development Company, L.P. Imparting durability to a transactional memory system
JP5971713B2 (ja) 2012-09-20 2016-08-17 株式会社東芝 Icカード
US10241711B2 (en) 2013-03-14 2019-03-26 Hewlett-Packard Enterprise Development LP Multiversioned nonvolatile memory hierarchy for persistent memory
CN104778133B (zh) * 2014-01-09 2017-09-22 苏州融卡智能科技有限公司 增加智能卡可编程只读存储器寿命的方法
KR101665045B1 (ko) * 2014-02-14 2016-10-12 울산과학기술원 저장장치 io 성능 향상을 위한 멀티 버전 기반의 자료구조를 사용한 데이터 저장 방법 및 장치
US20170091254A1 (en) * 2015-09-24 2017-03-30 Kshitij A. Doshi Making volatile isolation transactions failure-atomic in non-volatile memory
US10997153B2 (en) * 2018-04-20 2021-05-04 Hewlett Packard Enterprise Development Lp Transaction encoding and transaction persistence according to type of persistent storage
CN112948172B (zh) * 2021-02-01 2023-01-20 北京中电华大电子设计有限责任公司 一种基于具有页原子性flash芯片的镜像保护方法和数据结构

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980076475A (ko) * 1997-04-10 1998-11-16 윤종용 소형컴퓨터시스템인터페이스방식 접속을 위한 메모리장치
JPH1196779A (ja) * 1997-09-17 1999-04-09 Victor Co Of Japan Ltd フラッシュ型メモリ,その管理方法,記憶装置,コンピュータシステム
JP2001092713A (ja) * 1999-09-21 2001-04-06 Hitachi Kokusai Electric Inc データ書き込み装置とその書き込み方法
JP2001147855A (ja) * 1999-11-19 2001-05-29 Nec Corp 不揮発性メモリへのデータ書き込み方法および情報処理装置ならびに記録媒体
JP2001318824A (ja) * 2000-05-10 2001-11-16 Nec Miyagi Ltd フラッシュメモリのデータ管理方式およびそのプログラムを記録した記録媒体

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3763992B2 (ja) * 1999-03-30 2006-04-05 富士通株式会社 データ処理装置及び記録媒体
GB0028516D0 (en) * 2000-11-23 2001-01-10 Ibm Data logging method ,apparatus,system and computer program
KR100389867B1 (ko) * 2001-06-04 2003-07-04 삼성전자주식회사 플래시 메모리 관리방법
US7248872B2 (en) * 2002-01-08 2007-07-24 International Business Machines Corporation Method, system, and program for providing information on users of wireless devices in a database to a personal information manager
US6721765B2 (en) * 2002-07-02 2004-04-13 Sybase, Inc. Database system with improved methods for asynchronous logging of transactions

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980076475A (ko) * 1997-04-10 1998-11-16 윤종용 소형컴퓨터시스템인터페이스방식 접속을 위한 메모리장치
JPH1196779A (ja) * 1997-09-17 1999-04-09 Victor Co Of Japan Ltd フラッシュ型メモリ,その管理方法,記憶装置,コンピュータシステム
JP2001092713A (ja) * 1999-09-21 2001-04-06 Hitachi Kokusai Electric Inc データ書き込み装置とその書き込み方法
JP2001147855A (ja) * 1999-11-19 2001-05-29 Nec Corp 不揮発性メモリへのデータ書き込み方法および情報処理装置ならびに記録媒体
JP2001318824A (ja) * 2000-05-10 2001-11-16 Nec Miyagi Ltd フラッシュメモリのデータ管理方式およびそのプログラムを記録した記録媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101149539B1 (ko) 2010-12-03 2012-06-01 한국조폐공사 스마트 카드 및 스마트 카드의 트랜잭션 수행 방법

Also Published As

Publication number Publication date
KR20040032199A (ko) 2004-04-17
JP3830886B2 (ja) 2006-10-11
US20040064635A1 (en) 2004-04-01
US6970970B2 (en) 2005-11-29
JP2004127205A (ja) 2004-04-22

Similar Documents

Publication Publication Date Title
KR100484485B1 (ko) 비휘발성 메모리에의 데이터 저장 방법 및 장치
US6857047B2 (en) Memory compression for computer systems
CN100394391C (zh) 用于在计算机系统上存储数据的系统和方法
US8266365B2 (en) Ruggedized memory device
US6824064B2 (en) Concurrent communication with multiple applications on a smart card
US7949839B2 (en) Managing memory pages
JP2008508596A (ja) Nvramを使用するメモリ管理のためのシステム、方法、コンピュータ可読媒体、および装置
US7802072B2 (en) Data storage device, memory management method and program for updating data recorded in each of a plurality of physically partitioned memory areas
US20090210615A1 (en) Overlay management in a flash memory storage device
GB2348306A (en) Batch processing of tasks in data processing systems
US20070294550A1 (en) Memory Management With Defragmentation In A Computing Device
US7200705B2 (en) Method of checkpointing state of virtual memory for process
US6209062B1 (en) Method for holding cache pages that are not invalidated within normal time duration for a second access or that are likely to be accessed again soon
KR101392062B1 (ko) 고속 컴퓨터 시스템 파워 온 및 파워 오프 방법
US5678024A (en) Method and system for dynamic performance resource management within a computer based system
US7167964B1 (en) Memory defragmentation in chipcards
US20050027954A1 (en) Method and apparatus to support the maintenance and reduction of FLASH utilization as it pertains to unused or infrequently referenced FLASH data
EP3407633B1 (en) A method of managing integrated circuit cards, corresponding card and apparatus
JP5853590B2 (ja) Icチップ、icチップにおける処理方法、icチップ用処理プログラム、及びicカード等
JP4888713B2 (ja) コンピュータシステムの起動方法、情報処理装置及びプログラム
JP5853559B2 (ja) Icチップ、icチップにおける処理方法、icチップ用処理プログラム、及びicカード
KR20070030041A (ko) 페이징 기법을 이용한 이동통신 단말기의 메모리 관리 방법
JP2003331239A (ja) メモリ再配置機能を有するicカード
KR20020068651A (ko) 제자리 실행(eXecute In Place: XIP) 태스크의 실행과플래시 메모리의 재생과정을 고려한 확장된 태스크스케줄링 알고리즘

Legal Events

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

Payment date: 20110411

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee