KR20020010926A - 분리된 메모리 영역 내에 상이한 버전의 데이터 세트를저장하는 장치 및 메모리 내의 데이터 세트를 갱신하는 방법 - Google Patents

분리된 메모리 영역 내에 상이한 버전의 데이터 세트를저장하는 장치 및 메모리 내의 데이터 세트를 갱신하는 방법 Download PDF

Info

Publication number
KR20020010926A
KR20020010926A KR1020017015921A KR20017015921A KR20020010926A KR 20020010926 A KR20020010926 A KR 20020010926A KR 1020017015921 A KR1020017015921 A KR 1020017015921A KR 20017015921 A KR20017015921 A KR 20017015921A KR 20020010926 A KR20020010926 A KR 20020010926A
Authority
KR
South Korea
Prior art keywords
tag
memory
data
data set
page
Prior art date
Application number
KR1020017015921A
Other languages
English (en)
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 헨드리쿠스 하롤트 판 안델
Publication of KR20020010926A publication Critical patent/KR20020010926A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44536Selecting among different versions
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)
  • Exchange Systems With Centralized Control (AREA)
  • Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Investigating Or Analysing Biological Materials (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명에 따른 데이터 세트의 영속적인 저장을 지원하기 위한 데이터 구조를 저장하는 컴퓨터로 판독 가능한 매체에 있어서, 상기 데이터 구조는 (a) 최초 버전만을 식별하기 위한 적어도 하나의 제1 태그를 구비하는 제1 메모리 영역 내의 데이터 세트의 적어도 하나의 최초 버전과, (b) 가장 최근에 갱신된 버전만을 식별하기 위한 적어도 하나의 제2 태그를 구비하는 제2의 다른 메모리 영역 내의 데이터 세트의 적어도 하나의 가장 최근에 갱신된 버전을 구비하고 있다. 본 발명은 또한 프로세서 및 그러한 컴퓨터로 판독 가능한 매체를 구비하는 컴퓨터 장치 뿐만 아니라 그러한 태그된 데이터 구조를 갖는 데이터 세트를 갱신하는 방법에 관한 것이다.

Description

분리된 메모리 영역 내에 상이한 버전의 데이터 세트를 저장하는 장치 및 메모리 내의 데이터 세트를 갱신하는 방법{ARRANGEMENTS STORING DIFFERENT VERSIONS OF A SET OF DATA IN SEPARATE MEMORY AREAS AND METHOD FOR UPDATING A SET OF DATA IN A MEMORY}
일반적으로 금융 거래 프로세스와 같은 일부의 어플리케이션에서, 저장은 매우 안전하게 실행되어야 한다. 그러한 안전한 저장 어플리케이션은 영구 저장 장치에서 "갱신의 원자성(atomicity of update)"을 필요로하는 것으로 공지되어 있다. 그러한 안전한 갱신을 수행하기 위해, 갱신 로그의 사용이 종래 기술로부터 공지되어 있다. 그러한 갱신 로그는 데이터 세트의 일부가 갱신 세션 중에 변경되어야만 한다는 것을 나타낸다. 갱신된 부분과 함께 데이터의 세트가 메모리 내에 저장될때, 이전의 버전의 데이터 세트에 대한 모든 레퍼런스(reference)는 제거될 수 있다.
본 발명은 메모리 영역 내에 적어도 하나의 데이터 세트를 포함하는 메모리 장치에 관한 것이다. 메모리 장치는 휘발성 RAM 장치 또는 EEPROM, FLASH-EPROM 또는 ROM 등과 같은 비휘발성 실리콘 장치로 구현될 수 있다. 일반적으로, 그러한 메모리는 운영 체제 소프트웨어 모듈, 어플리케이션 프로그램 및 어플리케이션 데이터를 저장한다. 본 발명에 따른 그러한 컴퓨터 시스템이 특히 적용될 수 있는 영역에서, 일부 또는 전체의 운영 체제 소프트웨어 모듈은 ROM에 저장된다.
도 1은 본 발명에 따른 일실시예를 도시하는 도면.
도 2는 본 발명에 따른 메모리의 가능한 배치를 도시하는 도면.
도 3은 도 2에 따른 배치의 가능한 실시예의 메모리 페이지의 콘텐츠를 도시하는 도면.
도 4는 본 발명에 따른 방법을 도시하는 도면.
도 5는 본 발명에 따른 메모리 관리 장치의 가능한 배치를 도시하는 도면.
본 발명의 목적은 비휘발성 메모리 장치, 특히 EEPROM 또는 Flash-EEPROM 등과 같은 실리콘 저장 장치에 저장된 데이터에 대한 갱신의 원자성을 위한 메카니즘을 제공함으로써 영속적인 어플리케이션 데이터 저장을 지원하는데 있다.
따라서, 본 발명은 데이터 세트의 영속적인 저장을 지원하기 위한 데이터 구조를 저장하는 컴퓨터로 판독 가능한 매체에 관한 것으로, 데이터 구조는 (a) 최초 버전만을 식별하기 위한 적어도 하나의 제1 태그를 구비하고 있는 제1 메모리 영역 내의 적어도 하나의 최초 버전의 데이터 세트와, (b) 가장 최근에 갱신된 버전만을 식별하기 위한 적어도 하나의 제2 태그를 구비하고 있는 제2의 다른 메모리 영역 내의 적어도 하나의 가장 최근에 갱신된 버전의 데이터 세트를 포함하고 있다.
상이한 메모리 영역과 관련된 그러한 유일한 태그의 어플리케이션으로 어떠한 버전이 더 오래된 버전인지를 식별할 수 있다. 또한, 그러한 태그의 어플리케이션으로 어떠한 버전이 동일한 고유의 데이터 세트와 관련되는 지를 식별할 수 있다. 이와 같이, 메모리에서 다양한 버전의 상이한 데이터 세트가 동시에 존재할 수 있다. 또한, 가장 최근에 갱신된 버전을 갱신하는 중에, 가장 최근에 갱신된 버전 뿐만 아니라 보다 오래된 버전도 메모리로부터 제거되지 않는다. 단지 가장 최근에 갱신된 버전의 갱신 동작이 완전히 종결된 후에, 최초의 버전의 데이터 세트가 메모리로부터 제거될 수 있다.
갱신 동작 중에, 갱신이 인터럽트될 때, 가장 최근에 갱신된 버전은 메모리에 여전히 존재하여, 적어도 하나의 유효 버전의 데이터 세트의 존재를 보증한다. 이와 같이, "갱신의 원자성"이 보증된다. 그러한 원자성 갱신은 갱신 동작이 디스럽될지라도, 데이터의 완전한 대체 또는 변경되지 않은 이전에 저장된 데이터를 보증한다.
일실시예에서, 각각의 버전의 데이터 세트는 하나 또는 그 이상의 메모리 페이지에 저장되고, 각각의 메모리 페이지는 각각의 태그가 데이터 세트에 대한 레퍼런스, 버전 번호 및 페이지 번호를 포함하는 하나의 태그를 구비하고 있다.
페이지는 관련된 저장 기술에 적절한 유니티로서 취급되는 연속적인 메모리 위치의 메모리 영역으로 정의된다. 각각의 페이지는 하나의 워드 라인에 대응할 수 있어, 메모리 유닛의 판독 및 기록 동작을 용이하게 할 수 있다. 다양한 세대의 데이터 세트에 버전 번호가 부여된다. 이와 같이, 상이한 버전의 번호는 상이한 세대와 관련된다. 상이한 페이지 번호는 데이터 세트의 동일한 세대 내의 상이한 페이지를 나타낸다.
본 발명은 또한 프로세서 및 상기 정의된 바와 같이 적어도 하나의 컴퓨터 로 판독 가능한 매체를 구비하는 컴퓨터 장치에 관한 것이다.
바람직하게도, 프로세서가 배치되어 콘텐츠에 대해 중복(redundancy)하여 태그를 기록하고, 메모리 장치로부터 태그를 판독한 후에, 중복으로부터 기록 에러가 발생했는지 발생하지 않았는지를 분석한다. 그러한 중복은 관련된 태그와 태그가 나타내는 데이터 세트가 유효값을 갖고 있는지를 나타내는 것으로서 사용될 수 있다. 관련된 태그 및 태그가 참조하는 데이터 세트가 유효값을 갖는지 갖지 않는지를 지시하는 것으로서 그러한 중복이 사용될 수 있다.
바람직하게도, 가장 최근에 갱신된 버전은 각각의 페이지가 유일한 태그를 갖는 복수의 페이지를 포함하고, 가장 최근에 갱신된 버전의 데이터 세트를 갱신하기 위해 프로세서가 배치되어 복수의 페이지 중의 소정의 페이지의 소정의 태그를 갱신의 마지막 단계로서 메모리 장치에 기록한다. 마지막으로 기록되는 소정의 태그는 프로세서에 의해 판독될 수 있다. 만약 프로세서가 메모리 장치 내의 소정의 태그의 존재를 감지한다면, 프로세서는 갱신 동작이 완전히 종결되었다고 결론지을 수 있다.
그러한 태그의 어플리케이션은 여러가지의 새로운 옵션을 허용한다. 예를 들면, 적어도 하나의 태그는 소유권 및 사용권을 나타내기 위한 부가적인 데이터를 구비할 수 있고, 이러한 부가적인 데이터로부터 소유권 및 사용권을 인식하기 위해 프로세서가 배치된다.
사용권은 데이터 세트의 상이한 부분에 대해 다를 수 있고, 프로세서는 이러한 상이한 부분에 대한 상이한 사용권을 인식하기 위해 배치될 수 있다.
바람직하게도, 프로세서가 태그값을 분석하기 위해 배치되고 태그값을 통한 레퍼런스에 의해 데이터 세트의 버전에 접근할 수 있다. 이와 같이, 데이터 세트의 상이한 버전에 대한 액세스는 일반적인 프로그램 카운터에 의해 제어되는 것이 아니고 태그값에 의해 제어된다. 즉, 메모리는 콘텐츠 어드레서블 메모리가 된다.
이후의 실시예에서, 프로세서는 바람직하게도 중앙 처리 장치와 다른 메모리관리 장치를 포함하고, 태그값은 이러한 메모리 관리 장치에만 알려져 있다. 그후, 메모리 장치의 물리적인 어드레스 공간은 중앙 처리 장치의 어드레스 공간 내에 포함되지 않고, 특히 어플리케이션 프로그램 또는 운영 체제 소프트웨어 명령이 저장되는 어드레스 공간 내에 포함되지 않는다. 이러한 방식으로, '프로빙(probing)'에 대한 부가적인 보호가 취득될 수 있다. 이러한 잠재적인 보호을 실현하기 위해, 메모리 관리 장치는 중앙 처리 장치에 태그 크기의 어드레스 레지스터와 함께 부가적인 인터페이스 기능성을 제공한다.
저장된 데이터의 안전성을 증가시키기 위해, 메모리 관리 장치는 태그를 메모리에 기록하기 전에 태그를 암호키로 암호화 할 수 있고, 암호키는 메모리 관리 장치에만 공지되어 있다. 그러한 암호키는 암호의 일방향 함수와 관련이 있다.
본 발명은 또한 데이터 세트의 영속적인 저장을 지원하기 위한 방법에 관한 것으로, 이러한 방법은 (a) 최초 버전의 데이터 세트를, 최초 버전만을 식별하는 제1 태그를 구비하고 있는 제1 메모리 영역 내에 저장하는 단계와, (b) 가장 최근에 갱신된 버전의 데이터 세트를, 가장 최근에 갱신된 버전만을 식별하는 제2 태그를 구비하는 제2의 다른 메모리 영역에 저장하는 단계를 포함하고 있다.
이하에서, 본 발명은 발명의 기술적 범주를 제한하지 않고서 본 발명을 설명하도록 의도된 몇몇의 도면을 참조하여 상세히 설명될 것이다.
도 1은 본 발명에 따른 하나의 가능한 배치를 도시하는 도면이다. 중앙 처리 장치(2)는 입력/출력 장치(12)에 접속되고 ROM(6), RAM(8) 및 비휘발성 메모리(10)를 포함하는 메모리에 접속된다. 중앙 처리 장치(2)로부터 떨어지거나 또는 중앙 처리 장치 내에 배치되어 메모리 관리자(4)가 존재할 수 있다. 메모리 관리자(4)는 비휘발성 메모리(10)와 또는 바람직하게도 다른 메모리 부분(ROM)(6) 및 RAM(8)에 관여하는 메모리 기능을 수행하기 위해 배치된다. 도 1에 도시된 실시예는 데이터 저장의 모든 종류의 관리 시스템에 관한 것이다. 그러나, 본 발명은 하드 디스크 보다는 비휘발성 실리콘 장치에서의 데이터 저장에 대해 특히 유용하다. 중요한 어플리케이션은 삽입형 컴퓨터 시스템 분야 및 스마트 카드 등과 같은 단일 칩 컴퓨터 분야이다.
도 2는 본 발명에 따른 메모리에서 데이터 저장의 하나의 가능한 배치를 도시하고 있다. 비휘발성 데이터 메모리(10)는 저장 유닛으로 분할될 수 있다. 여기서, 이러한 메모리 저장 유닛은 "페이지"로서 칭한다. 편리하게도, 이러한 페이지는 동일한 크기 예를 들어, 메모리를 구현하기 위해 사용되는 실리콘 장치 내의 "워드 라인"의 크기와 동일 할 수 있다. 그러나, 페이지는 상이한 크기일 수 있다.메모리 콘텐츠는 메모리 관리자(4)에 의해 페이지마다 관리된다: 어플리케이션 데이터 저장의 할당, 갱신 및 해제(deallocation)는 하나 또는 그 이상의 페이지의 조작을 수반한다.
메모리는 어플리케이션 데이터 요소 세트의 상이한 세대(즉 버전)를 포함하고 있다. 각각의 세대는 하나 또는 그 이상의 페이지에 저장될 수 있다. 도 2는 메모리가 하나의 어플리케이션 데이터 요소 세트의 3 개의 상이한 세대(k, k+1, k+2)를 포함하고 있는 상황을 도시하고 있다. 이러한 실시예에서 세대 k는 3 개의 페이지(1,2,3)를 점유하고, 세대(k+1)는 2 개의 페이지(i, i+1)를 점유하고, 세대(k+2)는 2 개의 페이지(n, n+1)를 점유하고 있다. 세대 k는 메모리 내의 어플리케이션 데이터 요소 세트의 최초 버전이고, 세대 k+2는 어플리케이션 데이터 요소 세트의 가장 최근에 갱신된 버전이다. 각각의 세대(k, k+1, k+2)는 소프트웨어 객체의 상이한 버전에 관련된다.
단일 세트의 어플리케이션 데이터 요소에 대한 레퍼런스로서 여기서 사용되는 용어인 "데이터 청크(data chunk)"를 형성하기 위해 세대(k, k+1, k+2)를 나타내었다. 저장에 필요한 페이지가 메모리 관리자(4)에 의해 결정되듯이 페이지에 의해 점유되지 않은 메모리 내의 임의의 위치로부터 할당된다. 도 2에 도시된 데이터 청크의 상이한 세대(k, k+1, k+2)는 연속적인 메모리 위치로 메모리에 저장되거나 또는 저장되지 않을 수 있다. 메모리 관리자(4)는 상이한 세대를 어디에 저장할 것인지를 결정하기 위한 유닛이다. 심지어 하나의 세대 내의 페이지가 연속적인 페이지로 저장될 필요는 없다. 이것을 설명하기 위해, 페이지 n 및 n+1이 서로멀리 떨어져 위치(페이지 사이에 점으로 표시)하는 것으로 도시되어 있다.
실제로, 메모리는 여러개의 "데이터 청크" 예를 들어, 상이한 데이터 세트 의 여러 세트의 세대를 포함할 것이다.
본 발명에 따라 구성되고 관리되는 메모리에서, 메모리 관리자(4)에 의해 실행되는 관리 방침에 의해 갱신의 원자성이 제공된다. 데이터가 저장된 후에, 어플리케이션 데이터 요소 세트의 버전에 관련된 데이터는 동일한 메모리 영역에서 결코 변경될 수 없다. 즉, 일단 페이지가 생성되면 결코 변경될 수 없다. 마지막으로 갱신된 어플리케이션 데이터 요소의 세트가 중앙 처리 장치(2)에서 실행되는 어플리케이션 프로그램에 따라 개정될 필요가 있을 때, 새로운 메모리 영역, 즉 새로운 세트의 페이지가 메모리 관리자(4)에 의해 할당된다. 이러한 새로운 메모리 영역에서, 변경되지 않은 어플리케이션 데이터 요소 세트의 데이터 요소의 값과 함께 임의로 변경된 값은 메모리 관리자(4)에 의해 저장된다. 이러한 방식으로, 메모리(10)는 언제든지 적어도 하나의 영속적이고 유효한 데이터 청크의 버전을 유지할 것이다.
그러한 갱신 동작이 예를 들어, 스마트 카드에 관련될 수 있다. 스마트 카드내의 데이터 갱신이 매우 짧은 시간(예를 들어, 대략 3 msec)을 취할 지라도, 스마트 카드는 통신 단자와의 데이터 거래를 종결하기 이전에 통신 단자로부터 벗어날 가능성이 약간 존재한다. 이와 같이, 데이터 갱신이 종결되기 이전에 인터럽트 될 수 있다. 이것이 발생될 때, 적어도 마지막으로 갱신된 버전은 스마트 카드의 메모리 내에 여전히 존재한다.
일실시예에서, 데이터 세트의 갱신을 종결한 후에, 메모리 관리자(4)는 최초데이터 세트의 버전을 저장하는 메모리 영역을 해제한다. 메모리 관리자(4)는 예를 들어, 어플리케이션 데이터 요소 세트의 단지 10 개의 버전의 존재를 제어할 수 있다. 실제로, 중앙 처리 장치(2)에서 실행되는 어플리케이션 프로그램은 메모리 관리자(4)와 상호 작용하여, 예를 들어 데이터 갱신의 종결을 나타내는 등의 데이터 갱신의 프로세스를 제어한다. 어플리케이션 프로그램은 메모리 관리자(4)가 메모리(10) 내의 기록 동작을 종결한 후에 메모리 관리자(4)에 갱신의 종결을 전달 할 것이다. 그러한 갱신 프로세스 시그널링은 거래 처리 시스템에서 통상적이다.
어플리케이션 데이터 요소 세트의 여러개의 버전이 메모리 내에 존재할 때, 데이터의 변경 히스토리는 메모리 관리자(4)를 통해 분석될 수 있다. 메모리 관리자(4)는 이전의 버전 내의 데이터 값을 검사하는, 그러나 변경하지 않도록 중앙 처리 장치(2)에서 실행되는 어플리케이션 프로그램에 대한 수단을 제공함으로써 히스토리 분석을 수행한다.
도 3은 본 발명에 따른 가능한 메모리 페이지 구조를 도시하고 있다. 메모리는 페이지로 분할된다고 가정한다. 도 3은 2 개의 페이지(i, i+1)를 도시하고 있다. 각각의 페이지(i, i+1)는 어플리케이션 프로그램 데이터 및 태그(i i+1)를 포함하고 있다. 바람직하게도, 태그값은 3 개의 부분 즉, "청크 식별자(chunk identifier)(chid)", 세대 카운트(gen#) 및 페이지 카운트(pg#)로 구성되어 있다. 청크 식별자는 저장된 데이터의 프로그래머의 유닛에 대한 유일한 레퍼런스로서 역할을 한다. 세대 카운터(gen#)는 저장된 데이터의 버전의 번호를 식별한다. 적어도2 개의 세대가 세대 카운터(gen#)에 의해 표시될 것이다. 페이지 카운터(pg#)는 페이지가 속하는 프로그램 데이터 세트의 세대 내에서 관련된 페이지의 페이지 번호를 나타낸다. 페이지 카운터(pg#)로 한세대의 데이터 세트의 데이터가 다수의 페이지에 저장될 수 있다.
본 발명의 특정 실시에서, 태그값은 특별한 암호화를 사용하여, 예를 들어 1로 설정된 비트의 적합한 번호를 중복 사용하여 메모리 내에 저장된다. 이러한 특별한 암호화는 메모리 관리자(4)에 의해 사용되어, 데이터 기록 동작이 정확/부정확한지를 검출한다. 비트의 적합한 번호가 1(즉 하이)로 검출된다면, 메모리 관리자(4)는 태그값이 유효 라고 결정한다. 만약 이러한 비트의 적합한 번호가 1로 설정되지 않는다면, 메모리 관리자(4)는 태그값이 무효라고 결정한다. 예를 들어, 스마트 카드의 사용자가 금융 거래의 종결 이전에 사용자의 스마트 카드를 단자로부터 벗어나게 할 때, 메모리 장치에 제공된 전원을 인터럽트함으로써 그러한 상황이 발생될 수 있다.
그러한 일실시예에서, 데이터 세트의 최초세대를 제거하기 이전에, 메모리 관리자(4)는 가장 최근에 갱신된 세대의 유효성을 결정할 것이다. 특별한 태그 암호화 방법은 사용된 실리콘 저장 장치의 물리적인 특성으로부터 결정될 수 있다. 메모리 장치가 전체적으로 페이지를 기록하지 못한다면 결국은 암호화가 무효가 될 매우 높은 가능성을 갖도록 선택되어야 할 것이다. 메모리 칩의 설계(즉, 사용된 트랜지스터 기술)에 따라, 새로운 데이터를 페이지에 기록하기 전에, 일부의 메모리는 최초로 특정한 페이지의 모든 메모리 위치값을 0 또는 1로 변경할 것이다. 따라서, 전술된 바와 같이, 태그 내의 비트의 적합한 번호가 1 인지를 확인하는 것이 때때로 더욱 바람직하고, 또 다른 경우에서는 비트의 적합한 번호가 0인, 비트의 적합한 번호의 존재를 확인하는 것이 바람직하다. 그후, 만약 태그 검사로 옳다고 판정되면, 태그와 관련된 페이지의 나머지의 콘텐츠가 또한 정확하게 기록되었는지 기록되지 않았는지는 공지된 가능성의 문제이다.
도 4는 저장된 어플리케이션 데이터의 버전을 갱신할 때, 본 발명의 일실시예에서 메모리 관리자(4)에 의해 수행되는 동작 시퀀스를 요약한 도면이고, 중앙 처리 장치(2)에서 실행되는 어플리케이션 프로그램에 의해 다음과 같이 유도된다:
a. 새로운 세트의 페이지를 메모리(10)에 할당, 단계(40);
b. 새로운 세트의 페이지의 각각의 새로운 페이지의 태그값을 정의, 단계(42);
c. 어플리케이션 프로그램 데이터를 개정된 양식으로 기록하고 메모리(10)에 대응되는 태그를 페이지마다 기록, 단계(44);
d. 결과가 옳다고 기록되는 각각의 페이지를 확인, 단계(46);
이러한 확인 단계는 전술된 바와 같이 태그값을 확인함으로써 수행될 수 있다;
e. 데이터 세트의 최초세대를 유지하는 페이지를 해제, 단계(48).
각각의 새로운 페이지에 대한 태그값은 부여된 청크 식별자(chid), 1로 증가되는 가장 최근에 갱신된 버전의 세대 카운트값(gen#) 및 페이지 카운트(pg#)로 정의된다.
바람직하게도, 페이지는 단계(c)에 나타낸 바와 같이, 페이지 마다 메모리(10)에 기록된다. 바람직하게도, 데이터 세트에 대한 페이지 세트의 하나의소정의 페이지는 마지막으로 기록되어야만 하고, 반면에 모든 다른 페이지는 임의의 순서로 기록될 수 있다. 편리하게도, 소정의 페이지는 새로운 세트 페이지의 제1 페이지이다. 실제로, 임의의 페이지는 부분적으로 기록될 수 있다. 예를 들어, 페이지의 태그값은 페이지 내의 어플리케이션 프로그램 데이터로부터 분리하여 기록될 수 있다. 그러나, 마지막으로 기록되는 소정의 페이지의 태그는 갱신 동작의 마지막 단계로 기록된다. 이것은 갱신 동작이 종결되었다는 분명한 증거이다. 소정의 페이지의 태그가 메모리에 기록될 때까지, 임의의 새로운 페이지에 기록되는 어플리케이션 프로그램 데이터는 또한 변경될 수 있다. 그러나, 페이지 데이터에 대한 부분적인 기록 및 변경은 본 발명으로 취득될 수 있는 이점을 감소시켜, 전체적인 기록 시간이 더욱 길어질 수 있다는 것을 유의해야 한다. EPROM 과 같은 비휘발성 메모리(10)의 기록은 요즈음 대략 3 msec의 비교적 긴 시간이 걸린다. 따라서, 완전히 변경된 데이터 세트가 저장될 준비가 되어 있을 때 메모리(10)에 한번에 기록하는 것이 최선책이고, 데이터 세트의 변경된 부분을 연속적인 시간 주기로 기록하지 않는 것이 바람직하다. 게다가, 종종 그러하듯이, 만약 시간이 활용 가능하다면, 종래 기술에서는 데이터 세트의 변경된 부분을 비휘발성 메모리에 기록하는 것이 일반적이다. 그러나, 이것은 기록 동작수를 증가시켜 비휘발성 메모리(10)의 불필요한 사용으로 이어진다.
따라서, 본 발명의 실시예에 따라, 바람직하게도, 데이터 세트를 완전히 개정하는데 필요한 모든 단계는 개정된 데이터 세트를 비휘발성 메모리(10)에 기록하기 이전에 RAM(8) 내의 데이터 세트의 워킹 카피(working copy)로 실행된다.
갱신 세션 내의 마지막 동작으로서 소정의 페이지의 태그값의 기록은 다수 페이지의 갱신의 원자성을 실현하는 유용한 수단이다. 그후, 소정의 페이지 내의 유효 태그의 존재 또는 부재는 "커밋(commit)" 플래그- 소정의 페이지 내에 기록 된 페이지의 유효성 및 전체의 갱신 프로세스의 돌이킬 수 없는 종결을 나타내는 소정의 페이지 내의 유효 태그-로서 역할을 한다.
어플리케이션 프로그램 데이터의 메모리 저장은 메모리 내에 저장된 데이터가 청그 식별자(chid)를 사용하는 어플리케이션에 의해 물리적으로 어드레스될 수 있을 때 더욱 확고해 질 수 있다. 그후, 메모리(10)는 "콘텐츠 어드레서블 메모리(CAM)"가 된다.
메모리 관리자(4) 및 중앙 처리 장치(2)가 하나의 물리적인 프로세싱 장치 내에 존재 할 지라도, 중앙 처리 장치(2) 및 메모리 관리자(4)가 서로 통신하도록 배치된 2 개의 물리적으로 다른 장치 라는 특징에 특히 유용하다. "물리적으로 다른"은 단일 칩 상에 제조된 장치를 나타낸다고 인식된다. 그후, 메모리(10)의 물리적인 어드레스 공간은 중앙 처리 장치(2)의 어드레스 공간에 포함되지 않고, 특히 어플리케이션 프로그램 또는 운영 시스템 소프트웨어 명령이 저장되는 어드레스 공간에 특히 포함되지 않는다. 그후, 만약 메모리 관리자(4)가 탬퍼 레지스턴트(tamper-resistant)(스마트 카드에서와 같이) 하다면, "프로빙"에 대한 부가적인 보호가 취득될 수 있다.
예를 들어, 스마트 카드에 대한 이러한 잠재적인 부가적인 보호를 실현하기 위해, 메모리 관리자(4)는 예를 들어, 태그 크기의 어드레스 레지스터(54) 및 페이지 데이터 크기의 데이터 레지스터(52)(도 5를 보라)를 포함하는 부가적인 인터페이스 기능성을 제공할 수 있다. 이러한 인터페이스(52,54)는 그후 메모리(10) 내에 저장된 태그를 스캐닝하고 매칭하기 위한 로직 기능을 실행하기 위한 로직 유닛(50)으로 보완된다. 즉, 로직 유닛(50)은 메모리(10)로부터 태그를 판독하고 태그값을 분석함으로써 메모리(10)를 어드레스 할 수 있다.
인터페이스(52, 54) 및 관련된 로직 유닛(50)은 하드웨어에서 실행될 수 있다.
부가적으로, 특정한 하드웨어 회로(56, 58)는 메모리(6,8,10)와 로직 유닛(50) 사이의 인터페이스 및 중앙 처리 장치(2)와 로직 유닛(50) 사이의 인터페이스로서 각각 존재할 수 있다. 논리 유닛(50)은 태그 비교의 로직 회로와 결합되는 전용의 어드레스 카운터을 제공할 수 있다. 대안의 하드웨어 회로는 적어도 태그값을 포함하도록 예약된 저장 비트에 대해 메모리 페이지 마다 구현되는 콘텐츠 어드레서블 메모리 로직 회로를 포함할 수 있다.
특별한 검출에 부가하여 태그값의 암호화가 암호 기술을 사용하여 더욱 암호화될 때, 본 발명에 따라 관리되는 메모리로 부가적인 안정성이 취득될 수 있다. 그러한 암호 태그의 암호화는 태그값 내에 포함된 청크 식별자(chid), 세대 카운트(gen#), 페이지 카운트(pg#)와 같은 구조적인 정보에 관련된 어플리케이션 데이터를 숨기도록 의도된다. 암호화가 종래 기술에 익숙한 자에 공지된 임의의 암호화 기술로서 실행될 수 있다. 하나의 유용한 방법은 일방향 함수 단계가 메모리 관리자(4)에만 공지된 비밀키에 관한 것인 비밀 암호의 일방향 함수의 사용을포함한다. 이러한 방법으로, 메모리 관리자(4)는 일방향 함수를 한번 또는 그 이상으로 이전의 세대의 암호화된 태그값에 적용하고, 그후 그로 인한 태그값을 가장 최근에 갱신된 세대의 태그값과 비교함으로써 이전의 세대를 인식할 수 있다. 이로서, 메모리 장치 콘텐츠의 악의로 자행된 "덤프(dump)"로부터 어플리케이션 프로그램 데이터의 재구성을 방해 할 것이다.
이전에 설명된 태그된 메모리 구조는 여러가지의 유용한 옵션을 제공한다. 예를 들어, 태그는 관련된 어플리케이션 프로그램 데이터의 소유권을 나타내기 위한 부가적인 데이터을 포함할 수 있다. 또한, 태그값 내의 그러한 부가적인 데이터는 어플리케이션 프로그램 데이터의 다양한 유저에 대한 사용권 또는 사용권의 세트를 나타낼 수 있다. 그러한 상이한 사용권은 예를 들어 메모리(10) 내의 어플리케이션 프로그램 데이터의 다양한 부분에 대한 다양한 액세스 조건에 관련될 수 있다. 어플리케이션 프로그램 데이터의 일부분은 예를 들어 리드 온리로서 정의될 수 있고, 어플리케이션 프로그램 데이터의 또 다른 부분은 판독/기록 액세스로 정의될 수 있다.
본 발명은 메모리가 연속적인 세대의 형태로 특정한 어플리케이션 데이터-요소에 대한 갱신 히스토리를 포함하기 때문에 메모리에 저장된 거래 로그를 효율적으로 제공할 수 있다.
전술된 바와 같이, 본 발명에 따라 관리되는 메모리 장치에 대한 기록 동작의 수는 공개된 메모리-갱신/거래 로깅 메카니즘을 사용하여 감소될 수 있다. 부가적으로, 본 발명에 의해 제공된 감소된 기록 동작의 수는 유용한 라이프(life)를확장함으로써 실리콘 저장 장치의 비용을 감소시킬 수 있다. 스마트 카드와 같은 탬퍼 레지스턴트의 단일 칩 컴퓨터 상의 비휘발성 메모리 내에 특히 저장된 데이터의 보완성이 증가하게 된다. 보완성의 증가는 소프트웨어에 의한 수단으로서 취득될 수 있다. 중앙 처리 장치(2)와 분리되어 있는, 다른 메모리 관리자(4)와 같은 하드웨어 수단 또한 보완성을 증가시킬 수 있지만 반드시 필요하지는 않다.

Claims (16)

  1. 데이터 세트의 영속적인 저장을 지원하기 위한 데이터 구조를 저장하는 컴퓨터로 판독 가능한 매체에 있어서, 상기 데이터 구조는,
    (a) 최초 버전만을 식별하기 위한 적어도 하나의 제1 태그를 구비하고 있는 제1 메모리 영역 내의 상기 데이터 세트의 적어도 하나의 최초 버전과;
    (b) 가장 최근에 갱신된 버전만을 식별하기 위한 적어도 하나의 제2 태그를 구비하는 제2의 다른 메모리 영역 내의 상기 데이터 세트의 적어도 하나의 가장 최근에 갱신된 버전을 포함하고 있는 것을 특징으로 하는 컴퓨터로 판독 가능한 매체.
  2. 제1항에 있어서, 상기 데이터 세트의 각각의 버전은 하나 또는 그 이상의 메모리 페이지에 저장되고, 각각의 메모리 페이지는 상기 데이터 세트에 대한 레퍼런스, 버전 번호 및 페이지 번호를 포함하는 하나의 태그를 구비하고 있는 것인 컴퓨터로 판독 가능한 매체.
  3. 제2항에 있어서, 상기 각각의 페이지는 하나의 워드 라인(word line)에 대응하는 것인 컴퓨터로 판독 가능한 매체.
  4. 프로세서(2;2,4)와, 제1항 내지 제3항 중의 어느 한 항에 따른 적어도 하나의 컴퓨터로 판독 가능한 매체를 구비하고, 상기 프로세서(2;2,4)는 상기 데이터 구조를 프로세스하기 위해 배치되는 것을 특징으로 하는 컴퓨터 장치.
  5. 제4항에 있어서, 상기 프로세서(2;2,4)가 배치되어, 콘텐츠에 대해 중복(redundancy)하여 태그를 기록하고, 메모리 장치로부터 태그를 판독한 후에, 상기 중복으로부터 기록 에러가 발생했는지 발생하지 않았는지를 분석하는 것인 컴퓨터 장치.
  6. 제4항 또는 제5항에 있어서, 상기 가장 최근에 갱신된 버전은 각각의 페이지가 유일한 태그를 갖는 복수의 페이지를 포함하고, 프로세서(2;2,4)는 상기 데이터 세트의 가장 최근에 갱신된 버전를 갱신하기 위해 배치되어, 복수의 페이지 중의 소정의 페이지의 소정의 태그를, 갱신의 마지막 단계로서 상기 메모리 장치에 기록하는 것인 컴퓨터 장치.
  7. 제4항 내지 제6항 중 어느 한 항에 있어서, 상기 적어도 하나의 태그는 소유권과 사용권을 나타내기 위한 부가적인 데이터를 구비하고, 상기 프로세서(2;2,4)가 이러한 부가적인 데이터로부터 소유권 및 사용권을 인식하기 위해 배치되는 것인 컴퓨터 장치.
  8. 제7항에 있어서, 상기 사용권은 상기 데이터 세트의 상이한 부분에 다르고,프로세서(2;2,4)는 이러한 상이한 부분에 대한 상이한 사용권을 인식하기 위해 배치되는 것인 컴퓨터 장치.
  9. 제4항 내지 제8항 중 어느 한 항에 있어서, 상기 프로세서(2;2,4)는 태그값을 분석하기 위해 배치되고, 상기 태그값을 통한 레퍼런스에 의해 상기 데이터 세트의 상기 버전에 액세스 할 수 있는 것인 컴퓨터 장치.
  10. 제9항에 있어서, 상기 프로세서는 중앙 처리 장치(2)와, 다른 메모리 관리 장치(4)를 포함하고, 태그값은 메모리 관리 장치(4)에만 공지되는 것인 컴퓨터 장치.
  11. 제10항에 있어서, 상기 메모리 관리 장치(4)는 태그를 컴퓨터로 판독 가능한 매체에 기록하기 이전에 암호키로 태그를 암호화하고, 상기 암호키는 메모리 관리 장치(4)에만 공지되는 것인 컴퓨터 장치.
  12. 제11항에 있어서, 상기 암호키는 암호의 일방향 함수와 관련되는 것인 컴퓨터 장치.
  13. 데이터 세트의 영속적인 저장을 지원하기 위한 방법에 있어서,
    (a) 최초 버전만을 식별하기 위한 제1 태그를 구비하는 제1 메모리 영역 내에 데이터 세트의 최초 버전을 저장하는 단계와;
    (b) 가장 최근에 갱신된 버전만을 식별하기 위한 제2 태그를 구비하고 있는 제2의 다른 메모리 영역 내에 데이터 세트의 가장 최근에 갱신된 버전을 저장하는 단계를 포함하고 있는 것을 특징으로 하는 방법.
  14. 제13항에 있어서, 상기 제2 태그로 실행되는 소정의 동작에 의해 단계(b) 내의 상기 저장을 확인하는 단계를 더 포함하는 것인 방법.
  15. 제13항에 있어서, 상기 가장 최근에 갱신된 버전은 각각의 페이지가 유일한 태그를 갖는 복수의 페이지를 포함하고, 상기 복수의 페이지 중의 소정의 페이지의 소정의 태그는 단계(b) 내의 상기 저장의 종결을 식별하기 위해 마지막 단계로서, 단계(b) 내에 저장되는 것인 데이터 세트의 갱신 방법.
  16. 제13항에 있어서, 단계(b) 후에, 상기 데이터 세트의 적어도 2 개의 버전에 제공된 데이터 세트의 최초 버전이 상기 메모리 장치(10)에 여전히 남아있는, 저장된 메모리 영역을 해제하는 단계를 더 구비하고 있는 것인 데이터 세트의 갱신 방법.
KR1020017015921A 1999-06-10 1999-06-10 분리된 메모리 영역 내에 상이한 버전의 데이터 세트를저장하는 장치 및 메모리 내의 데이터 세트를 갱신하는 방법 KR20020010926A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/NL1999/000360 WO2000077640A1 (en) 1999-06-10 1999-06-10 Arrangements storing different versions of a set of data in separate memory areas and method for updating a set of data in a memory

Publications (1)

Publication Number Publication Date
KR20020010926A true KR20020010926A (ko) 2002-02-06

Family

ID=19866601

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020017015921A KR20020010926A (ko) 1999-06-10 1999-06-10 분리된 메모리 영역 내에 상이한 버전의 데이터 세트를저장하는 장치 및 메모리 내의 데이터 세트를 갱신하는 방법

Country Status (11)

Country Link
US (2) US6769053B1 (ko)
EP (1) EP1208434B1 (ko)
JP (1) JP4596715B2 (ko)
KR (1) KR20020010926A (ko)
CN (1) CN1278236C (ko)
AT (1) ATE475139T1 (ko)
AU (1) AU4294099A (ko)
BR (1) BR9917358B1 (ko)
CA (1) CA2391826A1 (ko)
DE (1) DE69942620D1 (ko)
WO (1) WO2000077640A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100782614B1 (ko) * 2005-07-06 2007-12-06 인피니언 테크놀로지스 아게 데이터 워드 처리 장치 및 방법, 암호화 데이터 워드 처리장치 및 방법, 데이터세트의 안전 처리 시스템 및 컴퓨터프로그램을 구비한 컴퓨터 판독가능한 기억 매체

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7010701B1 (en) * 1999-10-19 2006-03-07 Sbc Properties, L.P. Network arrangement for smart card applications
KR100376435B1 (ko) * 2001-03-28 2003-03-17 주식회사 피엔에스텍 컴퓨터 하드디스크에 저장된 데이터 보호 장치 및 방법그리고 컴퓨터가 그 방법을 수행하도록 하는 프로그램을기록한 컴퓨터로 읽을 수 있는 기록매체
EP1402356A2 (en) * 2001-07-03 2004-03-31 Research In Motion Limited System and method of object-oriented persistence
EP1276116B1 (de) * 2001-07-12 2008-09-10 Siemens Aktiengesellschaft Verfahren zur Speicherung zusammengehöriger Datensätze
JP2003067208A (ja) 2001-08-23 2003-03-07 Sony Corp 情報処理装置および方法、記録媒体、並びにプログラム
JP2003087238A (ja) * 2001-09-11 2003-03-20 Hitachi Ltd 家庭内ネットワークにおけるセキュリティ実現方式
DE50207195D1 (de) * 2002-04-08 2006-07-27 Aladdin Knowledge Systems Deut Verfahren zur Aktualisierung und Lizenzierung von Computerprogrammen und Computer-System hierfür
US7117326B2 (en) * 2003-06-26 2006-10-03 Intel Corporation Tracking modifications to a memory
FR2864650B1 (fr) * 2003-12-24 2006-03-24 Trusted Logic Procede de mise a jour d'applications pour carte a puce
US20060101192A1 (en) * 2004-11-09 2006-05-11 Zilavy Daniel V Systems and methods of nonvolatile memory management
GB2423673B (en) * 2005-02-25 2009-05-27 Hewlett Packard Development Co Method of supplying information
US7389409B2 (en) * 2005-04-29 2008-06-17 Alcatel Lucent Electronic device configuration management systems and methods
US7761732B2 (en) * 2005-12-07 2010-07-20 International Business Machines Corporation Data protection in storage systems
US7836437B2 (en) * 2006-02-10 2010-11-16 Microsoft Corporation Semantic annotations for virtual objects
KR100837270B1 (ko) * 2006-06-07 2008-06-11 삼성전자주식회사 스마트 카드 및 그것의 데이터 보안 방법
US20080010246A1 (en) * 2006-07-06 2008-01-10 Curtis Bryce A System and method for providing operating system component version verification
US7694091B2 (en) * 2006-10-23 2010-04-06 Hewlett-Packard Development Company, L.P. Non-volatile storage for backing up volatile storage
US8312075B1 (en) * 2006-11-29 2012-11-13 Mcafee, Inc. System, method and computer program product for reconstructing data received by a computer in a manner that is independent of the computer
JP4333745B2 (ja) 2007-01-15 2009-09-16 株式会社デンソー 電子制御装置
US20080309665A1 (en) * 2007-06-13 2008-12-18 3D Systems, Inc., A California Corporation Distributed rapid prototyping
US7814071B2 (en) * 2007-06-19 2010-10-12 International Business Machines Corporation Apparatus, system, and method for maintaining dynamic persistent data
US20090113163A1 (en) * 2007-10-25 2009-04-30 Mitel Networks Corporation Method and apparatus for managing a memory for storing potentially configurable entries in a list
US8200914B2 (en) * 2008-01-03 2012-06-12 International Business Machines Corporation Apparatus, system, and method for a read-before-write storage controller instruction
CN101430705B (zh) * 2008-11-29 2011-01-19 中兴通讯股份有限公司 基于嵌入式数据库的存储方法和装置
US8364886B2 (en) * 2010-01-26 2013-01-29 Seagate Technology Llc Verifying whether metadata identifies a most current version of stored data in a memory space
US8397101B2 (en) 2010-06-03 2013-03-12 Seagate Technology Llc Ensuring a most recent version of data is recovered from a memory
JP5656563B2 (ja) * 2010-11-02 2015-01-21 キヤノン株式会社 文書管理システム、文書管理システムの制御方法、プログラム
US9836370B2 (en) 2010-11-18 2017-12-05 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Backup memory administration using an active memory device and a backup memory device
CN102222009A (zh) * 2011-06-02 2011-10-19 深圳市共进电子有限公司 一种家庭网关系统分类版本的生产方法
US9032183B2 (en) 2012-02-24 2015-05-12 Simplivity Corp. Method and apparatus for content derived data placement in memory
CN103246535B (zh) * 2013-04-26 2016-08-03 广州德浩科视电子科技有限公司 一种拼接屏升级系统的升级方法
US9430329B2 (en) * 2014-04-03 2016-08-30 Seagate Technology Llc Data integrity management in a data storage device
US10025669B2 (en) 2014-12-23 2018-07-17 Nuvoton Technology Corporation Maintaining data-set coherency in non-volatile memory across power interruptions
KR102227636B1 (ko) * 2014-12-31 2021-03-16 삼성디스플레이 주식회사 표시 장치용 데이터 저장 장치 및 이의 저장 방법
CN106484858B (zh) * 2016-10-09 2019-12-06 腾讯科技(北京)有限公司 热点内容推送方法和装置
US10515066B2 (en) 2017-09-27 2019-12-24 Mellanox Technologies, Ltd. Atomic updates of versioned data structures
US11592995B2 (en) 2021-04-19 2023-02-28 Western Digital Technologies, Inc. Data storage device and method for preventing accidental updates and deletions using data versioning

Family Cites Families (125)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE425704B (sv) 1981-03-18 1982-10-25 Loefberg Bo Databerare
US4425642A (en) 1982-01-08 1984-01-10 Applied Spectrum Technologies, Inc. Simultaneous transmission of two information signals within a band-limited communications channel
JPS61177585A (ja) 1985-02-04 1986-08-09 Toshiba Corp 携帯用電子装置密封体
CN85100700A (zh) 1985-04-01 1987-01-31 陆伯祥 计算机莫尔条纹证件及其识别系统
US4694396A (en) * 1985-05-06 1987-09-15 Computer X, Inc. Method of inter-process communication in a distributed data processing system
JPS61260339A (ja) * 1985-05-15 1986-11-18 Oki Electric Ind Co Ltd フアイル管理方法
US4757495A (en) * 1986-03-05 1988-07-12 Telebit Corporation Speech and data multiplexor optimized for use over impaired and bandwidth restricted analog channels
US4874935A (en) * 1986-03-10 1989-10-17 Data Card Coprporation Smart card apparatus and method of programming same
US4816654A (en) 1986-05-16 1989-03-28 American Telephone And Telegraph Company Improved security system for a portable data carrier
FR2600441B1 (fr) 1986-06-18 1990-09-21 France Etat Unite de gestion de memoire
JPH087720B2 (ja) * 1986-09-16 1996-01-29 富士通株式会社 複数サービス用icカードの領域アクセス方法
JP2514954B2 (ja) 1987-03-13 1996-07-10 三菱電機株式会社 Icカ−ド
US4953160A (en) 1988-02-24 1990-08-28 Integrated Network Corporation Digital data over voice communication
JPH01277993A (ja) 1988-04-28 1989-11-08 Toshiba Corp 携帯可能電子装置
US5283885A (en) 1988-09-09 1994-02-01 Werner Hollerbauer Storage module including a refresh device for storing start and stop refresh addresses
JPH02156357A (ja) 1988-12-08 1990-06-15 Fujitsu Ltd プログラム破壊防止方法
US5057997A (en) 1989-02-13 1991-10-15 International Business Machines Corp. Interruption systems for externally changing a context of program execution of a programmed processor
JPH0390977A (ja) * 1989-09-01 1991-04-16 Toyo Ink Mfg Co Ltd 情報識別方法
JPH04141886A (ja) 1990-10-01 1992-05-15 Nec Corp マイクロコンピュータ
US5204663A (en) 1990-05-21 1993-04-20 Applied Systems Institute, Inc. Smart card access control system
EP0466969B1 (de) 1990-07-20 1994-01-12 Siemens Nixdorf Informationssysteme Aktiengesellschaft Verfahren zur Verhinderung unzulässiger Abweichungen vom Ablaufprotokoll einer Anwendung bei einem Datenaustauschsystem
JP3007425B2 (ja) 1991-02-14 2000-02-07 凸版印刷 株式会社 Icカード
DE69226105T2 (de) * 1991-02-27 1998-10-29 Ricos Kk Daten- und Sprachübertragungseinrichtung
US5148546A (en) 1991-04-22 1992-09-15 Blodgett Greg A Method and system for minimizing power demands on portable computers and the like by refreshing selected dram cells
US5204897A (en) 1991-06-28 1993-04-20 Digital Equipment Corporation Management interface for license management system
DE4126213C2 (de) 1991-08-08 2000-06-15 Deutsche Telekom Ag Chipkarte für mehrere Diensteanbieter
FR2683357A1 (fr) 1991-10-30 1993-05-07 Philips Composants Microcircuit pour carte a puce a memoire programmable protegee.
US5177768A (en) * 1991-11-22 1993-01-05 Bell Communications Research, Inc. Spread-time code division multiple access technique with arbitrary spectral shaping
US5249212A (en) * 1992-06-01 1993-09-28 Motorola, Inc. Object reuse protection with error correction
US5721788A (en) 1992-07-31 1998-02-24 Corbis Corporation Method and system for digital image signatures
JPH06119393A (ja) 1992-08-20 1994-04-28 Ricoh Co Ltd 電子ファイル装置
US5682027A (en) 1992-10-26 1997-10-28 Intellect Australia Pty Ltd. System and method for performing transactions and a portable intelligent device therefore
DE4242247C2 (de) 1992-12-15 1998-05-14 Orga Kartensysteme Gmbh Ausweiskarte mit optischem Datenträger
FR2703800B1 (fr) 1993-04-06 1995-05-24 Bull Cp8 Procédé de signature d'un fichier informatique, et dispositif pour la mise en Óoeuvre.
US5446901A (en) 1993-06-30 1995-08-29 Digital Equipment Corporation Fault tolerant distributed garbage collection system and method for collecting network objects
US5469559A (en) 1993-07-06 1995-11-21 Dell Usa, L.P. Method and apparatus for refreshing a selected portion of a dynamic random access memory
US5534372A (en) * 1993-07-28 1996-07-09 Konica Corporation IC card having image information
US5649118A (en) 1993-08-27 1997-07-15 Lucent Technologies Inc. Smart card with multiple charge accounts and product item tables designating the account to debit
JP2994922B2 (ja) * 1993-09-14 1999-12-27 大日本スクリーン製造株式会社 画像処理システム
US5544246A (en) 1993-09-17 1996-08-06 At&T Corp. Smartcard adapted for a plurality of service providers and for remote installation of same
JP3112785B2 (ja) * 1993-09-27 2000-11-27 日本電気株式会社 ファイル管理システム
US5517645A (en) * 1993-11-05 1996-05-14 Microsoft Corporation Method and system for interfacing components via aggregate components formed by aggregating the components each with an instance of a component manager
US5832119C1 (en) 1993-11-18 2002-03-05 Digimarc Corp Methods for controlling systems using control signals embedded in empirical data
US6345104B1 (en) * 1994-03-17 2002-02-05 Digimarc Corporation Digital watermarks and methods for security documents
US6546112B1 (en) * 1993-11-18 2003-04-08 Digimarc Corporation Security document with steganographically-encoded authentication data
US5481715A (en) 1993-12-15 1996-01-02 Sun Microsystems, Inc. Method and apparatus for delegated communications in a computer system using trusted deputies
ATE152539T1 (de) 1994-02-08 1997-05-15 Belle Gate Invest Bv Datenauswechselsystem mit tragbaren datenverarbeitungseinheiten
FR2717931B1 (fr) 1994-03-23 1996-05-31 Gemplus Card Int Système de vérification d'identité.
US5450490A (en) * 1994-03-31 1995-09-12 The Arbitron Company Apparatus and methods for including codes in audio signals and decoding
US5404377A (en) 1994-04-08 1995-04-04 Moses; Donald W. Simultaneous transmission of data and audio signals by means of perceptual coding
JPH07336460A (ja) 1994-06-03 1995-12-22 Hitachi Ltd データ通信装置
US5641027A (en) * 1995-01-09 1997-06-24 Utd Incorporated Drilling system
US5568641A (en) 1995-01-18 1996-10-22 Hewlett-Packard Company Powerfail durable flash EEPROM upgrade
US5930363A (en) 1995-03-17 1999-07-27 Transmo Limited Card charging systems
US5594227A (en) 1995-03-28 1997-01-14 Microsoft Corporation System and method for protecting unauthorized access to data contents
WO1996031823A1 (en) 1995-04-07 1996-10-10 Sofmap Future Design Co., Ltd. Data processing system and method, and computer program architecture
CA2173695A1 (en) 1995-04-14 1996-10-15 Panagiotis Kougiouris Method and system for providing interoperability among processes written to execute on different operating systems
SG73581A1 (en) * 1995-05-12 2000-06-20 Macrovision Corp Video media seecurity and tracking system
US5805899A (en) * 1995-07-06 1998-09-08 Sun Microsystems, Inc. Method and apparatus for internal versioning of objects using a mapfile
US6385645B1 (en) * 1995-08-04 2002-05-07 Belle Gate Investments B.V. Data exchange system comprising portable data processing units
DK0757336T3 (da) 1995-08-04 2001-03-19 Belle Gate Invest B V Data-Udvekslings-System omfattende bærbare databehandlingsenheder
US5768385A (en) 1995-08-29 1998-06-16 Microsoft Corporation Untraceable electronic cash
US5721781A (en) 1995-09-13 1998-02-24 Microsoft Corporation Authentication system and method for smart card transactions
DE19536169A1 (de) 1995-09-29 1997-04-03 Ibm Multifunktionale Chipkarte
JPH09128165A (ja) * 1995-10-27 1997-05-16 Toshiba Corp 固体記録再生装置
DE19542910B4 (de) 1995-11-17 2005-01-05 Deutsche Telekom Ag Verfahren und Vorrichtung zum Schutz gespeicherter Daten
DE19600081C2 (de) 1996-01-03 1999-11-18 Ibm Sicherung der Datenintegrität bei Datenträgerkarten
FR2743910B1 (fr) 1996-01-19 1998-02-27 Solaic Sa Procede de mise en oeuvre d'un programme securise dans une carte a microprocesseur et carte a microprocesseur comportant un programme securise
JP4084428B2 (ja) 1996-02-02 2008-04-30 富士通株式会社 半導体記憶装置
US5905819A (en) * 1996-02-05 1999-05-18 Eastman Kodak Company Method and apparatus for hiding one image or pattern within another
US5742756A (en) 1996-02-12 1998-04-21 Microsoft Corporation System and method of using smart cards to perform security-critical operations requiring user authorization
DE19616819A1 (de) 1996-04-26 1997-10-30 Giesecke & Devrient Gmbh CD mit eingebautem Chip
US5905798A (en) * 1996-05-02 1999-05-18 Texas Instruments Incorporated TIRIS based kernal for protection of "copyrighted" program material
KR100186412B1 (ko) * 1996-05-07 1999-04-15 구자홍 메모리를 내장한 광 디스크
US5896393A (en) 1996-05-23 1999-04-20 Advanced Micro Devices, Inc. Simplified file management scheme for flash memory
US5781723A (en) 1996-06-03 1998-07-14 Microsoft Corporation System and method for self-identifying a portable information device to a computing unit
US5889868A (en) * 1996-07-02 1999-03-30 The Dice Company Optimization methods for the insertion, protection, and detection of digital watermarks in digitized data
BR9713267A (pt) 1996-10-25 2004-06-15 Schlumberger Systems & Service Cartão de circuito integrado para uso com um terminal, processo para uso com o mesmo, microcontrolador e processo para sua programação
US5915027A (en) 1996-11-05 1999-06-22 Nec Research Institute Digital watermarking
US5884316A (en) 1996-11-19 1999-03-16 Microsoft Corporation Implicit session context system with object state cache
JP3145047B2 (ja) * 1996-12-17 2001-03-12 松下電送システム株式会社 V.34ファクシミリ端末・制御チャネル・速度選択方法
DE69720938T2 (de) 1996-12-20 2004-03-04 Texas Instruments Inc., Dallas Verbesserungen in Bezug auf Sicherheitssysteme
FR2757661B1 (fr) * 1996-12-24 1999-01-22 Gemplus Card Int Procede de transfert securise de donnees par un reseau de communication
US5790489A (en) 1997-01-21 1998-08-04 Dell Usa, L.P. Smart compact disk including a processor and a transmission element
US6575372B1 (en) 1997-02-21 2003-06-10 Mondex International Limited Secure multi-application IC card system having selective loading and deleting capability
US5862117A (en) 1997-03-12 1999-01-19 Em Microelectronic-Marin Sa Device, in particular a compact disc, comprising a data storage medium and an integrated circuit
EP0864996A3 (en) 1997-03-13 1999-09-15 Hitachi, Ltd. Portable electronic device and method for personal identification
US6220510B1 (en) 1997-05-15 2001-04-24 Mondex International Limited Multi-application IC card with delegation feature
US6005940A (en) 1997-05-16 1999-12-21 Software Security, Inc. System for securely storing and reading encrypted data on a data medium using a transponder
JP4246812B2 (ja) 1997-06-12 2009-04-02 パナソニック株式会社 半導体回路及びその制御方法
US6564995B1 (en) 1997-09-19 2003-05-20 Schlumberger Malco, Inc. Smart card application-selection
TW389900B (en) * 1997-10-09 2000-05-11 Victor Company Of Japan Optical disces, producing methods and production apparatus of the optical discs
US5984186A (en) 1997-10-29 1999-11-16 Psc Inc. CCD-base bar code scanner
US6484946B2 (en) * 1997-12-22 2002-11-26 Hitachi, Ltd. IC card information display device and IC card for use therewith
US6104812A (en) * 1998-01-12 2000-08-15 Juratrade, Limited Anti-counterfeiting method and apparatus using digital screening
IL123028A (en) 1998-01-22 2007-09-20 Nds Ltd Protection of data on media recording disks
US6311186B1 (en) * 1998-02-20 2001-10-30 Priority Call Management, Inc. Telecommunications switching system utilizing a channelized database access mechanism
FR2776153B1 (fr) 1998-03-10 2000-07-28 Ordicam Rech Et Dev Procede pour l'identification securitaire d'une personne et dispositif portatif pour la mise en oeuvre du procede
US6241153B1 (en) * 1998-03-17 2001-06-05 Cardxx, Inc. Method for making tamper-preventing, contact-type, smart cards
EP0944256A1 (en) * 1998-03-19 1999-09-22 Hitachi Europe Limited Copy protection apparatus and method
US6128627A (en) * 1998-04-15 2000-10-03 Inktomi Corporation Consistent data storage in an object cache
US6608911B2 (en) 2000-12-21 2003-08-19 Digimarc Corporation Digitally watermaking holograms for use with smart cards
JP3615390B2 (ja) 1998-05-12 2005-02-02 株式会社ニレコ オンライン用分光分析計の計測値解析方法
US6282700B1 (en) * 1998-05-21 2001-08-28 Hewlett Packard Company Mechanism for maintaining revisions of objects in flash memory
US6212633B1 (en) 1998-06-26 2001-04-03 Vlsi Technology, Inc. Secure data communication over a memory-mapped serial communications interface utilizing a distributed firewall
US6374355B1 (en) * 1998-07-31 2002-04-16 Lucent Technologies Inc. Method for securing over-the-air communication in a wireless system
JP2000094874A (ja) * 1998-09-22 2000-04-04 Canon Inc 電子部品内蔵カードとその製造方法
US6742712B1 (en) 1998-09-29 2004-06-01 Asa Systems, Inc. Information card and information card system
US6257486B1 (en) * 1998-11-23 2001-07-10 Cardis Research & Development Ltd. Smart card pin system, card, and reader
US6321981B1 (en) * 1998-12-22 2001-11-27 Eastman Kodak Company Method and apparatus for transaction card security utilizing embedded image data
US6480831B1 (en) 1998-12-24 2002-11-12 Pitney Bowes Inc. Method and apparatus for securely transmitting keys from a postage metering apparatus to a remote data center
US6480935B1 (en) * 1999-01-15 2002-11-12 Todd Carper Smart card memory management system and method
US6311280B1 (en) 1999-02-22 2001-10-30 Nband Communications Low-power memory system with incorporated vector processing
US6349336B1 (en) 1999-04-26 2002-02-19 Hewlett-Packard Company Agent/proxy connection control across a firewall
US6535997B1 (en) * 1999-05-19 2003-03-18 International Business Machines Corporation Data integrity in smartcard transactions
US6272025B1 (en) * 1999-10-01 2001-08-07 Online Power Supply, Inc. Individual for distributed non-saturated magnetic element(s) (referenced herein as NSME) power converters
US6292874B1 (en) 1999-10-19 2001-09-18 Advanced Technology Materials, Inc. Memory management method and apparatus for partitioning homogeneous memory and restricting access of installed applications to predetermined memory ranges
US6325285B1 (en) 1999-11-12 2001-12-04 At&T Corp. Smart card with integrated fingerprint reader
US6572025B1 (en) 2000-05-10 2003-06-03 Japan Gain The Summit Co., Ltd. Information code product, manufacturing device and method for manufacturing the same, information code reading device, authentication system, authentication terminal, authentication server, and authentication method
US20020112116A1 (en) * 2000-11-17 2002-08-15 Nelson Mark Edward Methods, systems, and computer program products for storing data in collections of tagged data pieces
US6745307B2 (en) * 2001-10-31 2004-06-01 Hewlett-Packard Development Company, L.P. Method and system for privilege-level-access to memory within a computer
US6808118B2 (en) * 2001-12-31 2004-10-26 Zebra Atlantek, Inc. Security code verification for identification cards
US7114032B2 (en) * 2003-07-18 2006-09-26 International Business Machines Corporation Method and system for efficient fragment caching
US20050129334A1 (en) * 2003-12-12 2005-06-16 Wilder Daniel V. Event photo retrieval system and method
JP2005236442A (ja) * 2004-02-17 2005-09-02 Sanyo Electric Co Ltd 電子透かし埋め込み装置と方法ならびに電子透かし抽出装置と方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100782614B1 (ko) * 2005-07-06 2007-12-06 인피니언 테크놀로지스 아게 데이터 워드 처리 장치 및 방법, 암호화 데이터 워드 처리장치 및 방법, 데이터세트의 안전 처리 시스템 및 컴퓨터프로그램을 구비한 컴퓨터 판독가능한 기억 매체

Also Published As

Publication number Publication date
JP4596715B2 (ja) 2010-12-15
CA2391826A1 (en) 2000-12-21
US7360039B2 (en) 2008-04-15
WO2000077640A8 (en) 2001-12-20
AU4294099A (en) 2001-01-02
EP1208434B1 (en) 2010-07-21
WO2000077640A1 (en) 2000-12-21
DE69942620D1 (de) 2010-09-02
JP2003502732A (ja) 2003-01-21
CN1278236C (zh) 2006-10-04
ATE475139T1 (de) 2010-08-15
EP1208434A1 (en) 2002-05-29
BR9917358B1 (pt) 2012-07-24
US6769053B1 (en) 2004-07-27
CN1352769A (zh) 2002-06-05
US20050283579A1 (en) 2005-12-22
BR9917358A (pt) 2002-03-19

Similar Documents

Publication Publication Date Title
KR20020010926A (ko) 분리된 메모리 영역 내에 상이한 버전의 데이터 세트를저장하는 장치 및 메모리 내의 데이터 세트를 갱신하는 방법
US11630920B2 (en) Memory tagging for side-channel defense, memory safety, and sandboxing
JP5175856B2 (ja) セキュアデバイス・システムにおけるフラッシュメモリ・ブロックの保護と方法
US7152165B1 (en) Trusted storage systems and methods
US8484452B2 (en) Multi-operating system (OS) booting apparatus, multi-OS booting program, recording medium, and multi-OS booting method
CN101162492B (zh) 保护数据处理设备中的系统控制寄存器
CN111837111A (zh) 用于存储有界指针的装置和方法
US8983072B2 (en) Portable data carrier featuring secure data processing
US20170364679A1 (en) Instrumented versions of executable files
CN108604271A (zh) 用于控制有界指针的使用的设备及方法
JP2020095723A (ja) 階層セキュリティを備えたフラッシュ変換層
CN109558372B (zh) 用于安全处理器的设备和方法
US10877897B2 (en) System, apparatus and method for multi-cacheline small object memory tagging
JP7376571B2 (ja) 有界ポインタの使用を制御するための装置及び方法
US6839837B1 (en) Cryptosystem key updating system and method for preventing illegal use of software
CN101785239A (zh) 基于密钥的隐藏分区系统
US8972745B2 (en) Secure data handling in a computer system
JP4047281B2 (ja) キャッシュメモリをメインメモリに同期させる方法
EP1977551B1 (en) Binding a protected application program to shell code
JP2009064126A (ja) Icカードシステム、その端末装置、プログラム
CN100465980C (zh) 通过进程行为的配伍禁忌提高操作系统安全性的方法
JP2002538532A (ja) Icカードのアプリケーションに対するアクセス保護装置
US20220292182A1 (en) Method for the execution of a binary code of a computer program by a microprocessor
EP3964965A1 (en) Secure flash controller
WO1996000942A1 (en) File encryption scheme

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application