KR20020010926A - 분리된 메모리 영역 내에 상이한 버전의 데이터 세트를저장하는 장치 및 메모리 내의 데이터 세트를 갱신하는 방법 - Google Patents
분리된 메모리 영역 내에 상이한 버전의 데이터 세트를저장하는 장치 및 메모리 내의 데이터 세트를 갱신하는 방법 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- 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/1433—Saving, restoring, recovering or retrying at system level during software upgrading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44536—Selecting among different versions
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
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
일반적으로 금융 거래 프로세스와 같은 일부의 어플리케이션에서, 저장은 매우 안전하게 실행되어야 한다. 그러한 안전한 저장 어플리케이션은 영구 저장 장치에서 "갱신의 원자성(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)
- 데이터 세트의 영속적인 저장을 지원하기 위한 데이터 구조를 저장하는 컴퓨터로 판독 가능한 매체에 있어서, 상기 데이터 구조는,(a) 최초 버전만을 식별하기 위한 적어도 하나의 제1 태그를 구비하고 있는 제1 메모리 영역 내의 상기 데이터 세트의 적어도 하나의 최초 버전과;(b) 가장 최근에 갱신된 버전만을 식별하기 위한 적어도 하나의 제2 태그를 구비하는 제2의 다른 메모리 영역 내의 상기 데이터 세트의 적어도 하나의 가장 최근에 갱신된 버전을 포함하고 있는 것을 특징으로 하는 컴퓨터로 판독 가능한 매체.
- 제1항에 있어서, 상기 데이터 세트의 각각의 버전은 하나 또는 그 이상의 메모리 페이지에 저장되고, 각각의 메모리 페이지는 상기 데이터 세트에 대한 레퍼런스, 버전 번호 및 페이지 번호를 포함하는 하나의 태그를 구비하고 있는 것인 컴퓨터로 판독 가능한 매체.
- 제2항에 있어서, 상기 각각의 페이지는 하나의 워드 라인(word line)에 대응하는 것인 컴퓨터로 판독 가능한 매체.
- 프로세서(2;2,4)와, 제1항 내지 제3항 중의 어느 한 항에 따른 적어도 하나의 컴퓨터로 판독 가능한 매체를 구비하고, 상기 프로세서(2;2,4)는 상기 데이터 구조를 프로세스하기 위해 배치되는 것을 특징으로 하는 컴퓨터 장치.
- 제4항에 있어서, 상기 프로세서(2;2,4)가 배치되어, 콘텐츠에 대해 중복(redundancy)하여 태그를 기록하고, 메모리 장치로부터 태그를 판독한 후에, 상기 중복으로부터 기록 에러가 발생했는지 발생하지 않았는지를 분석하는 것인 컴퓨터 장치.
- 제4항 또는 제5항에 있어서, 상기 가장 최근에 갱신된 버전은 각각의 페이지가 유일한 태그를 갖는 복수의 페이지를 포함하고, 프로세서(2;2,4)는 상기 데이터 세트의 가장 최근에 갱신된 버전를 갱신하기 위해 배치되어, 복수의 페이지 중의 소정의 페이지의 소정의 태그를, 갱신의 마지막 단계로서 상기 메모리 장치에 기록하는 것인 컴퓨터 장치.
- 제4항 내지 제6항 중 어느 한 항에 있어서, 상기 적어도 하나의 태그는 소유권과 사용권을 나타내기 위한 부가적인 데이터를 구비하고, 상기 프로세서(2;2,4)가 이러한 부가적인 데이터로부터 소유권 및 사용권을 인식하기 위해 배치되는 것인 컴퓨터 장치.
- 제7항에 있어서, 상기 사용권은 상기 데이터 세트의 상이한 부분에 다르고,프로세서(2;2,4)는 이러한 상이한 부분에 대한 상이한 사용권을 인식하기 위해 배치되는 것인 컴퓨터 장치.
- 제4항 내지 제8항 중 어느 한 항에 있어서, 상기 프로세서(2;2,4)는 태그값을 분석하기 위해 배치되고, 상기 태그값을 통한 레퍼런스에 의해 상기 데이터 세트의 상기 버전에 액세스 할 수 있는 것인 컴퓨터 장치.
- 제9항에 있어서, 상기 프로세서는 중앙 처리 장치(2)와, 다른 메모리 관리 장치(4)를 포함하고, 태그값은 메모리 관리 장치(4)에만 공지되는 것인 컴퓨터 장치.
- 제10항에 있어서, 상기 메모리 관리 장치(4)는 태그를 컴퓨터로 판독 가능한 매체에 기록하기 이전에 암호키로 태그를 암호화하고, 상기 암호키는 메모리 관리 장치(4)에만 공지되는 것인 컴퓨터 장치.
- 제11항에 있어서, 상기 암호키는 암호의 일방향 함수와 관련되는 것인 컴퓨터 장치.
- 데이터 세트의 영속적인 저장을 지원하기 위한 방법에 있어서,(a) 최초 버전만을 식별하기 위한 제1 태그를 구비하는 제1 메모리 영역 내에 데이터 세트의 최초 버전을 저장하는 단계와;(b) 가장 최근에 갱신된 버전만을 식별하기 위한 제2 태그를 구비하고 있는 제2의 다른 메모리 영역 내에 데이터 세트의 가장 최근에 갱신된 버전을 저장하는 단계를 포함하고 있는 것을 특징으로 하는 방법.
- 제13항에 있어서, 상기 제2 태그로 실행되는 소정의 동작에 의해 단계(b) 내의 상기 저장을 확인하는 단계를 더 포함하는 것인 방법.
- 제13항에 있어서, 상기 가장 최근에 갱신된 버전은 각각의 페이지가 유일한 태그를 갖는 복수의 페이지를 포함하고, 상기 복수의 페이지 중의 소정의 페이지의 소정의 태그는 단계(b) 내의 상기 저장의 종결을 식별하기 위해 마지막 단계로서, 단계(b) 내에 저장되는 것인 데이터 세트의 갱신 방법.
- 제13항에 있어서, 단계(b) 후에, 상기 데이터 세트의 적어도 2 개의 버전에 제공된 데이터 세트의 최초 버전이 상기 메모리 장치(10)에 여전히 남아있는, 저장된 메모리 영역을 해제하는 단계를 더 구비하고 있는 것인 데이터 세트의 갱신 방법.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100782614B1 (ko) * | 2005-07-06 | 2007-12-06 | 인피니언 테크놀로지스 아게 | 데이터 워드 처리 장치 및 방법, 암호화 데이터 워드 처리장치 및 방법, 데이터세트의 안전 처리 시스템 및 컴퓨터프로그램을 구비한 컴퓨터 판독가능한 기억 매체 |
Families Citing this family (37)
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)
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 | 電子透かし埋め込み装置と方法ならびに電子透かし抽出装置と方法 |
-
1999
- 1999-06-10 KR KR1020017015921A patent/KR20020010926A/ko not_active Application Discontinuation
- 1999-06-10 DE DE69942620T patent/DE69942620D1/de not_active Expired - Lifetime
- 1999-06-10 BR BRPI9917358-1A patent/BR9917358B1/pt not_active IP Right Cessation
- 1999-06-10 WO PCT/NL1999/000360 patent/WO2000077640A1/en not_active Application Discontinuation
- 1999-06-10 AT AT99973908T patent/ATE475139T1/de not_active IP Right Cessation
- 1999-06-10 CN CNB998167193A patent/CN1278236C/zh not_active Expired - Lifetime
- 1999-06-10 CA CA002391826A patent/CA2391826A1/en not_active Abandoned
- 1999-06-10 EP EP99973908A patent/EP1208434B1/en not_active Expired - Lifetime
- 1999-06-10 AU AU42940/99A patent/AU4294099A/en not_active Abandoned
- 1999-06-10 US US10/009,275 patent/US6769053B1/en not_active Expired - Lifetime
- 1999-06-10 JP JP2001503056A patent/JP4596715B2/ja not_active Expired - Lifetime
-
2004
- 2004-06-21 US US10/870,953 patent/US7360039B2/en not_active Expired - Lifetime
Cited By (1)
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 |