KR20030071461A - 메모리카드 - Google Patents

메모리카드 Download PDF

Info

Publication number
KR20030071461A
KR20030071461A KR1020020040541A KR20020040541A KR20030071461A KR 20030071461 A KR20030071461 A KR 20030071461A KR 1020020040541 A KR1020020040541 A KR 1020020040541A KR 20020040541 A KR20020040541 A KR 20020040541A KR 20030071461 A KR20030071461 A KR 20030071461A
Authority
KR
South Korea
Prior art keywords
nonvolatile memory
memory
memory card
eeprom
flash memory
Prior art date
Application number
KR1020020040541A
Other languages
English (en)
Other versions
KR100900627B1 (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 마츠시타 덴끼 산교 가부시키가이샤
Publication of KR20030071461A publication Critical patent/KR20030071461A/ko
Application granted granted Critical
Publication of KR100900627B1 publication Critical patent/KR100900627B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1433Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a module or a part of a module
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)
  • Credit Cards Or The Like (AREA)
  • Read Only Memory (AREA)

Abstract

본 발명은 회로규모를 작게 할 수 있는 메모리카드를 제공하는 것이다.
Java(TM)로 기술된 소스코드는 바이트코드로 변환(컴파일)되어 디지털기기(2)로부터 메모리카드(1)로 다운로드 된다. 메모리카드(1)에 다운로드된 바이트코드(클래스파일)는 가상 머신(130)에서 static변수 부분과 Applet코드 및 static final변수 부분으로 분리된다. 기록변경이 발생할 가능성이 있는 부분(static변수 부분)은 EEPROM(150)에 저장되며, 기록변경이 발생할 가능성이 없는 부분(Applet코드 및 static final변수의 부분)은 암호처리부(170)에서 암호화된 후에 플래시메모리(200)에 저장된다.

Description

메모리카드{MEMORY CARD}
본 발명은 메모리카드에 관하며, 더 상세하게는 프로그램데이터를 다운로드하여 불휘발성 메모리에 저장하는 메모리카드에 관한 것이다.
디지털카메라 ·PDA ·휴대형 오디오 ·휴대전화 ·퍼스널컴퓨터 등의 디지털기기에서 정보의 기록/판독에 메모리카드가 이용되고 있다. 메모리카드에는 플래시메모리와 제어기의 2 개 칩이 탑재된다. 최근 메모리카드에 탑재되는 플래시메모리는 대용량화되어가고 있으며, 이에 따라 대규모 데이터를 플래시메모리에 저장할 수 있게 되어가고 있다. 그런데 현 상태에서, 메모리카드는 디지털기기와 데이터의 송수신만을 할 뿐이다. 또 IC카드에는, 애플리케이션 프로그램을 다운로드하여 실행 가능한 것이 존재한다. 그러나 프로그램 저장용 불휘발성 메모리의 용량은, 메모리카드에 탑재되는 플래시메모리의 용량에 비해 매우 작다.
본 발명의 목적은 회로규모를 작게 할 수 있는 메모리카드를 제공하는 것이다.
도 1은 본 발명의 실시예에 의한 메모리카드 시스템의 전체구성을 나타내는 블록도.
도 2는 디지털기기로부터 다운로드된 프로그램데이터를 메모리카드에 저장하는 양상을 나타내는 도.
도 3은 디지털기기로부터 다운로드된 프로그램데이터를 메모리카드에 저장하는 양상을 나타내는 도.
도 4는 플래시메모리 및 EEPROM에 저장되는 프로그램데이터를 나타내는 도.
도 5의 (a)~(c)는 프로그램의 실행 순서의 설명도.
* 도면의 주요 부분에 대한 부호의 설명 *
1 : 메모리카드 100 : 제어 칩
130 : 가상 머신(분리부) 150 : EEPROM(제 1 불휘발성 메모리)
170 : 암호처리부
200 : 플래시메모리 칩(플래시메모리)(제 2 불휘발성 메모리)
본 발명에 의한 메모리카드는 제 1 불휘발성 메모리와, 제 2 불휘발성 메모리와, 분리부를 구비한다. 제 1 불휘발성 메모리는 소정의 소거 단위를 갖는다. 제 2 불휘발성 메모리는 제 1 불휘발성 메모리의 소거 단위보다 큰 소거 단위를 갖는다. 분리부는 메모리카드에 다운로드된 프로그램데이터 중 적어도 기록변경이 발생할 가능성이 있는 부분을 분리하고, 분리한 부분을 제 1 불휘발성 메모리에 저장하며, 나머지 부분을 제 2 불휘발성 메모리에 저장한다.
상기 메모리카드에서는, 다운로드된 프로그램의 실행처리에 있어서, 프로그램 중 데이터의 기록변경 처리는, 제 2 불휘발성 메모리에서는 발생하지 않고 제 1 불휘발성 메모리에서만 발생한다. 이와 같이 소거 단위가 작은 제 1 불휘발성 메모리에서 변수 등의 기록변경 처리를 실행함으로써, 소거 단위가 큰 제 2 불휘발성 메모리에서 처리를 실행하는 경우에 비해, 필요한 버퍼 크기가 작아도 되어, 회로규모를 작게 할 수 있다.
또 기록변경을 위해 일시적으로 버퍼링하는 데이터의 크기는 제 2 불휘발성 메모리보다 제 1 불휘발성 메모리 쪽이 작다. 따라서 제 2 불휘발성 메모리에서 기록변경 처리를 실행하는 경우에 비해 기록변경을 위한 버퍼링 처리시간이 적어도 되어, 기록변경에 필요한 처리시간을 적게 할 수 있다.
또한 다운로드된 프로그램데이터를 제 1 불휘발성 메모리와 제 2 불휘발성 메모리로 분리시켜 저장하므로 보안성이 향상된다.
바람직하게는, 상기 프로그램데이터는 함수와 변수로 구성된다. 상기 분리부는 상기 함수를 제 2 불휘발성 메모리에 저장하며, 상기 변수 중 기록변경이 발생할 가능성이 있는 것을 상기 제 1 불휘발성 메모리에 저장하고, 상기 변수 중 기록변경이 발생할 가능성이 없는 것을 제 2 불휘발성 메모리에 저장한다.
바람직하게는, 상기 프로그램데이터는 객체지향 프로그래밍 언어로 기술된 클래스이다. 상기 분리부는 상기 클래스의 변수를 제 1 불휘발성 메모리에 저장하며, 상기 클래스의 메소드를 제 2 불휘발성 메모리에 저장한다.
바람직하게는, 상기 프로그램데이터는 객체지향 프로그래밍 언어로 기술된클래스이다. 상기 분리부는 상기 클래스의 변수 중 기록변경이 발생할 가능성이 있는 것을 제 1 불휘발성 메모리에 저장하며, 상기 클래스의 변수 중 기록변경이 발생할 가능성이 없는 것 및 상기 클래스의 메소드를 제 2 불휘발성 메모리에 저장한다.
바람직하게는, 상기 메모리카드는 암호처리부를 추가로 구비한다. 암호처리부는 제 2 불휘발성 메모리에 저장돼야 할 상기 나머지 부분을 암호화 한다. 그리고 제 1 불휘발성 메모리, 분리부 및 암호처리부는 동일 칩 상에 형성된다.
상기 메모리카드에서는, 제 2 불휘발성 메모리에 저장할 프로그램데이터에 대해서는 암호처리부에서 암호화되므로 보안성이 더욱 향상된다.
바람직하게는, 상기 제 1 불휘발성 메모리는 EEPROM이며, 상기 제 2 불휘발성 메모리는 플래시메모리이다.
상술한 목적 및 기타의 목적과 본 발명의 특징 및 이점은 첨부 도면과 관련한 다음의 상세한 설명을 통해 보다 분명해 질 것이다.
(실시예)
이하, 본 발명의 실시예를 도면을 참조하여 상세하게 설명한다. 또, 도 중에서 동일 또는 상당부분에는 동일 부호를 부여하여 그 설명은 반복하지 않는다.
<메모리카드 시스템의 전체구성>
도 1은 본 발명의 실시예에 의한 메모리카드 시스템의 전체구성을 나타내는 블록도이다. 도 1에 나타내는 시스템에서는, 디지털기기(2)(예를 들어 디지털카메라 ·PDA ·휴대형 오디오 ·휴대전화 ·퍼스널컴퓨터 등)의 슬롯(도시 생략)에 메모리카드(1)가 삽입되어, 디지털기기(2)로부터 메모리카드(1)로 프로그램데이터가 다운로드된다. 다운로드된 프로그램은 메모리카드(1) 내부에서 실행된다.
<디지털기기 (2)>
디지털기기(2)는 객체지향 프로그래밍 언어인 Java(TM)로 기술된 소스코드를 바이트코드로 변환(컴파일)시켜 메모리카드(1)로 전송한다.
<메모리카드 (1)>
메모리카드(1)는 제어 칩(100)과 플래시메모리 칩(200)을 구비한다.
제어 칩(100)은 인터페이스(110, 140, 180)와, CPU(120)와, 가상 머신(130)과, EEPROM(150)과, 버퍼RAM(145, 160)과, 암호처리부(170)를 포함한다.
인터페이스(110)는 디지털기기(2)와 제어 칩(100)간의 인터페이스이다. 인터페이스(110)는 디지털기기(2)로부터 다운로드 받은 클래스파일(바이트코드)를 가상 머신(130)으로 전송한다.
가상 머신(130)은, 인터페이스(110)에서 주어지는 클래스파일로부터 static 변수를 분리하여 인터페이스(140)로 공급하며, 나머지(applet코드 및 static final변수)를 버퍼RAM(160)에 공급한다. 또 가상 머신(130)은 EEPROM(150) 및 플래시메모리 칩(200)으로부터 판독된 프로그램데이터(바이트코드)를, CPU(120)가 실행 가능한 형식으로, 인터프리터 방식에 의하여 변환시킨다.
CPU(120)는 가상 머신(130)에 의해 변환된 프로그램을 실행한다. 또 CPU(120)는 제어 칩(100)의 동작을 제어한다.
인터페이스(140)는 가상 머신(130) 및 CPU(120)와, EEPROM(150) 및버퍼RAM(145) 사이의 인터페이스이다. 인터페이스(140)는, 가상 머신(130)으로부터의 static변수를 버퍼RAM(145)을 통해 EEPROM(150)으로 전송한다.
버퍼RAM(145)은, EEPROM(150)으로 전송하는 데이터 및 EEPROM(150)으로부터 출력되는 데이터를 버퍼링한다. 또 버퍼RAM(145)은 EEPROM(150)에 기록된 데이터를 변경할 때에 당해 데이터를 일시적으로 버퍼링한다.
EEPROM(150)은 인터페이스(140)로부터의 static변수를 기억한다. EEPROM(150)은 워드단위로 데이터 소거를 실행하는 불휘발성 메모리이다.
버퍼RAM(160)은 가상 머신(130)으로부터의 applet코드 및 static final변수를 일시적으로 기억한다. 또 버퍼RAM(160)은 플래시메모리(200)로부터 판독되어 암호처리부(170)에서 복호된 프로그램데이터를 일시적으로 기억한다.
암호처리부(170)는 버퍼RAM(160)에 기억된 프로그램데이터(applet코드 및 static final변수)를 암호화하여 인터페이스(180)로 공급한다. 또 암호처리부(170)는 플래시메모리 칩(200)으로부터 판독된 프로그램데이터를 복호한다.
인터페이스(180)는 제어 칩(100)과 플래시메모리 칩(200) 사이의 인터페이스이다. 인터페이스(180)는 암호처리부(170)에 의해 암호화된 프로그램데이터(applet코드 및 static final변수)를 플래시메모리 칩(200)으로 전송한다. 또 인터페이스(180)는 플래시메모리 칩(200)으로부터 판독된 프로그램데이터를 암호처리부(170)로 전송한다.
플래시메모리 칩(200)은 인터페이스(180)로부터의 암호화 프로그램데이터(applet코드 및 static final변수)를 기억한다. 플래시메모리(200)는 블록단위 또는 칩 단위로 데이터 소거를 실행하는 불휘발성 메모리이다. 즉 플래시메모리(200)의 소거 단위는 EEPROM(150)의 소거 단위보다 크다.
<프로그램의 다운로드>
다음으로, 도 1에 나타낸 메모리카드 시스템에 있어서 디지털기기(2)로부터 메모리카드(1)로의 프로그램데이터의 다운로드에 대하여 설명한다.
여기서는 도 2에 나타내는 바와 같은 소스코드의 프로그램데이터가 다운로드된다. 도 2에 나타낸 소스코드는 메모리카드(1)를 점수(point) 카드로서 이용하기 위한 애플리케이션 프로그램으로, Java(TM)로 기술된다. 이 프로그램에서는, 구입한 품목(식품, 의료용품, 가전제품)별로 다른 점수 환원율로 점수가 가산되어간다. 점수 잔고는 구입품목별로 기록된다. 점수 잔고는 상품을 구입할 때마다 갱신되므로 static변수로서 선언된다. 한편, 점수 환원율은 초기설정 값인 채로 불변이기 때문에 static final변수로서 선언된다.
Java(TM)로 기술된 소스코드는 바이트코드로 변환(컴파일)되어 디지털기기(2)로부터 메모리카드(1)로 다운로드 된다. 메모리카드(1)에 다운로드된 바이트코드(클래스파일)는 가상 머신(130)에서 static변수 부분과 applet코드 및 static final변수 부분으로 분리된다. applet코드 및 static final변수 부분은 플래시메모리(200)에 저장되며, static변수 부분은 EEPROM(150)에 저장된다. 이와 같이, 기록변경이 발생할 가능성이 있는 부분(static변수 부분)은 EEPROM(150)에 저장되며, 기록변경이 발생할 가능성이 없는 부분(applet코드 및 static final변수 부분)은 암호처리부(170)에서 암호화된 후 플래시메모리(200)에 저장된다. 여기서,애플리케이션 프로그램을 다운로드하여 실행 가능한 IC카드에서는, 도 2에 나타내는 바와 같이 다운로드된 바이트코드(클래스파일)는 분리되는 일없이 모두 내부의 EEPROM에 저장된다.
다음에, 가상 머신(130)에서 실행되는 분리처리를 도 3을 참조하면서 구체적으로 설명한다.
디지털기기(2)로부터 메모리카드(1)로 다운로드되는 클래스파일에는 applet코드부(메소드)와, static final변수와, static변수가 포함된다. applet코드부의 선두 1 바이트는 0x01이다. static final변수의 선두 1 바이트는 0x02이다. static변수의 선두 1 바이트는 0x03이다. 이와 같이 디지털기기(2)에서 컴파일된 클래스파일에서는, 선두 1 바이트를 판단함으로써 applet코드부 ·static final변수 ·static변수를 각각 식별할 수 있도록 구성된다. 이 판단은 가상 머신(130)의 주소 해석부(131)에서 실행된다.
주소 해석부(131)의 판별결과에 따라 저장부(132)는 플래시메모리(200) 또는 EEPROM(150)에 프로그램데이터를 저장한다. 선두 1 바이트가 0x01인 것으로 판단될 경우는, 당해 프로그램데이터(applet코드부)를 플래시메모리(200)에 저장한다. 선두 1 바이트가 0x02인 것으로 판단될 경우는, 당해 프로그램데이터(static final변수)를 (암호처리부(170)에서 암호화한 후에) 플래시메모리(200)에 저장한다. 선두 1 바이트가 0x03인 것으로 판단될 경우는, 당해 프로그램데이터(static변수)를 EEPROM(150)에 저장한다.
이상과 같은 처리의 결과, 도 4에 나타내는 바와 같이 플래시메모리(200)에는 applet코드 및 static final변수가 저장되며, EEPROM(150)에는 static변수가 저장된다.
<다운로드한 프로그램의 실행>
다음으로, 플래시메모리(200) 및 EEPROM(150)에 분리시켜 저장된 프로그램의 실행처리에 대하여 설명한다. 여기서 실행되는 처리는, 도 5의 (a)의 소스코드로 표시되는 내용의 처리이다. 이하, 도 5의 (b) 및 (c)를 참조하면서 설명한다.
구입 금액(value)과 품목 종별을 나타내는 색인(i)이 CPU(120)에 입력되면, 가상 머신(130)은 플래시메모리(200) 상의 applet코드부(add Point)에 저장된 "명령"을 판독하고, 인터프리터부에서, CPU(120)가 실행 가능한 형식으로 인터프리터 방식에 의해 변환 한다. 변환된 명령이 CPU(120)에 의해 실행된다. 이와 같이 하여 다음의 처리가 실행된다.
<단계(ST51)>
_baload …플래시메모리(200) 상의 kangenritu(환원율) 배열의 i번째 데이터(kangenritu〔i〕)를 취득한다(X).
<단계(ST52)>
_mul …Value와 kangenritu〔i〕의 곱셈처리를 실행한다.
<단계(ST53)>
_baload …EEPROM(150) 상 point 배열의 i번째 데이터(point〔i〕)를 취득한다(Y).
<단계(ST54)>
_add …단계(ST52)에서의 곱셈처리 결과와 단계(ST53)에서 취득한 point〔i〕를 가산한다.
<단계(ST55)>
_bastore …단계(ST54)에서의 가산처리 결과를 EEPROM(150)상의 point〔i〕에 저장한다(Z). 즉, point〔i〕 내용을 바꾼다.
<효과>
현재 기술에 있어서, EEPROM의 기억 용량은 플래시메모리에 비해 매우 작다. 때문에 규모가 큰 프로그램의 경우에는 플래시메모리에 기억시키는 것이 필요해진다.
통상, 프로그램의 실행 시에는 프로그램 중의 작은 데이터(변수 등)의 기록변경 처리가 발생한다. 플래시메모리에 저장된 프로그램을 실행할 경우에는 소거 단위로 이 기록변경 처리가 실행된다. 그러나 플래시메모리의 소거 단위는 EEPROM의 소거 단위에 비해 매우 크다. 때문에 플래시메모리에 저장된 프로그램을 실행할 경우에는, 변수의 기록변경 등을 위해 거대한 버퍼메모리가 필요해진다.
예를 들어,
기억 용량 : 512Mbit
프로그램 단위 : 512byte=1Page
소거 단위 : 32page
의 NAND형 플래시메모리의 경우에는, 16Kbyte의 버퍼RAM이 필요하다.
본 발명의 실시예에 의한 메모리카드 시스템에서는, 디지털기기(2)로부터 메모리카드(1)로 다운로드된 프로그램데이터(클래스파일) 중 기록변경이 발생할 가능성이 있는 부분(static변수)을 EEPROM(150)에 저장하고, 기록변경이 발생할 가능성이 없는 부분(applet코드 및 static final변수)을 플래시메모리(200)에 저장한다. 따라서 프로그램 중 데이터의 기록변경 처리는 플래시메모리(200)에서는 발생하지 않고 EEPROM(150)에서만 발생한다. 이와 같이 소거 단위가 작은 EEPROM(150)에서 변수 등의 기록변경 처리를 실행하므로, 소거 단위가 큰 플래시메모리(200)에서 처리를 실행할 경우에 비해, 기록변경 처리에 필요한 버퍼메모리(버퍼RAM(145))의 용량이 작아도 되므로, 회로규모를 작게 할 수 있다. 또 기록변경을 위해 일시적으로 버퍼링하는 데이터의 크기는 플래시메모리(200)보다 EEPROM(150) 쪽이 작다. 따라서 플래시메모리(200)에서 기록변경 처리를 실행할 경우에 비해 기록변경을 위한 버퍼링 처리시간이 짧으므로, 기록변경에 필요한 처리시간을 짧게 할 수 있다.
또 메모리카드(1)에 다운로드된 프로그램데이터를 플래시메모리(200)와 EEPROM(150)에 분리시켜 저장하므로 보안성이 향상된다. 플래시메모리 칩(200)에 저장할 프로그램데이터에 대해서는 암호처리부(170)에서 암호화되므로 보안성이 더욱 향상된다.
또한 EEPROM(150)에 저장된 프로그램데이터에 액세스할 경우에는 암호화/복호 처리를 실행할 필요가 없으므로 처리시간이 단축된다.
그리고, 여기서는 static변수를 EEPROM(150)에 저장하고, applet코드 및 static final변수를 플래시메모리(200)에 저장하지만, static변수 및 static final변수를 EEPROM(150)에 저장하고, applet코드를 플래시메모리(200)에 저장하도록 해도 된다.
또 플래시메모리(200)로부터의 판독 및 암호처리부(170)에 의한 복호처리에 걸리는 시간이 EEPROM(150)로부터의 판독에 걸리는 시간보다 긴 경우는, CPU(120)의 제어에 의하여, 플래시메모리(200)의 액세스 횟수가 많은 부분을 EEPROM(150)에 기록해도 된다.
또한 버퍼RAM(145)과 버퍼RAM(160)을 공통의 1 개 RAM으로 구성하여, 이 RAM을, EEPROM(150)의 동작 시에는 EEPROM(150)용 버퍼RAM으로서 동작시키고, 플래시메모리(200)의 동작 시에는 플래시메모리(200)용 버퍼RAM으로서 동작시키도록 해도 된다.
이로써 RAM에 필요한 회로면적을 작게 할 수 있어, 회로규모를 작게 할 수 있다.

Claims (6)

  1. 메모리카드에 있어서,
    소정의 소거 단위를 갖는 제 1 불휘발성 메모리와,
    상기 제 1 불휘발성 메모리의 소거 단위보다 큰 소거 단위를 갖는 제 2 불휘발성 메모리와,
    상기 메모리카드에 다운로드된 프로그램데이터 중 적어도 기록변경이 발생할 가능성이 있는 부분을 분리하고, 분리한 부분을 상기 제 1 불휘발성 메모리에 저장하며, 나머지 부분을 상기 제 2 불휘발성 메모리에 저장하는 분리부를 구비하는 것을 특징으로 하는 메모리카드.
  2. 제 1 항에 있어서,
    상기 프로그램데이터는 함수와 변수로 구성되며,
    상기 분리부는,
    상기 함수를 상기 제 2 불휘발성 메모리에 저장하며, 상기 변수 중 기록변경이 발생할 가능성이 있는 것을 상기 제 1 불휘발성 메모리에 저장하고, 상기 변수 중 기록변경이 발생할 가능성이 없는 것을 상기 제 2 불휘발성 메모리에 저장하는 것을 특징으로 하는 메모리카드.
  3. 제 1 항에 있어서,
    상기 프로그램데이터는, 객체지향 프로그래밍 언어로 기술된 클래스이고,
    상기 분리부는,
    상기 클래스의 변수를 상기 제 1 불휘발성 메모리에 저장하며, 상기 클래스의 메소드를 상기 제 2 불휘발성 메모리에 저장하는 것을 특징으로 하는 메모리카드.
  4. 제 1 항에 있어서,
    상기 프로그램데이터는, 객체지향 프로그래밍 언어로 기술된 클래스이며,
    상기 분리부는,
    상기 클래스의 변수 중 기록변경이 발생할 가능성이 있는 것을 상기 제 1 불휘발성 메모리에 저장하며, 상기 클래스의 변수 중 기록변경이 발생할 가능성이 없는 것 및 상기 클래스의 메소드를 상기 제 2 불휘발성 메모리에 저장하는 것을 특징으로 하는 메모리카드.
  5. 제 1 항에 있어서,
    상기 제 2 불휘발성 메모리에 저장돼야 할 상기 나머지 부분을 암호화하는 암호처리부를 추가로 구비하며,
    상기 제 1 불휘발성 메모리, 상기 분리부 및 상기 암호처리부는 동일 칩 상에 형성되는 것을 특징으로 하는 메모리카드.
  6. 제 1 항에 있어서,
    상기 제 1 불휘발성 메모리는 EEPROM이며,
    상기 제 2 불휘발성 메모리는 플래시메모리인 것을 특징으로 하는 메모리카드.
KR1020020040541A 2002-02-28 2002-07-12 메모리카드 KR100900627B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2002-00053099 2002-02-28
JP2002053099 2002-02-28

Publications (2)

Publication Number Publication Date
KR20030071461A true KR20030071461A (ko) 2003-09-03
KR100900627B1 KR100900627B1 (ko) 2009-06-02

Family

ID=27750907

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020040541A KR100900627B1 (ko) 2002-02-28 2002-07-12 메모리카드

Country Status (6)

Country Link
US (1) US6772955B2 (ko)
EP (1) EP1355268B1 (ko)
KR (1) KR100900627B1 (ko)
CN (1) CN1221923C (ko)
DE (1) DE60210416T2 (ko)
TW (1) TWI231917B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100503588B1 (ko) * 2001-02-07 2005-07-26 가부시키가이샤 히타치세이사쿠쇼 불휘발성 메모리를 갖는 기록 장치

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2815801B1 (fr) * 2000-10-20 2004-10-29 Trusted Logic Protocole de transmission d'une pluralite de flux logiques d'echange multiple de couples de commande/reponse sur un canal physique unique d'echange entre maitre et esclave et systeme de suivi et de controle d'execution d'appliquettes
CN100517398C (zh) * 2002-05-08 2009-07-22 皇家飞利浦电子股份有限公司 鉴别的系统和方法
ATE373852T1 (de) 2003-01-31 2007-10-15 Matsushita Electric Ind Co Ltd Halbleiterspeicherkarte und programm zu ihrer steuerung
US7752380B2 (en) * 2003-07-31 2010-07-06 Sandisk Il Ltd SDRAM memory device with an embedded NAND flash controller
FR2862407B1 (fr) * 2003-11-14 2006-02-17 Iteon Systeme de communication protocolaire entre une carte a puce et un terminal et son procede de communication.
US7975926B2 (en) 2003-12-26 2011-07-12 Semiconductor Energy Laboratory Co., Ltd. Paper money, coin, valuable instrument, certificates, tag, label, card, packing containers, documents, respectively installed with integrated circuit
JP2005322109A (ja) 2004-05-11 2005-11-17 Renesas Technology Corp Icカードモジュール
US9104315B2 (en) 2005-02-04 2015-08-11 Sandisk Technologies Inc. Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage
US20060184718A1 (en) 2005-02-16 2006-08-17 Sinclair Alan W Direct file data programming and deletion in flash memories
US7877539B2 (en) * 2005-02-16 2011-01-25 Sandisk Corporation Direct data file storage in flash memories
US20060184719A1 (en) * 2005-02-16 2006-08-17 Sinclair Alan W Direct data file storage implementation techniques in flash memories
US7409489B2 (en) * 2005-08-03 2008-08-05 Sandisk Corporation Scheduling of reclaim operations in non-volatile memory
US7949845B2 (en) * 2005-08-03 2011-05-24 Sandisk Corporation Indexing of file data in reprogrammable non-volatile memories that directly store data files
US7558906B2 (en) 2005-08-03 2009-07-07 Sandisk Corporation Methods of managing blocks in nonvolatile memory
US7552271B2 (en) 2005-08-03 2009-06-23 Sandisk Corporation Nonvolatile memory with block management
US7480766B2 (en) * 2005-08-03 2009-01-20 Sandisk Corporation Interfacing systems operating through a logical address space and on a direct data file basis
US7669003B2 (en) * 2005-08-03 2010-02-23 Sandisk Corporation Reprogrammable non-volatile memory systems with indexing of directly stored data files
US7814262B2 (en) * 2005-10-13 2010-10-12 Sandisk Corporation Memory system storing transformed units of data in fixed sized storage blocks
US7529905B2 (en) * 2005-10-13 2009-05-05 Sandisk Corporation Method of storing transformed units of data in a memory system having fixed sized storage blocks
FR2893436B1 (fr) * 2005-11-15 2008-02-15 Oberthur Card Syst Sa Securisation entre des composants electroniques d'une entite electronique securisee portable
US7877540B2 (en) * 2005-12-13 2011-01-25 Sandisk Corporation Logically-addressed file storage methods
US7793068B2 (en) 2005-12-21 2010-09-07 Sandisk Corporation Dual mode access for non-volatile storage devices
US7747837B2 (en) 2005-12-21 2010-06-29 Sandisk Corporation Method and system for accessing non-volatile storage devices
US7769978B2 (en) 2005-12-21 2010-08-03 Sandisk Corporation Method and system for accessing non-volatile storage devices
EP1855453A1 (fr) * 2006-05-11 2007-11-14 Axalto SA Gestion de la consommation d'une carte à puce utilisée dans un dispositif mobile
US20070288752A1 (en) * 2006-06-08 2007-12-13 Weng Chong Chan Secure removable memory element for mobile electronic device
US20080126705A1 (en) * 2006-08-08 2008-05-29 Fabrice Jogand-Coulomb Methods Used In A Portable Mass Storage Device With Virtual Machine Activation
JP5118700B2 (ja) 2006-08-08 2013-01-16 サンディスク テクノロジィース インコーポレイテッド 仮想マシンのアクティブ化を伴う携帯可能な大容量記憶装置
US7725614B2 (en) * 2006-08-08 2010-05-25 Sandisk Corporation Portable mass storage device with virtual machine activation
US7966355B2 (en) * 2007-02-13 2011-06-21 Modu Ltd. Interface for extending functionality of memory cards
CN102063384B (zh) * 2009-11-13 2013-07-03 恒宝股份有限公司 一种java卡利用缓存对编程只读存储器进行读写操作的方法
KR101975027B1 (ko) 2012-05-04 2019-05-03 삼성전자주식회사 시스템 온 칩, 이의 동작 방법, 이를 포함하는 장치들
US10108409B2 (en) 2014-01-03 2018-10-23 Visa International Service Association Systems and methods for updatable applets
EP3252651A1 (en) 2016-05-30 2017-12-06 Samsung Electronics Co., Ltd Computing system having an on-the-fly encryptor and an operating method thereof
US10754579B2 (en) * 2017-09-25 2020-08-25 Silicon Laboratories Inc. Reliable non-volatile memory programming interface and method therefor

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63244133A (ja) 1987-03-30 1988-10-11 Canon Inc 制御プログラムの格納方式
JPH0259937A (ja) * 1988-08-26 1990-02-28 Hitachi Maxell Ltd Icカード
JPH05120501A (ja) * 1991-10-24 1993-05-18 Mitsubishi Electric Corp Icカード及びicカード製造方法
AU7434694A (en) * 1993-09-30 1995-04-13 Toppan Printing Co. Ltd. Memory card
US5491827A (en) * 1994-01-14 1996-02-13 Bull Hn Information Systems Inc. Secure application card for sharing application data and procedures among a plurality of microprocessors
US5809558A (en) * 1994-09-29 1998-09-15 Intel Corporation Method and data storage system for storing data in blocks without file reallocation before erasure
DE19536169A1 (de) * 1995-09-29 1997-04-03 Ibm Multifunktionale Chipkarte
US5923884A (en) * 1996-08-30 1999-07-13 Gemplus S.C.A. System and method for loading applications onto a smart card
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
US6488211B1 (en) * 1997-05-15 2002-12-03 Mondex International Limited System and method for flexibly loading in IC card
KR19990019426A (ko) * 1997-08-29 1999-03-15 윤종용 플래쉬 메모리를 내장한 제어장치의 프로그램 관리방법
EP0914001A1 (en) * 1997-10-28 1999-05-06 CANAL+ Société Anonyme Downloading of applications in a digital decoder
US6338435B1 (en) * 1999-01-15 2002-01-15 Todd Carper Smart card patch manager
US7200842B1 (en) * 1999-02-02 2007-04-03 Sun Microsystems, Inc. Object-oriented instruction set for resource-constrained devices

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100503588B1 (ko) * 2001-02-07 2005-07-26 가부시키가이샤 히타치세이사쿠쇼 불휘발성 메모리를 갖는 기록 장치

Also Published As

Publication number Publication date
EP1355268B1 (en) 2006-04-05
CN1441384A (zh) 2003-09-10
DE60210416D1 (de) 2006-05-18
TWI231917B (en) 2005-05-01
KR100900627B1 (ko) 2009-06-02
CN1221923C (zh) 2005-10-05
US6772955B2 (en) 2004-08-10
EP1355268A2 (en) 2003-10-22
US20030160102A1 (en) 2003-08-28
DE60210416T2 (de) 2006-09-07
EP1355268A3 (en) 2003-11-05

Similar Documents

Publication Publication Date Title
KR20030071461A (ko) 메모리카드
JP2537199B2 (ja) Icカ―ド
TW476914B (en) Using a high level programming language with a microcontroller
JP3015377B2 (ja) Icカード
US20130205067A1 (en) Storage Device Aware of I/O Transactions and Stored Data
US8645624B2 (en) Portable electronic device, smartcard and control method for portable electronic device
JP2005515542A (ja) 対応するコンピュータプログラム及び対応するコンピュータにより読み出し可能な記憶媒体と共にコントローラアーキテクチャにおけるnvメモリに書き込むための装置及び方法
JP4378459B2 (ja) 特にスマートカードにおけるダウンロードしたアプリケーションの機密保護化
AU716558B2 (en) Portable, secure transaction system for programmable, intelligent devices
US10331365B2 (en) Accessing a serial number of a removable non-volatile memory device
CN101661796A (zh) 一种非易失性存储器及其数据保护方法
KR20050103448A (ko) 반도체 메모리 카드 및 컴퓨터 판독가능한 프로그램
CN115906014A (zh) 一种数据处理方法及相关装置
JP3913128B2 (ja) メモリカード
KR100350972B1 (ko) 식별번호저장기능을갖는컴퓨터시스템및그방법
AU775313B2 (en) Moving set data communications
JP2008500601A (ja) 半導体メモリカード
JP2537200B2 (ja) 携帯可能電子装置
CN109492353B (zh) 应用加固方法、装置、电子设备和存储介质
US11308160B2 (en) Threaded linking pointer mechanism
US7536520B2 (en) Method and apparatus for native method invocation and changing memory bank
JP6428003B2 (ja) 書込装置、書込方法、書込処理プログラム、及び情報記憶媒体
JP4029016B2 (ja) データ処理装置
CN114756480A (zh) 基于dsp板卡的nor flash存储空间扩展方法及装置
CN114995843A (zh) 一种程序包组件的下载存储方法及装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee