KR20180054795A - 보안 트랜잭션 관리 기법들 - Google Patents

보안 트랜잭션 관리 기법들 Download PDF

Info

Publication number
KR20180054795A
KR20180054795A KR1020187011121A KR20187011121A KR20180054795A KR 20180054795 A KR20180054795 A KR 20180054795A KR 1020187011121 A KR1020187011121 A KR 1020187011121A KR 20187011121 A KR20187011121 A KR 20187011121A KR 20180054795 A KR20180054795 A KR 20180054795A
Authority
KR
South Korea
Prior art keywords
ram
updated
region
data
nvm
Prior art date
Application number
KR1020187011121A
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 KR20180054795A publication Critical patent/KR20180054795A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0284Multiple user address space allocation, e.g. using different base addresses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/205Hybrid memory, e.g. using both volatile and non-volatile memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Retry When Errors Occur (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

NV-RAM(non-volatile random access memory)을 업데이트하기 위한 방법들 및 장치가 제공된다. 예시적 방법은, NV-RAM의 NVM(non-volatile memory) 지역에 원래 데이터, 이를테면, 보안 트랜잭션 데이터를 저장하는 단계, 및 NV-RAM의 RAM(random access memory) 지역에 원래 데이터를 복사하는 단계를 포함한다. 방법은, 또한, 원래 데이터로부터 업데이트된 데이터를 컴퓨팅하는 단계, RAM 지역에 업데이트된 데이터를 저장하는 단계, RAM 지역 내의 업데이트된 플래그를 유효화하는 단계, NVM 지역에 업데이트된 데이터를 복사하는 단계, 및 RAM 지역 내의 업데이트된 플래그를 무효화하는 단계를 포함한다. 방법은, 또한, 인터럽션 이후에, 업데이트된 플래그의 상태를 결정하는 단계; 업데이트된 플래그의 상태가 유효하면, NVM 지역에 업데이트된 데이터를 복사하고, 업데이트된 플래그를 무효화하는 단계를 포함할 수 있다. 업데이트된 플래그는 복수의 업데이트 스테이지들에서의 특정 업데이트 스테이지의 완료를 표시할 수 있다.

Description

보안 트랜잭션 관리 기법들
[0001] 본 개시내용은 일반적으로, 전자 기기에 관한 것으로, 더 구체적으로, 그러나 배타적이지 않게, 보안 트랜잭션들과 관련된 방법들 및 장치들에 관한 것이다.
[0002] 디지털 모바일 기술들이 진화함에 따라, 스마트 폰들, 태블릿 컴퓨터들 및 스마트 시계들과 같은 모바일 디바이스들은 사용자의 프라이버시를 보호하기 위해 보안되어야 하는 트랜잭션들을 수행하는 데 보다 빈번하게 사용되고 있다. 더 신속하고, 더 적은 전력을 사용하며, 해킹에 덜 취약하고, 덜 비싸며, 또는 이들의 조합인 보안 트랜잭션 기법들에 대한 시장 요구가 존재한다.
[0003] 따라서, 제공되는 개선된 방법들 및 개선된 장치를 포함하여, 종래의 방법들 및 장치를 개선시키는 방법들 및 장치에 대한 이전에 다루어지지 않고 오랫동안 느껴온 산업 필요성들이 존재한다.
[0004] 이 개요는 본 교시 사항들의 일부 양상들의 기본적 이해를 제공한다. 이 개요는 상세하게 망라적이지 않고, 모든 중요한 특징들을 식별하도록 의도되는 것도 아니며 청구 범위를 제한하도록 의도되는 것도 아니다.
[0005] NV-RAM(non-volatile random access memory)을 업데이트하는 예시적 방법들 및 장치가 제공된다. 일 예에서, 방법은, NV-RAM의 NVM(non-volatile memory) 지역에 원래 데이터를 저장하는 단계, 및 NV-RAM의 RAM(random access memory) 지역에 원래 데이터를 복사하는 단계를 포함한다. NVM 지역 및 RAM 지역은 상이한 지역들이다. 방법은, 또한, 원래 데이터로부터 업데이트된 데이터를 컴퓨팅하는 단계, RAM 지역에 업데이트된 데이터를 저장하는 단계, RAM 지역 내의 업데이트된 플래그를 유효화하는 단계, NVM 지역에 업데이트된 데이터를 복사하는 단계 및 RAM 지역 내의 업데이트된 플래그를 무효화하는 단계를 포함한다. 일 예에서, 방법은 또한, 인터럽션 이후에, RAM 지역 내의 업데이트된 플래그의 상태를 결정하는 단계를 포함할 수 있다. 업데이트된 플래그의 상태가 유효하면, 업데이트된 데이터는 NVM 지역에 복사되고, RAM 지역 내의 업데이트된 플래그는 무효화된다. 인터럽션은 NV-RAM에 대한 전력 손실, 메모리 관리 디바이스에 대한 전력 손실, 프로세서에 대한 전력 손실, 리부팅(reboot), 리세팅, 또는 이들의 조합일 수 있다. 더욱이, 방법은, 인터럽션 이후에, RAM 지역 내의 업데이트된 플래그의 상태를 결정하는 단계를 더 포함할 수 있다. 업데이트된 플래그는 복수의 업데이트 스테이지들에서의 특정 업데이트 스테이지의 완료를 표시한다. 업데이트된 플래그의 상태가 유효하면, 업데이트된 데이터는 NVM 지역에 복사되고, RAM 지역 내의 업데이트된 플래그는 무효화된다. NVM 지역은 특정 업데이트 스테이지와 연관되고, RAM 지역은 특정 업데이트 스테이지와 연관된다. 일 예에서, 방법은 또한, 복수의 업데이트 스테이지들에서의 후속 업데이트 스테이지에서 업데이트를 수행하는 단계를 포함할 수 있다. 일 예에서, 인터럽션은 NV-RAM에 대한 전력 손실, 메모리 관리 디바이스에 대한 전력 손실, 프로세서에 대한 전력 손실, 리부팅, 리세팅, 또는 이들의 조합일 수 있다. 일 예에서, 업데이트된 플래그는 복수의 업데이트 스테이지들에서의 특정 업데이트 스테이지의 완료를 표시한다. 일 예에서, 방법은 또한, NV-RAM을 NVM 지역 및 RAM 지역으로 파티셔닝하는 단계를 포함할 수 있다. 일 예에서, 원래 데이터는 보안 트랜잭션 데이터일 수 있고, 업데이트된 데이터는 보안 트랜잭션 데이터이며, 또는 이들의 조합일 수 있다.
[0006] 추가적 예에서, 프로세서로 하여금 전술된 방법의 적어도 일부를 실행하게 하도록 구성된 프로세서-실행가능한 명령들이 저장된 비-일시적 컴퓨터-판독가능한 매체가 제공된다. 비-일시적 컴퓨터-판독가능한 매체는, 디바이스, 이를테면, 모바일 디바이스, 기지국, 셋-탑 박스, 뮤직 플레이어, 비디오 플레이어, 엔터테인먼트 디바이스, 네비게이션 디바이스, 통신 디바이스, 고정 위치 데이터 디바이스, 컴퓨터 또는 이들의 조합과 통합될 수 있다.
[0007] 다른 예에서, NV-RAM(non-volatile random access memory)을 업데이트하도록 구성된 장치가 제공된다. 장치는, NV-RAM의 NVM(non-volatile memory) 지역에 원래 데이터를 저장하기 위한 수단, 및 NV-RAM의 RAM(random access memory) 지역에 원래 데이터를 복사하기 위한 수단을 포함한다. NVM 지역 및 RAM 지역은 상이한 지역들이다. 장치는, 또한, 원래 데이터로부터 업데이트된 데이터를 컴퓨팅하기 위한 수단, RAM 지역에 업데이트된 데이터를 저장하기 위한 수단, RAM 지역 내의 업데이트된 플래그를 유효화하기 위한 수단, NVM 지역에 업데이트된 데이터를 복사하기 위한 수단 및 RAM 지역 내의 업데이트된 플래그를 무효화하기 위한 수단을 포함한다. 장치는 또한, 인터럽션 이후에, RAM 지역 내의 업데이트된 플래그의 상태를 결정하기 위한 수단뿐만 아니라, 업데이트된 플래그의 상태가 유효하면, NVM 지역에 업데이트된 데이터를 복사하기 위한 수단, 및 업데이트된 플래그의 상태가 유효하면, RAM 지역 내의 업데이트된 플래그를 무효화하기 위한 수단을 포함할 수 있다. 장치는 또한, 인터럽션 이후에, RAM 지역 내의 업데이트된 플래그의 상태를 결정하기 위한 수단, 업데이트된 플래그의 상태가 유효하면, NVM 지역에 업데이트된 데이터를 복사하기 위한 수단, 및 업데이트된 플래그의 상태가 유효하면, RAM 지역 내의 업데이트된 플래그를 무효화하기 위한 수단을 포함할 수 있다. 업데이트된 플래그는 복수의 업데이트 스테이지들에서의 특정 업데이트 스테이지의 완료를 표시하고, NVM 지역은 특정 업데이트 스테이지와 연관되고, RAM 지역은 특정 업데이트 스테이지와 연관된다. 일 예에서, 업데이트된 플래그는 복수의 업데이트 스테이지들에서의 특정 업데이트 스테이지의 완료를 표시한다. 장치의 적어도 일부는 반도체 다이 상에 통합될 수 있다. 추가로, 장치의 적어도 일부는, 디바이스, 이를테면, 모바일 디바이스, 기지국, 셋-탑 박스, 뮤직 플레이어, 비디오 플레이어, 엔터테인먼트 디바이스, 네비게이션 디바이스, 통신 디바이스, 고정 위치 데이터 디바이스, 컴퓨터 또는 위의 것들의 조합일 수 있다. 추가적 예에서, 리소그래픽 디바이스로 하여금 장치의 적어도 일부를 제조하게 하도록 구성된 리소그래픽 디바이스-실행가능한 명령들이 저장된 비-일시적 컴퓨터-판독가능한 매체가 제공된다.
[0008] 다른 예에서, NV-RAM(non-volatile random access memory)을 업데이트하도록 구성된 장치가 제공된다. 장치는 프로세서와, 프로세서에 커플링된 메모리를 포함할 수 있다. 일 예에서, 장치는 프로세서와 커플링된 NV-RAM을 포함할 수 있다. NV-RAM은 NVM(non-volatile memory) 지역 및 RAM(random access memory) 지역으로 구성된다. NVM 지역 및 RAM 지역은 상이한 지역들이다. 메모리는, 프로세서로 하여금, NV-RAM의 NVM(non-volatile memory) 지역에 원래 데이터를 저장하게 하고, NV-RAM의 RAM(random access memory) 지역에 원래 데이터를 복사하게 하고, 원래 데이터로부터 업데이트된 데이터를 컴퓨팅하게 하고, RAM 지역에 업데이트된 데이터를 저장하게 하고, RAM 지역 내의 업데이트된 플래그를 유효화하게 하고, NVM 지역에 업데이트된 데이터를 복사하게 하고, 그리고 RAM 지역 내의 업데이트된 플래그를 무효화하게 하도록 구성된다. 일 예에서, 메모리는, 프로세서로 하여금, 인터럽션 이후에, RAM 지역 내의 업데이트된 플래그의 상태를 결정하게 할뿐만 아니라, 업데이트된 플래그의 상태가 유효하면, NVM 지역에 업데이트된 데이터를 복사하게 하고, RAM 지역 내의 업데이트된 플래그를 무효화하게 하도록 추가로 구성된다. 일 예에서, 인터럽션은 NV-RAM에 대한 전력 손실, 메모리 관리 디바이스에 대한 전력 손실, 프로세서에 대한 전력 손실, 리부팅, 리세팅, 또는 이들의 조합이다. 일 예에서, 메모리는, 프로세서로 하여금, 인터럽션 이후에, RAM 지역 내의 업데이트된 플래그의 상태를 결정하게 할뿐만 아니라, 업데이트된 플래그의 상태가 유효하면, NVM 지역에 업데이트된 데이터를 복사하게 하고 그리고 RAM 지역 내의 업데이트된 플래그를 무효화하게 하도록 추가로 구성된다. 업데이트된 플래그는 복수의 업데이트 스테이지들에서의 특정 업데이트 스테이지의 완료를 표시하고, NVM 지역은 특정 업데이트 스테이지와 연관되고, RAM 지역은 특정 업데이트 스테이지와 연관된다. 일 예에서, 메모리는, 프로세서로 하여금, 복수의 업데이트 스테이지들에서의 후속 업데이트 스테이지에서 업데이트를 수행하게 하도록 추가로 구성된다. 일 예에서, 인터럽션은 NV-RAM에 대한 전력 손실, 메모리 관리 디바이스에 대한 전력 손실, 프로세서에 대한 전력 손실, 리부팅, 리세팅, 또는 이들의 조합이다. 다른 예에서, 업데이트된 플래그는 복수의 업데이트 스테이지들에서의 특정 업데이트 스테이지의 완료를 표시한다. 일 예에서, 메모리는, 프로세서로 하여금, NV-RAM을 NVM 지역 및 RAM 지역으로 파티셔닝하게 하도록 추가로 구성된다. 다른 예에서, 원래 데이터는 보안 트랜잭션 데이터이고, 업데이트된 데이터는 보안 트랜잭션 데이터이며, 또는 이들의 조합이다. 일 예에서, 프로세서의 적어도 일부는 반도체 다이 상에 통합된다. 일 예에서, 장치는, 프로세서가 통합되는 기지국 또는 모바일 디바이스 중 적어도 하나일 수 있다. 일 예에서, 장치는 모바일 디바이스, 뮤직 플레이어, 비디오 플레이어, 엔터테인먼트 유닛, 네비게이션 디바이스, 통신 디바이스, 태블릿, 컴퓨터 또는 이들의 조합이다. 일 예에서, 프로세서는 마이크로프로세서, 마이크로제어기, 디지털 신호 프로세서, 필드 프로그래밍가능한 게이트 어레이, 프로그래밍가능한 로직 디바이스, 주문형 집적 회로, 제어기, 비-범용 특수-목적 프로세서, 상태 머신, 게이티드 로직(gated logic), 개별 하드웨어 컴포넌트, 전용 하드웨어 유한 상태 머신 또는 이들의 조합이다. 일 예에서, NV-RAM은 스핀 전달 토크 자기저항 랜덤 액세스 메모리이다. 일 예에서, NV-RAM은 강유전성 RAM이다. 추가적 예에서, 리소그래픽 디바이스로 하여금 장치의 적어도 일부를 제조하게 하도록 구성된 리소그래픽 디바이스-실행가능한 명령들이 저장된 비-일시적 컴퓨터-판독가능한 매체가 제공된다.
[0009] 위의 것들은 상세한 설명 및 도면들이 더 잘 이해될 수 있도록, 본 교시 사항들의 특징들 및 기술적 이점들 중 일부를 광범위하게 요약한다. 추가적 특징들 및 이점들은 또한, 상세한 설명에서 설명된다. 개념 및 개시되는 예들은 본 교시 사항들의 동일한 목적들을 수행하기 위해 다른 디바이스들을 수정하거나 또는 설계하기 위한 기초로서 사용될 수 있다. 그러한 등가의 구성들은 청구항들에서 기술되는 바와 같은 교시 사항들의 기술로부터 벗어나지 않는다. 교시 사항들의 특성인 본 발명의 특징들은, 추가적 목적들 및 이점들과 함께, 상세한 설명 및 첨부한 도면들로부터 더 잘 이해된다. 도면들 각각은 단지 본 교시 사항들의 예시 및 설명만을 위해 제공되며, 본 교시 사항들을 제한하는 것은 아니다.
[0010] 첨부한 도면들은 본 교시 사항들의 예들을 설명하도록 제시되며, 제한적이지 않다.
[0011] 도 1은 예시적 무선 통신 네트워크를 도시한다.
[0012] 도 2는 예시적 사용자 디바이스의 예시적인 기능적 블록 다이어그램을 도시한다.
[0013] 도 3은 비-휘발성 랜덤 액세스 메모리를 백업하기 위한 예시적 기법을 도시한다.
[0014] 도 4는 비-휘발성 랜덤 액세스 메모리를 백업하기 위한 다른 예시적 기법을 도시한다.
[0015] 도 5는 비-휘발성 랜덤 액세스 메모리를 백업하기 위한 또 다른 예시적 기법을 도시한다.
[0016] 도 6은 본원에서 제공되는 기법들을 제공하거나 또는 그렇지 않으면 지원하도록 구성된 예시적 장치의 간략화된 블록 다이어그램을 도시한다.
[0017] 통상적 실시에 따르면, 도면들에 의해 도시되는 특징들은 실척대로 도시되지 않을 수 있다. 따라서, 도시되는 특징들의 치수(dimension)들은 명료함을 위해 임의로 확장되거나 또는 축소될 수 있다. 통상적 실시에 따르면, 도면들 중 일부는 명료함을 위해 간략화된다. 따라서, 도면들은 특정 장치 또는 방법의 모든 컴포넌트들을 도시하지 않을 수 있다. 추가로, 동일한 참조 번호들은 명세서 및 도면들 전반에 걸쳐 동일한 특징들을 나타낸다.
도입
[0018] 보안 트랜잭션들과 관련된 방법들 및 장치들이 제공된다. 예시적 보안 트랜잭션들은, POS(point-of-sale) 단말에서의 지불 및 티켓팅과 같은 보안 금융 트랜잭션들을 포함한다.
[0019] 보안 트랜잭션을 수행하는 것은, 컴퓨테이션(computation)을 수행하는 것, 이를테면, 송신될 데이터를 암호화하는 것, 수신된 데이터를 암호화해제하는 것, 새로운 계좌 잔액(예컨대, 신용 카드 잔액, 은행 계좌 잔액, 빈번한 사용자 포인트 잔액 등)을 계산하는 것을 포함할 수 있다. 컴퓨테이션은, 판정을 수행하기 위한 기초를 형성하여, 이를테면, 액트의 수행을 수락(예컨대, 신용 카드 과금이 승인됨)하고, 액트의 수행을 거부(예컨대, 장소로의 입장을 거부함)하는 식일 수 있다. 이어서, 컴퓨테이션 결과들, 판정 결과들, 다른 관련 데이터 등, 또는 이들의 조합은, 유형의, 비-순시적(non-transient) 및 비-휘발성(예컨대, 메모리, 이를테면, NV-RAM(non-volatile random access memory) 등)인 저장 매체에 저장될 수 있다. 저장 매체는 독립형 디바이스(예컨대, 탈착식 칩(removable chip), 탈착식 카드 등, 또는 이들의 조합)이거나, 저장 매체들을 사용하도록 구성된 디바이스와 통합되거나, 저장 매체들을 사용하도록 구성된 디바이스 내에 임베딩되거나 또는 이들의 조합일 수 있다. 예들에서, 저장 매체들은 프로세서, 제어기, ASIC(application specific integrated circuit), SoC(system-on-chip), 유사한 디바이스들, 또는 이들의 조합과 통합될 수 있다.
[0020] 일 예에서, 저장 매체는 전력이 NV-RAM으로부터 제거될 때 자신의 저장된 컨텐츠들을 보유하는 NV-RAM이다. NV-RAM은 MRAM(magnetoresistive-RAM)일 수 있다. MRAM은 신속한 성능 및 본질적으로 비제한적 기록 내구성을 가진다. NV-RAM은 STT-MRAM(Spin Transfer Torque Magnetoresistive Random Access Memory)으로 알려진 MRAM의 변형일 수 있다. STT-MRAM은 전자들이 박막(즉, 스핀 필터)을 통과함에 따라 스핀-편광된 전자들을 사용한다. STT-MRAM은 또한, STT-RAM(Spin Transfer Torque RAM), Spin-RAM(Spin Torque Transfer Magnetization Switching RAM) 및 SMT-RAM(Spin Momentum Transfer)으로 알려진다. 추가적 예에서, NV-RAM은 얇은 강유전성 재료, 이를테면, PZT(lead-zirconium titanate)를 사용하여 데이터를 저장하는 강유전성 RAM일 수 있다.
[0021] NV-RAM을 업데이트하기 위한 예시적 방법들 및 장치가 제공된다. 예시적 방법은, NV-RAM의 NVM(non-volatile memory) 지역에 원래 데이터, 이를테면, 보안 트랜잭션 데이터를 저장하는 단계, 및 NV-RAM의 RAM(random access memory) 지역에 원래 데이터를 복사하는 단계를 포함한다. 방법은, 또한, 원래 데이터로부터 업데이트된 데이터를 컴퓨팅하는 단계, RAM 지역에 업데이트된 데이터를 저장하는 단계, RAM 지역 내의 업데이트된 플래그를 유효화하는 단계, NVM 지역에 업데이트된 데이터를 복사하는 단계 및 RAM 지역 내의 업데이트된 플래그를 무효화하는 단계를 포함한다. "업데이트된 플래그"는 원래 데이터의 업데이트가 수행되고 있는지 여부를 표시한다. 업데이트된 플래그가 비-휘발성 메모리에 저장되기 때문에, 업데이트 프로세스에 대한 인터럽션, 이를테면, 전력 손실은 업데이트된 플래그의 상태(예컨대, 플래그를 세팅 또는 리세팅)에 영향을 미치지 않는다. 방법은, 또한, 인터럽션 이후에, 업데이트된 플래그의 상태를 결정하는 단계, 업데이트된 플래그의 상태가 유효하면, NVM 지역에 업데이트된 데이터를 복사하고, 업데이트된 플래그를 무효화하는 단계를 포함할 수 있다. 업데이트된 플래그는 복수의 업데이트 스테이지들에서의 특정 업데이트 스테이지의 완료를 표시할 수 있다.
[0022] 본원에서 개시되는 예시적 장치들 및/또는 예시적 방법들 중 적어도 하나는, 오랫동안 느껴온 산업 필요성들뿐만 아니라, 다른 사전에 식별되지 않은 필요성들을 유리하게 다루며, 종래 방법들 및 종래 장치의 단점들을 완화시킨다. 예컨대, 개시되는 장치들의 적어도 일 예 및/또는 본원에서 개시되는 방법들의 적어도 일 예에 의해 제공되는 적어도 하나의 이점은, 종래 디바이스들보다 속도가 개선되는 것, 더 적은 전력을 사용하는 것, 해킹에 덜 취약한 것, 제조 비용이 덜 비싼 것, 더 신뢰성이 있는 것, 진보된 CMOS(complimentary-metal-oxide-semiconductor) 프로세스들과 호환가능한 것, 단순한 것, 더 안전한 것, 정적 전력 소실이 없는 것, 더 신속한 기록 시간들(예컨대, 2배-3배 더 신속함)을 가지는 것, 전력 인터럽션으로부터 신속한 복원 시간들을 가지는 것, 더 낮은 에너지 소비 또는 이들의 조합이다.
[0023] 예들이 본 출원의 명세서 및 도면들에서 개시된다. 대안적 예들은 본 개시내용의 범위로부터 벗어나지 않으면서 고안될 수 있다. 추가적으로, 현재 교시 사항들의 양상들을 모호하게 하지 않기 위해, 현재 교시 사항들의 종래 엘리먼트들은 상세하게 설명되지 않을 수 있거나, 또는 생략될 수 있다.
약어들
[0024] 약어들, 두문자어들 및 용어들의 다음의 예시적 리스트는 현재 개시내용의 이해를 돕기 위해 제공되며, 제한들로서 제공되지 않는다.
ASIC - Application-specific integrated circuit
CMOS - Complimentary-metal-oxide-semiconductor
DL - Downlink
DSP - Digital signal processor
EEPROM - Electrically-erasable programmable read-only memory
FPGA - Field-programmable gate array
NV-RAM - Non-volatile random access memory
NVM - Non-volatile memory
MRAM - Magnetoresistive -random access memory
PLD - Programmable logic device
RAM - Random access memory
STT-MRAM - Spin Transfer Torque Magnetoresistive Random Access Memory
UE - User Equipment
UL - Uplink
[0025] 본원에서 사용되는 바와 같이, "예시적"이라는 용어는 "예, 사례, 또는 예시로서 제공되는"을 의미한다. "예시적"으로서 설명되는 임의의 예는 반드시 다른 예들에 비해 바람직하거나 또는 유리한 것으로서 해석되는 것은 아니다. 마찬가지로, "예들"이라는 용어는 모든 예들이 논의되는 특징, 이점, 또는 동작 모드를 포함할 것을 요구하지 않는다. 본 명세서에서 "일 예에서", "예", "일 특징에서" 및/또는 "특징"이라는 용어들의 사용은 반드시 동일한 특징 및/또는 예를 언급하는 것은 아니다. 게다가, 특정 특징 및/또는 구조는 하나 또는 그 초과의 다른 특징들 및/또는 구조들과 조합될 수 있다. 더욱이, 이에 설명되는 장치의 적어도 일부분은 이에 설명되는 방법의 적어도 일부분을 수행하도록 구성될 수 있다.
[0026] "연결된", "커플링된"이라는 용어들 및 이들의 임의의 변형이 직접적인 또는 간접적인, 엘리먼트들 사이의 임의의 연결 또는 커플링을 의미하며, 중간 엘리먼트를 통해 함께 "연결된" 또는 "커플링된" 2개의 엘리먼트들 사이의 중간 엘리먼트의 존재를 망라할 수 있다는 점이 주목되어야 한다. 엘리먼트들 사이의 커플링 및 연결은 물리적, 논리적 또는 이들의 조합일 수 있다. 엘리먼트들은, 예컨대, 하나 또는 그 초과의 와이어들, 케이블들, 인쇄된 전기적 연결들, 전자기적 에너지 등을 사용함으로써, 함께 "연결"되거나 또는 "커플링"될 수 있다. 전자기적 에너지는, 실행가능하게, 라디오 주파수, 마이크로파 주파수, 가시 광 주파수, 비가시 광 주파수 등에서의 파장을 가질 수 있다. 이들은 몇몇 비-제한적 및 비-총망라적 예들이다.
[0027] "신호"라는 용어는 임의의 신호, 이를테면, 데이터 신호, 오디오 신호, 비디오 신호, 멀티미디어 신호, 아날로그 신호, 디지털 신호 등을 포함할 수 있다. 본원에서 설명되는 정보 및 신호들은 다양한 상이한 기술들 및 기법들 중 임의의 기술 및 기법을 사용하여 표현될 수 있다. 예컨대, 본원에서의 참조들인 데이터, 명령, 프로세스 단계, 프로세스 블록, 커맨드, 정보, 신호, 비트, 심볼 등은, 특정 애플리케이션에 적어도 부분적으로 의존하여, 원하는 설계에 적어도 부분적으로 의존하여, 대응하는 기술에 적어도 부분적으로 의존하여, 그리고/또는 유사한 팩터들에 적어도 부분적으로 의존하여, 전압, 전류, 전자기파, 자기장, 자기 입자, 광 필드, 광 입자 및/또는 이들의 임의의 실제 조합으로 표현될 수 있다.
[0028] "제1", "제2" 등과 같은 지정을 사용하는 참조는, 그 엘리먼트들의 수량 또는 순서를 제한하지 않는다. 오히려, 이 지정들은 2개 또는 그 초과의 엘리먼트들 또는 엘리먼트의 사례들 사이를 구별하는 편리한 방법으로서 사용된다. 따라서, 제1 및 제2 엘리먼트들에 대한 참조는, 2개의 엘리먼트들만이 사용될 수 있다는 것, 또는 제1 엘리먼트가 제2 엘리먼트에 반드시 선행해야 한다는 것을 의미하지 않는다. 또한, 달리 서술되지 않는 한, 엘리먼트들의 세트는 하나 또는 그 초과의 엘리먼트들을 포함할 수 있다. 또한, 설명 또는 청구항들에서 사용되는 "A, B, 또는 C 중 적어도 하나" 또는 "A, B, 또는 C 중 하나 또는 그 초과" 또는 "A, B, 및 C로 구성되는 그룹 중 적어도 하나"라는 형태의 용어는 "A 또는 B 또는 C 또는 이 엘리먼트들의 임의의 조합"으로서 해석될 수 있다. 예컨대, 이 용어는 A, 또는 B, 또는 C, 또는 A 및 B, 또는 A 및 C, 또는 B 및 C, 또는 A 및 B 및 C, 또는 2A, 또는 2B, 또는 2C 등을 포함할 수 있다.
[0029] 본원에서 사용되는 용어는 단지 특정 예들만을 설명하기 위한 것이며, 제한하도록 의도되는 것은 아니다. 본원에서 사용되는 바와 같이, 단수 형태들의 표현은 문맥상 달리 명백하게 표시되지 않는 한, 복수 형태들 역시 포함한다. 다시 말해서, 단수는 실행가능한 경우 복수를 나타낸다. 추가로, "포함하다(comprises)", "포함하는(comprising)", "구비하다(includes)" 및 "구비하는(including)"이라는 용어들은 특징, 정수, 단계, 블록, 동작, 엘리먼트, 컴포넌트 등의 존재를 특정하지만, 다른 특징, 정수, 단계, 블록, 동작, 엘리먼트, 컴포넌트 등의 존재 또는 추가를 반드시 배제하지 않는다.
[0030] 적어도 일 예에서, 제공되는 장치들은, 모바일 디바이스, 네비게이션 디바이스(예컨대, 글로벌 포지셔닝 시스템 수신기), 무선 디바이스, 카메라, 오디오 플레이어, 캠코더, 컴퓨터 및 게임 콘솔 중 적어도 하나와 같은(그러나, 이들로 제한되는 것은 아님) 전자 디바이스의 일부이고 그리고/또는 이에 커플링될 수 있다.
[0031] "모바일 디바이스"라는 용어는, 모바일 폰, 스마트와치, 모바일 통신 디바이스, 페이저(pager), 개인용 디지털 보조기, 개인 정보 매니저, 개인용 데이터 보조기, 모바일 핸드-헬드 컴퓨터, 휴대용 컴퓨터, 태블릿 컴퓨터, 무선 디바이스, 무선 모뎀, 개인이 통상적으로 휴대하고 통신 능력들(예컨대, 무선, 셀룰러, 적외선, 단-거리 라디오 등)을 가지는 다른 타입들의 휴대용 전자 디바이스들 등, 또는 이들의 조합을 설명할 수 있으며, 이들로 제한되는 것은 아니다. 추가로, "사용자 장비"(UE), "모바일 단말", "사용자 디바이스", "모바일 디바이스" 및 "무선 디바이스"라는 용어들은 교환가능할 수 있다.
도면들의 설명
[0032] 도 1은 예시적 무선 통신 네트워크(100)를 도시한다. 무선 통신 네트워크(100)는 다수의 사용자들 사이의 다중 액세스 통신을 지원하도록 구성된다. 도시되는 바와 같이, 무선 통신 네트워크(100)는 하나 또는 그 초과의 셀들(102A-102G)로 분할될 수 있다. 하나 또는 그 초과의 액세스 포인트들(104A-104G)은 대응하는 셀들(102A-102G)에서 통신 커버리지를 제공한다. 액세스 포인트들(104A-104G)은 복수의 사용자 디바이스들(106A-106L)에서 적어도 하나의 사용자 디바이스와 상호작용할 수 있다. 일 예에서, 사용자 디바이스들(106A-106L) 또는 액세스 포인트들(104A-104G) 중 적어도 하나는, 본원에서 설명되는 바와 같이, 비-휘발성 메모리를 업데이트하기 위한 방법의 적어도 일부분을 수행하도록 구성된다.
[0033] 각각의 사용자 디바이스(106A-106L)는 DL(downlink) 및/또는 UL(uplink)을 통해 액세스 포인트들(104A-104G) 중 하나 또는 그 초과와 통신할 수 있다. 일반적으로, DL은 액세스 포인트로부터 사용자 디바이스로의 통신 링크인 반면, UL은 사용자 디바이스로부터 액세스 포인트로의 통신 링크이다. 액세스 포인트들(104A-104G)은 유선 또는 무선 인터페이스들을 통해 서로 그리고/또는 다른 네트워크 장비에 커플링될 수 있어서, 액세스 포인트들(104A-104G)이 서로 그리고/또는 다른 네트워크 장비와 통신할 수 있게 한다. 따라서, 각각의 사용자 디바이스(106A-106L)는 또한, 액세스 포인트들(104A-104G) 중 하나 또는 그 초과를 통해 다른 사용자 디바이스(106A-106L)와 통신할 수 있다. 예컨대, 사용자 디바이스(106J)는, 사용자 디바이스(106J)가 액세스 포인트(104D)와 통신할 수 있고, 액세스 포인트(104D)가 액세스 포인트(104B)와 통신할 수 있고, 액세스 포인트(104B)가 사용자 디바이스(106H)와 통신할 수 있어서, 사용자 디바이스(106J)와 사용자 디바이스(106H) 사이에 설정될 통신을 허용하는 방식으로 사용자 디바이스(106H)와 통신할 수 있다.
[0034] 무선 통신 네트워크, 이를테면, 무선 통신 네트워크(100)는, 소규모에서 대규모의 범위를 가지는 지리적 지역에 걸쳐 서비스를 제공할 수 있다. 예컨대, 셀들(102A-102G)은 시골 환경에서 인근에 또는 수 제곱 마일 내에서 약간의 블록들을 커버할 수 있다. 일부 시스템들에서, 셀들(102A-102G) 각각은 하나 또는 그 초과의 섹터들(도 1에 도시되지 않음)로 추가로 분할될 수 있다. 또한, 액세스 포인트들(104A-104G)은 이들의 개개의 커버리지 영역들(즉, 개개의 셀들(102A-102G)) 내의 사용자 디바이스들(106A-106L)에, 다른 통신 네트워크들, 이를테면, 인터넷, 셀룰러 네트워크, 사설 네트워크 등 중 적어도 하나로의 액세스를 제공할 수 있다. 도 1에 도시되는 예에서, 사용자 디바이스들(106A, 106H 및 106J)은 라우터들을 포함하지만, 사용자 디바이스들(106B-106G, 106I, 106K 및 106L)은 모바일 디바이스들을 포함한다. 그러나, 사용자 디바이스들(106A-106L) 각각은 임의의 적합한 통신 디바이스를 포함할 수 있다.
[0035] 본원에서 개시되는 장치의 적어도 일부분은 액세스 포인트들(104A-104G) 중 적어도 하나의 액세스 포인트의 일부일 수 있다. 추가로, 본원에서 개시되는 장치의 적어도 일부분은 사용자 디바이스들(106A-106L) 중 적어도 하나의 사용자 디바이스의 일부일 수 있다. 또한, 본원에서 개시되는 방법들의 적어도 일부분은 액세스 포인트들(104A-104G) 중 적어도 하나의 액세스 포인트에 의해 수행될 수 있다. 본원에서 개시되는 방법들의 적어도 일부분은 사용자 디바이스들(106A-106L) 중 적어도 하나의 사용자 디바이스에 의해 수행될 수 있다. 추가로, 본 개시내용의 실시예들은 보안 트랜잭션에 관한 데이터를 프로세싱하도록 구성된 디바이스에서 실행가능하게 사용될 수 있다.
[0036] 도 2는 사용자 디바이스들(106A-106L) 중 적어도 하나의 사용자 디바이스에 대응할 수 있는 예시적 사용자 디바이스(200)의 예시적인 기능적 블록 다이어그램을 도시한다. 도 2는 또한 사용자 디바이스(200)의 일부일 수 있는 상이한 컴포넌트들을 도시한다. 본원에서 개시되는 장치의 적어도 일부분은 사용자 디바이스(200)의 일부일 수 있다. 일 예에서, 사용자 디바이스들(200)은, 본원에서 설명되는 바와 같이, 비-휘발성 메모리를 업데이트하기 위한 방법의 적어도 일부분을 수행하도록 구성된다.
[0037] 사용자 디바이스(200)는 본원에서 설명되는 방법의 적어도 일부를 수행하는 것을 포함하는, 사용자 디바이스(200)의 동작을 제어하도록 구성된 프로세서(205)를 포함할 수 있다. 프로세서(205)는 또한, CPU(central processing unit), 특수-목적 프로세서 또는 이 둘 모두로 지칭될 수 있다. ROM(read-only memory) 또는 RAM(random access memory) 중 적어도 하나를 포함할 수 있는 메모리(210)는 명령들 또는 데이터 중 적어도 하나를 프로세서(205)에 제공한다. 프로세서(205)는 메모리(210) 내에 저장된 프로세서-실행가능한 명령들에 기반하여 논리적 그리고 산술적 연산들을 수행할 수 있다. 메모리(210)에 저장된 명령들은 본원에서 설명되는 방법의 적어도 일부를 구현하도록 실행가능할 수 있다. 예들에서, 메모리(210)의 적어도 일부분은 본원에서 설명되는 바와 같이, 저장 매체, 이를테면, NV-RAM일 수 있다.
[0038] 프로세서(205)는 하나 또는 그 초과의 프로세서들로 구현되는 프로세싱 시스템을 포함하거나 또는 이의 컴포넌트일 수 있다. 하나 또는 그 초과의 프로세서들은, 마이크로프로세서, 마이크로제어기, DSP(digital signal processor), FPGA(field programmable gate array), PLD(programmable logic device), ASIC(application-specific integrated circuit), 제어기, 상태 머신, 게이티드 로직, 개별 하드웨어 컴포넌트, 전용 하드웨어 유한 상태 머신, 정보를 조작(예컨대, 계산, 논리적 동작들 등), 다른 디바이스를 제어 등 중 적어도 하나를 수행할 수 있는 임의의 다른 적합한 엔티티, 또는 이들의 조합으로 구현될 수 있다. 프로세싱 시스템은 또한, 소프트웨어를 저장하는 비-일시적 기계-판독가능한 매체들(예컨대, 메모리(210))을 포함할 수 있다. 소프트웨어는 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 하드웨어 기술어 등, 또는 이들의 조합 중 적어도 하나로 지칭되는지 여부와 관계 없이 임의의 타입의 명령들을 의미할 수 있다. 명령들은 (예컨대, 소스 코드 포맷, 바이너리 코드 포맷, 실행가능한 코드 포맷 또는 임의의 다른 적합한 코드 포맷으로) 코드를 포함할 수 있다. 명령들은 프로세서-실행가능하며, 이에 설명되는 방법의 적어도 일부분을 수행하도록 구성된다. 프로세서(205)에 의해 실행될 때, 프로세서로 하여금, 이에 설명되는 기능의 적어도 일부를 수행하게 하는 명령들은 프로세서(205)를 특수-목적 프로세서로 변환할 수 있다.
[0039] 사용자 디바이스(200)는 또한 하우징(215)을 포함할 수 있다. 사용자 디바이스(200)는 또한, 송신기(220), 수신기(225) 또는 사용자 디바이스(200)와 원격 위치 사이의 정보를 통신하도록 구성된 이들의 조합을 포함할 수 있다. 송신기(220) 및 수신기(225)는 트랜시버(230)로 결합될 수 있다. 안테나(235)는 하우징(215)에 부착될 수 있다. 안테나(235)는 송신기(220), 수신기(225) 또는 이들의 조합에 전기적으로 커플링될 수 있다. 사용자 디바이스(200)는 또한, (도 2에 도시되지 않은) 다수의 송신기들, 다수의 수신기들, 다수의 트랜시버들 및/또는 다수의 안테나들을 포함할 수 있다.
[0040] 사용자 디바이스(200)는 메모리(210)에 저장될 정보(예컨대, 데이터), 메모리(210)에 저장된 정보(예컨대, 데이터), 메모리(210)로부터 리트리브될 정보(예컨대, 데이터), 메모리(210)로부터 리트리브된 정보(예컨대, 데이터) 또는 이들의 조합을 프로세싱하도록 구성된 메모리 매니저(240)를 더 포함할 수 있다. 일 예에서, 메모리 매니저(240)의 적어도 일부분은 프로세서(205)에 통합될 수 있다. 메모리 매니저(240)는 메모리(210)를 상이한 파티션들로 파티셔닝하도록 구성될 수 있다. 추가로, 메모리 매니저(240)는 데이터가 메모리(210)에 기록될 때 특정 데이터가 저장될 메모리(210) 내의 위치를 결정하도록 구성될 수 있다.
[0041] 사용자 디바이스(200)는 또한 사용자 인터페이스(245)를 더 포함할 수 있다. 사용자 인터페이스(245)는 키패드, 마이크로폰, 스피커, 디스플레이 등 또는 이들의 조합을 포함할 수 있다. 사용자 인터페이스(245)는 사용자 디바이스(200)의 사용자에게 정보를 전달하는 것 및 사용자 디바이스(200)의 사용자로부터 정보를 수신하는 것 중 적어도 하나를 수행하는 컴포넌트를 포함할 수 있다.
[0042] 사용자 디바이스(200)의 컴포넌트들은 버스 시스템(250)에 의해 함께 커플링될 수 있다. 버스 시스템(250)은 데이터 버스, 전력 버스, 제어 신호 버스, 상태 신호 버스 등 또는 이들의 조합을 포함할 수 있다. 사용자 디바이스(200)의 컴포넌트들은 상이한 적합한 메커니즘을 사용하여 서로 통신하기 위해 함께 커플링될 수 있다.
[0043] 도 3은 NVM(non-volatile memory)(305)을 업데이트하기 위한 예시적 방법(300)을 도시한다. NVM(305)을 업데이트하기 위한 방법(300)은 이에 설명되는 장치, 이를테면, 사용자 디바이스들(106A-106L), 액세스 포인트들(104A-104G) 또는 사용자 디바이스(200) 중 적어도 하나에 의해 수행될 수 있다.
[0044] 방법(300)은 NVM(305) 및 NVM(305)으로부터 분리된 RAM(random access memory)(310)을 사용하여 구현된다. NVM(305)은 데이터 저장 파티션(315) 및 백업 영역(320)으로 파티셔닝된다. RAM(310)은 데이터 저장소(325)를 위한 파티션을 포함할 수 있다.
[0045] 단계(330)에서, 데이터 A는 NVM(305)의 데이터 저장 파티션(315)으로부터 리트리브되고, 새로운 데이터 A'는 컴퓨팅된다. 데이터 A'는 RAM(310)에, 이를테면, 데이터 저장소(325)를 위한 파티션에 저장된다. 데이터 A는, 이를테면, 본원에서 설명되는 보안 트랜잭션 데이터일 수 있다. 또한, 데이터 A'는, 이를테면, 본원에서 설명되는 보안 트랜잭션 데이터일 수 있다.
[0046] 단계(335)에서, 데이터 A는 NVM(305)의 백업 영역(320)에 저장된다.
[0047] 단계(340)에서, 헤더 플래그가 백업 영역(320)에서 세팅되어(즉, 유효하게 됨) 저장된다. 이것은 인터럽션에 후속하여 사용하기 위해 백업을 인에이블링(즉, "아밍(arm)")한다.
[0048] 단계(345)에서, 데이터 A'는 RAM(310)으로부터 데이터 저장 파티션(315)으로 전달된다.
[0049] 단계(350)에서, 헤더 플래그가 백업 영역(320)에서 리세팅된다(즉, 무효하게 됨). 이것은 백업을 디스에이블링(즉, "디스아밍(disarm)")하며, 따라서, 백업 특징이 디스에이블링됨을 표시한다.
[0050] 도 4는 NV-RAM(non-volatile random access memory)(405)을 백업하기 위한 예시적 방법(400)을 도시한다. NV-RAM(405)을 백업하기 위한 방법(400)은 이에 설명되는 장치, 이를테면, 사용자 디바이스들(106A-106L), 액세스 포인트들(104A-104G) 또는 사용자 디바이스(200) 중 적어도 하나에 의해 수행될 수 있다. 방법(400)은 NV-RAM(405)을 사용하여 구현된다. NV-RAM(405)은 RAM 파티션(410) 및 NVM 파티션(415)으로 파티셔닝된다. RAM 파티션(410)은 플래그(420) 및 데이터 영역(425)을 저장하도록 구성된 지역을 포함한다. NVM 파티션(415)은 데이터(430)를 저장하도록 구성된 지역을 포함한다. RAM 파티션(410) 및 NVM 파티션(415)은 인접하거나 또는 인접하지 않을 수 있다. 초기 조건들은 데이터 영역(425) 및 데이터(430)를 저장하도록 구성된 지역 둘 모두에 저장되는 "데이터 A"의 복사본을 포함한다.
[0051] 단계(435)에서, 데이터 A는 데이터 영역(425)으로부터 리트리브되고, 새로운 데이터 A'는 컴퓨팅된다. 새로운 데이터 A'는 데이터 영역(425)에 저장된다. 데이터 A는, 이를테면, 본원에서 설명되는 보안 트랜잭션 데이터일 수 있다. 또한, 새로운 데이터 A'는, 이를테면, 본원에서 설명되는 보안 트랜잭션 데이터일 수 있다.
[0052] 단계(440)에서, 헤더 플래그가 플래그(420)를 저장하도록 구성된 지역에서 세팅되어(즉, 유효하게 됨) 저장된다.
[0053] 단계(445)에서, 새로운 데이터 A'는 RAM 파티셔닝(410) 내의 데이터 영역(425)으로부터 NVM 파티션(415)에 데이터(430)를 저장하도록 구성된 지역으로 복사(즉, 업데이트)된다.
[0054] 단계(450)에서, 헤더 플래그가 플래그(420)를 저장하도록 구성된 지역에서 리세팅되어(즉, 무효하게 됨) 저장된다.
[0055] 도 5는 NV-RAM(non-volatile random access memory)을 백업하기 위한 예시적 방법(500)을 도시한다. NV-RAM을 백업하기 위한 방법(500)은 이에 설명되는 장치, 이를테면, 사용자 디바이스들(106A-106L), 액세스 포인트들(104A-104G) 및 사용자 디바이스(200) 중 적어도 하나에 의해 수행될 수 있다. 일 예에서, 복수의 업데이트 스테이지들이 존재하고, 방법(500)은 복수의 업데이트 스테이지들에서의 업데이트 스테이지에서 수행된다.
[0056] 선택적 블록(505)에서, NV-RAM은 NVM(non-volatile memory) 지역 및 RAM(random access memory) 지역으로 파티셔닝된다.
[0057] 블록(510)에서, 원래 데이터는 NV-RAM의 NVM 지역에 저장된다. 원래 데이터는, 이를테면, 본원에서 설명되는 보안 트랜잭션 데이터일 수 있다.
[0058] 블록(515)에서, 원래 데이터는 NV-RAM의 RAM 지역에 복사된다. NVM 지역 및 RAM 지역은 상이한 지역들이다.
[0059] 블록(520)에서, 업데이트된 데이터는 원래 데이터로부터 컴퓨팅된다. 업데이트된 데이터는 보안 트랜잭션 데이터일 수 있다.
[0060] 블록(525)에서, 업데이트된 데이터는 RAM 지역에 저장된다.
[0061] 블록(530)에서, 업데이트된 플래그는 RAM 지역에서 유효화(즉, 세팅)된다. 다수의 업데이트 스테이지들이 구현되면, 업데이트된 플래그는 복수의 업데이트 스테이지들에서의 특정 업데이트 스테이지의 완료를 표시할 수 있다.
[0062] 블록(535)에서, 업데이트된 데이터는 NVM 지역에 복사된다.
[0063] 블록(540)에서, RAM 지역 내의 업데이트된 플래그는 무효화(즉, 리세팅)된다.
[0064] 단일 업데이트 스테이지가 존재하면, 인터럽션 이후에, RAM 지역 내의 업데이트된 플래그의 상태가 결정된다. 인터럽션은 NV-RAM에 대한 전력 손실, 메모리 관리 디바이스(예컨대, 메모리 매니저(240))에 대한 전력 손실, 프로세서(예컨대, 프로세서(205))에 대한 전력 손실, 리부팅, 리세팅, 또는 이들의 조합일 수 있다. 업데이트된 플래그의 상태가 유효하면(즉, 세팅되면), 업데이트된 데이터는 NVM 지역에 복사되고, RAM 지역 내의 업데이트된 플래그는 무효화(즉, 리세팅)된다.
[0065] 복수의 업데이트 스테이지들이 존재하면, 인터럽션 이후에, RAM 지역 내의 업데이트된 플래그의 상태가 결정된다. 인터럽션은 NV-RAM에 대한 전력 손실, 메모리 관리 디바이스(예컨대, 메모리 매니저(240))에 대한 전력 손실, 프로세서(예컨대, 프로세서(205))에 대한 전력 손실, 리부팅, 리세팅, 또는 이들의 조합일 수 있다. 업데이트된 플래그는 복수의 업데이트 스테이지들에서의 특정 업데이트 스테이지의 완료를 표시한다. 업데이트된 플래그의 상태가 유효하면, 업데이트된 데이터는 NVM 지역에 복사된다. NVM 지역은 특정 업데이트 스테이지와 연관된다. 또한, 업데이트된 플래그의 상태가 유효하면(즉, 세팅되면), RAM 지역 내의 업데이트된 플래그는 무효화(즉, 리세팅)된다. RAM 지역은 복수의 업데이트 스테이지들에서의 특정 업데이트 스테이지와 연관된다.
[0066] 블록들 및 단계들은 예들에 대해 비제한적이다. 블록들 및 단계들은 조합될 수 있고 그리고/또는 순서는 실행가능하게 재배열될 수 있다.
[0067] 도 6은 일련의 상호 관련된 기능적 모듈들로서 표현되고 본원에서 제공되는 기법들을 제공하거나 또는 그렇지 않으면 지원하도록 구성된 예시적 사용자 디바이스 장치(600)(예컨대, 모바일 장비)를 도시한다. NV-RAM을 NVM(non-volatile memory) 지역 및 RAM(random access memory) 지역(605)으로 파티셔닝하기 위한 모듈은, 적어도 일부 양상들에서, 예컨대, 본원에서 논의되는 바와 같은 통신 디바이스에 대응할 수 있다. NV-RAM(610)의 NVM 지역에 원래 데이터를 저장하기 위한 모듈은, 적어도 일부 양상들에서, 예컨대, 본원에서 논의되는 바와 같은 통신 디바이스에 대응할 수 있다. NV-RAM(615)의 RAM 지역에 원래 데이터를 복사하기 위한 모듈은, 적어도 일부 양상들에서, 예컨대, 본원에서 논의되는 바와 같은 통신 디바이스에 대응할 수 있다. 원래 데이터(620)로부터 업데이트된 데이터를 컴퓨팅하기 위한 모듈은, 적어도 일부 양상들에서, 예컨대, 본원에서 논의되는 바와 같은 통신 디바이스에 대응할 수 있다. RAM 지역(625)에 업데이트된 데이터를 저장하기 위한 모듈은, 적어도 일부 양상들에서, 예컨대, 본원에서 논의되는 바와 같은 통신 디바이스에 대응할 수 있다. RAM 지역(630) 내의 업데이트된 플래그를 유효화하기 위한 모듈은, 적어도 일부 양상들에서, 예컨대, 본원에서 논의되는 바와 같은 통신 디바이스에 대응할 수 있다. NVM 지역(635)에 업데이트된 데이터를 복사하기 위한 모듈은, 적어도 일부 양상들에서, 예컨대, 본원에서 논의되는 바와 같은 통신 디바이스에 대응할 수 있다. RAM 지역(640) 내의 업데이트된 플래그를 무효화하기 위한 모듈은, 적어도 일부 양상들에서, 예컨대, 본원에서 논의되는 바와 같은 통신 디바이스에 대응할 수 있다.
[0068] 추가로, 당업자들은 본원에서 개시되는 예들에서 설명되는 예시적인 논리적 블록들, 모듈들, 회로들, 및 단계들이, 실행가능하게, 전자 하드웨어, 컴퓨터 소프트웨어 또는 둘 모두의 조합들로서 구현될 수 있다는 것을 인식할 것이다. 하드웨어 및 소프트웨어의 이러한 교환가능성을 명확하게 예시하기 위해, 예시적 컴포넌트들, 블록들, 모듈들, 회로들, 및 단계들은 일반적으로 그 기능성의 측면에서 본원에서 설명되었다. 그러한 기능성이 하드웨어로서 구현되는지 또는 소프트웨어로서 구현되는지는 전체 시스템 상에 부과되는 설계 제약들 및 특정 애플리케이션에 의존한다. 당업자들은 설명되는 기능을 각각의 특정 애플리케이션에 대해 상이한 방식들로 구현할 수 있지만, 그러한 구현 판정들이 본 개시내용의 범위로부터의 이탈을 야기하는 것으로 해석되지 않아야 한다.
[0069] 본원에서 개시되는 예들과 관련하여 설명되는 방법들, 시퀀스들 및/또는 알고리즘들의 적어도 일부분은 직접적으로, 하드웨어로, 프로세서(예컨대, 이에 설명되는 프로세서)에 의해 실행되는 소프트웨어로, 또는 이 둘의 조합으로 구현될 수 있다. 일 예에서, 프로세서는 다수의 개별 하드웨어 컴포넌트들을 포함한다. 소프트웨어 모듈은, 저장 매체(예컨대, 메모리 디바이스), 이를테면, RAM(random-access memory), 플래시 메모리, ROM(read-only memory), EPROM(erasable programmable read-only memory), EEPROM(electrically erasable programmable read-only memory), 레지스터, 하드 디스크, 탈착식 디스크(removable disk), CD-ROM(compact disc read-only memory), SIM(Subscriber Identity Module) 카드, USIM(Universal Subscriber Identity Module) 카드 및/또는 임의의 다른 형태의 저장 매체에 상주할 수 있다. 예시적 저장 매체(예컨대, 메모리 디바이스)는 프로세서가 저장 매체로부터 정보를 판독하고 그리고/또는 저장 매체에 정보를 기록할 수 있도록 프로세서에 커플링될 수 있다. 일 예에서, 저장 매체는 프로세서와 통합될 수 있다.
[0070] 추가로, 이에 제공되는 예들이, 예컨대, 컴퓨팅 디바이스의 엘리먼트들에 의해 수행될 액션(action)들의 시퀀스들에 관해 설명된다. 본원에서 설명되는 액션들이 특정 회로(예컨대, ASIC(application specific integrated circuit))에 의해, 하나 또는 그 초과의 프로세서들에 의해 실행되는 프로그램 명령들에 의해 또는 이 둘의 조합에 의해 수행될 수 있다. 추가적으로, 본원에서 설명되는 액션들의 시퀀스는, 실행 시에, 연관된 프로세서(이를테면, 특수-목적 프로세서)로 하여금 본원에서 설명되는 기능의 적어도 일부분을 수행하게 할 대응하는 컴퓨터 명령들의 세트가 저장된 임의의 형태의 컴퓨터-판독가능한 저장 매체 내에 전적으로 있는 것으로 고려될 수 있다. 따라서, 예들은 다수의 상이한 형태들일 수 있으며, 이들 모두는 본 개시내용의 범위 내에 있는 것으로 고려되었다. 또한, 본원에서 설명되는 예들 각각에 대해, 임의의 그러한 예들의 대응하는 전기 회로는, 예컨대, 설명되는 액션을 수행하도록 "구성되는 로직"으로서 본원에서 설명될 수 있다.
[0071] 개시되는 디바이스들 및 방법들은 비-일시적(즉, 비-순시적(non-transient)) 컴퓨터-판독가능한 매체들에 저장될 수 있는 GDSII(Graphic Database System Two) 호환가능한 포맷, OASIS(Open Artwork System Interchange Standard) 호환가능한 포맷 및/또는 GERBER(예컨대, RS-274D, RS-274X 등) 호환가능한 포맷인 컴퓨터-실행가능한 파일로 설계될 수 있으며, 이로 구성될 수 있다. 파일은, 파일에 기반하여 리소그래픽 디바이스로 통합 디바이스를 제조하는 제조 핸들러에 제공될 수 있다. 본원에서 설명되는 구조의 적어도 일부분을 형성하는 재료의 증착은 PVD(physical vapor deposition, 예컨대, 스퍼터링), PECVD(plasma-enhanced chemical vapor deposition), 열적 CVD(thermal chemical vapor deposition) 및/또는 스핀-코팅 등과 같은 증착 기법들을 사용하여 수행될 수 있다. 본원에서 설명되는 구조의 적어도 일부분을 형성하는 재료의 에칭은 플라즈마 에칭과 같은 에칭 기법들을 사용하여 수행될 수 있다. 일 예에서, 통합 디바이스는 반도체 웨이퍼 상에 있다. 반도체 웨이퍼는 반도체 다이로 절단되어 반도체 칩에 패키징될 수 있다. 반도체 칩은 본원에서 설명되는 디바이스(예컨대, 모바일 디바이스, 액세스 디바이스 등)에서 사용될 수 있다.
[0072] 이에 제공되는 적어도 일 예는, 프로세서(예컨대, 특수-목적 프로세서)로 하여금, 프로세서 및 임의의 다른 협력 디바이스들을, 이에 설명되는 기능 및/또는 이에 설명되는 방법의 적어도 일부를 수행하도록 구성된 기계(예컨대, 특수-목적 프로세서)로 변환하게 하도록 구성된 프로세서-실행가능한 명령들을 저장하는 비-일시적(즉, 비-순시적) 기계-판독가능한 매체들 및/또는 비-일시적(즉, 비-순시적) 컴퓨터-판독가능한 매체들을 포함할 수 있다. 이에 설명되는 기능의 적어도 일부를 수행하는 것은 이에 설명되는 기능의 적어도 일부를 개시하는 것을 포함할 수 있다. 일 예에서, 저장된 명령들의 실행은 프로세서 및 임의의 다른 협력 디바이스들을 이에 설명되는 장치의 적어도 일부로 변환할 수 있다. 비-일시적(즉, 비-순시적) 기계-판독가능한 매체들은 구체적으로, 일시적 전파 신호를 배제한다. 추가로, 본 발명의 적어도 하나의 실시예는 본원에서 설명되는 방법의 적어도 일부를 구현하는 컴퓨터-판독가능한 매체를 포함할 수 있다. 따라서, 본원에서 설명되는 기능들을 수행하기 위한 임의의 수단은 본 발명의 적어도 하나의 실시예에 포함된다. 비-일시적(즉, 비-순시적) 기계-판독가능한 매체들은 구체적으로, 일시적 전파 신호를 배제한다.
[0073] 본 출원에 서술되거나 또는 도시되는 어떠한 것도, 컴포넌트, 단계, 블록, 특징, 목적, 이익, 이점 또는 그 등가물이 청구항들에서 언급되는지 여부에 관계 없이, 임의의 컴포넌트, 단계, 블록, 특징, 목적, 이익, 이점 또는 그 등가물을 공중에 제공하도록 의도되는 것은 아니다.
[0074] 본 개시내용은 예들을 설명하지만, 첨부된 청구항들에 의해 정의되는 범위를 벗어나지 않으면서 본원에서 개시되는 예들에 대해 변경들 및 수정들이 이루어질 수 있다. 본 개시내용은 구체적으로 개시되는 예들로 단독으로 제한되도록 의도되는 것은 아니다.

Claims (30)

  1. NV-RAM(non-volatile random access memory)을 업데이트하기 위한 방법으로서,
    상기 NV-RAM의 NVM(non-volatile memory) 지역에 원래 데이터를 저장하는 단계;
    상기 NV-RAM의 RAM(random access memory) 지역에 상기 원래 데이터를 복사하는 단계 ― 상기 NVM 지역 및 상기 RAM 지역은 상이한 지역들임 ― ;
    상기 원래 데이터로부터 업데이트된 데이터를 컴퓨팅하는 단계;
    상기 RAM 지역에 상기 업데이트된 데이터를 저장하는 단계;
    상기 RAM 지역 내의 업데이트된 플래그를 유효화하는 단계;
    상기 NVM 지역에 상기 업데이트된 데이터를 복사하는 단계; 및
    상기 RAM 지역 내의 상기 업데이트된 플래그를 무효화하는 단계를 포함하는, NV-RAM을 업데이트하기 위한 방법.
  2. 제1 항에 있어서,
    인터럽션 이후에, 상기 RAM 지역 내의 상기 업데이트된 플래그의 상태를 결정하는 단계;
    상기 업데이트된 플래그의 상태가 유효하면, 상기 NVM 지역에 상기 업데이트된 데이터를 복사하는 단계; 및
    상기 업데이트된 플래그의 상태가 유효하면, 상기 RAM 지역 내의 상기 업데이트된 플래그를 무효화하는 단계를 더 포함하는, NV-RAM을 업데이트하기 위한 방법.
  3. 제2 항에 있어서,
    상기 인터럽션은 상기 NV-RAM에 대한 전력 손실, 메모리 관리 디바이스에 대한 전력 손실, 프로세서에 대한 전력 손실, 리부팅(reboot), 리세팅, 또는 이들의 조합인, NV-RAM을 업데이트하기 위한 방법.
  4. 제1 항에 있어서,
    인터럽션 이후에, 상기 RAM 지역 내의 상기 업데이트된 플래그의 상태를 결정하는 단계 ― 상기 업데이트된 플래그는 복수의 업데이트 스테이지들에서의 특정 업데이트 스테이지의 완료를 표시함 ― ;
    상기 업데이트된 플래그의 상태가 유효하면, 상기 NVM 지역에 상기 업데이트된 데이터를 복사하는 단계 ― 상기 NVM 지역은 상기 특정 업데이트 스테이지와 연관됨 ― ; 및
    상기 업데이트된 플래그의 상태가 유효하면, 상기 RAM 지역 내의 상기 업데이트된 플래그를 무효화하는 단계를 더 포함하고,
    상기 RAM 지역은 상기 특정 업데이트 스테이지와 연관되는, NV-RAM을 업데이트하기 위한 방법.
  5. 제4 항에 있어서,
    상기 복수의 업데이트 스테이지들에서의 후속 업데이트 스테이지에서 업데이트를 수행하는 단계를 더 포함하는, NV-RAM을 업데이트하기 위한 방법.
  6. 제4 항에 있어서,
    상기 인터럽션은 상기 NV-RAM에 대한 전력 손실, 메모리 관리 디바이스에 대한 전력 손실, 프로세서에 대한 전력 손실, 리부팅, 리세팅, 또는 이들의 조합인, NV-RAM을 업데이트하기 위한 방법.
  7. 제1 항에 있어서,
    상기 업데이트된 플래그는 복수의 업데이트 스테이지들에서의 특정 업데이트 스테이지의 완료를 표시하는, NV-RAM을 업데이트하기 위한 방법.
  8. 제1 항에 있어서,
    상기 NV-RAM을 상기 NVM 지역 및 상기 RAM 지역으로 파티셔닝하는 단계를 더 포함하는, NV-RAM을 업데이트하기 위한 방법.
  9. 제1 항에 있어서,
    상기 원래 데이터는 보안 트랜잭션 데이터이고, 상기 업데이트된 데이터는 보안 트랜잭션 데이터이며, 또는 이들의 조합인, NV-RAM을 업데이트하기 위한 방법.
  10. NV-RAM(non-volatile random access memory)을 업데이트하도록 구성된 장치로서,
    상기 NV-RAM ― 상기 NV-RAM은 NVM(non-volatile memory) 지역 및 RAM(random access memory) 지역으로 구성되고, 상기 NVM 지역 및 상기 RAM 지역은 상이한 지역들임 ― ;
    상기 NV-RAM에 커플링된 프로세서; 및
    상기 프로세서에 커플링된 메모리를 포함하고, 상기 메모리는, 상기 프로세서로 하여금,
    상기 NVM 지역에 원래 데이터를 저장하게 하고;
    상기 RAM 지역에 상기 원래 데이터를 복사하게 하고;
    상기 원래 데이터로부터 업데이트된 데이터를 컴퓨팅하게 하고;
    상기 RAM 지역에 상기 업데이트된 데이터를 저장하게 하고;
    상기 RAM 지역 내의 업데이트된 플래그를 유효화하게 하고;
    상기 NVM 지역에 상기 업데이트된 데이터를 복사하게 하고; 그리고
    상기 RAM 지역 내의 상기 업데이트된 플래그를 무효화하게 하는, NV-RAM을 업데이트하도록 구성된 장치.
  11. 제10 항에 있어서,
    상기 메모리는, 상기 프로세서로 하여금,
    인터럽션 이후에, 상기 RAM 지역 내의 상기 업데이트된 플래그의 상태를 결정하게 하고;
    상기 업데이트된 플래그의 상태가 유효하면, 상기 NVM 지역에 상기 업데이트된 데이터를 복사하게 하고; 그리고
    상기 업데이트된 플래그의 상태가 유효하면, 상기 RAM 지역 내의 상기 업데이트된 플래그를 무효화하게 하도록 추가로 구성되는, NV-RAM을 업데이트하도록 구성된 장치.
  12. 제11 항에 있어서,
    상기 인터럽션은 상기 NV-RAM에 대한 전력 손실, 메모리 관리 디바이스에 대한 전력 손실, 프로세서에 대한 전력 손실, 리부팅, 리세팅, 또는 이들의 조합인, NV-RAM을 업데이트하도록 구성된 장치.
  13. 제10 항에 있어서,
    상기 메모리는, 상기 프로세서로 하여금,
    인터럽션 이후에, 상기 RAM 지역 내의 상기 업데이트된 플래그의 상태를 결정하게 하고 ― 상기 업데이트된 플래그는 복수의 업데이트 스테이지들에서의 특정 업데이트 스테이지의 완료를 표시함 ― ;
    상기 업데이트된 플래그의 상태가 유효하면, 상기 NVM 지역에 상기 업데이트된 데이터를 복사하게 하고 ― 상기 NVM 지역은 상기 특정 업데이트 스테이지와 연관됨 ― ; 그리고
    상기 업데이트된 플래그의 상태가 유효하면, 상기 RAM 지역 내의 상기 업데이트된 플래그를 무효화하게 하도록 추가로 구성되고,
    상기 RAM 지역은 상기 특정 업데이트 스테이지와 연관되는, NV-RAM을 업데이트하도록 구성된 장치.
  14. 제13 항에 있어서,
    상기 메모리는, 상기 프로세서로 하여금, 상기 복수의 업데이트 스테이지들에서의 후속 업데이트 스테이지에서 업데이트를 수행하게 하도록 추가로 구성되는, NV-RAM을 업데이트하도록 구성된 장치.
  15. 제13 항에 있어서,
    상기 인터럽션은 상기 NV-RAM에 대한 전력 손실, 메모리 관리 디바이스에 대한 전력 손실, 프로세서에 대한 전력 손실, 리부팅, 리세팅, 또는 이들의 조합인, NV-RAM을 업데이트하도록 구성된 장치.
  16. 제10 항에 있어서,
    상기 업데이트된 플래그는 복수의 업데이트 스테이지들에서의 특정 업데이트 스테이지의 완료를 표시하는, NV-RAM을 업데이트하도록 구성된 장치.
  17. 제10 항에 있어서,
    상기 메모리는, 상기 프로세서로 하여금, 상기 NV-RAM을 상기 NVM 지역 및 상기 RAM 지역으로 파티셔닝하게 하도록 추가로 구성되는, NV-RAM을 업데이트하도록 구성된 장치.
  18. 제10 항에 있어서,
    상기 원래 데이터는 보안 트랜잭션 데이터이고, 상기 업데이트된 데이터는 보안 트랜잭션 데이터이며, 또는 이들의 조합인, NV-RAM을 업데이트하도록 구성된 장치.
  19. 제10 항에 있어서,
    상기 프로세서의 적어도 일부는 반도체 다이 상에 통합되는, NV-RAM을 업데이트하도록 구성된 장치.
  20. 제10 항에 있어서,
    상기 프로세서가 통합되는 기지국 또는 모바일 디바이스 중 적어도 하나를 더 포함하는, NV-RAM을 업데이트하도록 구성된 장치.
  21. 제10 항에 있어서,
    상기 장치는 모바일 디바이스, 뮤직 플레이어, 비디오 플레이어, 엔터테인먼트 유닛, 네비게이션 디바이스, 통신 디바이스, 태블릿, 컴퓨터 또는 이들의 조합인, NV-RAM을 업데이트하도록 구성된 장치.
  22. 제10 항에 있어서,
    상기 프로세서는 마이크로프로세서, 마이크로제어기, 디지털 신호 프로세서, 필드 프로그래밍가능한 게이트 어레이, 프로그래밍가능한 로직 디바이스, 주문형 집적 회로, 제어기, 비-범용 특수-목적 프로세서, 상태 머신, 게이티드 로직(gated logic), 개별 하드웨어 컴포넌트, 전용 하드웨어 유한 상태 머신 또는 이들의 조합이고; 그리고
    상기 NV-RAM은 스핀 전달 토크 자기저항 랜덤 액세스 메모리 또는 강유전성 RAM인, NV-RAM을 업데이트하도록 구성된 장치.
  23. 프로세서-실행가능한 명령들이 저장된 비-일시적 컴퓨터-판독가능한 저장 매체로서,
    상기 명령들은, 프로세서로 하여금,
    NV-RAM(non-volatile random access memory)의 NVM(non-volatile memory) 지역에 원래 데이터를 저장하게 하고;
    상기 NV-RAM의 RAM(random access memory) 지역에 상기 원래 데이터를 복사하게 하고 ― 상기 NVM 지역 및 상기 RAM 지역은 상이한 지역들임 ― ;
    상기 원래 데이터로부터 업데이트된 데이터를 컴퓨팅하게 하고;
    상기 RAM 지역에 상기 업데이트된 데이터를 저장하게 하고;
    상기 RAM 지역 내의 업데이트된 플래그를 유효화하게 하고;
    상기 NVM 지역에 상기 업데이트된 데이터를 복사하게 하고; 그리고
    상기 RAM 지역 내의 상기 업데이트된 플래그를 무효화하게 하도록 구성되는, 비-일시적 컴퓨터-판독가능한 저장 매체.
  24. 제23 항에 있어서,
    상기 프로세서-실행가능한 명령들은, 상기 프로세서로 하여금,
    인터럽션 이후에, 상기 RAM 지역 내의 상기 업데이트된 플래그의 상태를 결정하게 하고;
    상기 업데이트된 플래그의 상태가 유효하면, 상기 NVM 지역에 상기 업데이트된 데이터를 복사하게 하고; 그리고
    상기 업데이트된 플래그의 상태가 유효하면, 상기 RAM 지역 내의 상기 업데이트된 플래그를 무효화하게 하는 명령들을 더 포함하는, 비-일시적 컴퓨터-판독가능한 저장 매체.
  25. 제23 항에 있어서,
    상기 프로세서-실행가능한 명령들은, 상기 프로세서로 하여금,
    인터럽션 이후에, 상기 RAM 지역 내의 상기 업데이트된 플래그의 상태를 결정하게 하고 ― 상기 업데이트된 플래그는 복수의 업데이트 스테이지들에서의 특정 업데이트 스테이지의 완료를 표시함 ― ;
    상기 업데이트된 플래그의 상태가 유효하면, 상기 NVM 지역에 상기 업데이트된 데이터를 복사하게 하고 ― 상기 NVM 지역은 상기 특정 업데이트 스테이지와 연관됨 ― ; 그리고
    상기 업데이트된 플래그의 상태가 유효하면, 상기 RAM 지역 내의 상기 업데이트된 플래그를 무효화하게 하는 명령들을 더 포함하고,
    상기 RAM 지역은 상기 특정 업데이트 스테이지와 연관되는, 비-일시적 컴퓨터-판독가능한 저장 매체.
  26. 제23 항에 있어서,
    상기 업데이트된 플래그는 복수의 업데이트 스테이지들에서의 특정 업데이트 스테이지의 완료를 표시하는, 비-일시적 컴퓨터-판독가능한 저장 매체.
  27. NV-RAM(non-volatile random access memory)을 업데이트하도록 구성된 장치로서,
    상기 NV-RAM의 NVM(non-volatile memory) 지역에 원래 데이터를 저장하기 위한 수단;
    상기 NV-RAM의 RAM(random access memory) 지역에 상기 원래 데이터를 복사하기 위한 수단 ― 상기 NVM 지역 및 상기 RAM 지역은 상이한 지역들임 ― ;
    상기 원래 데이터로부터 업데이트된 데이터를 컴퓨팅하기 위한 수단;
    상기 RAM 지역에 상기 업데이트된 데이터를 저장하기 위한 수단;
    상기 RAM 지역 내의 업데이트된 플래그를 유효화하기 위한 수단;
    상기 NVM 지역에 상기 업데이트된 데이터를 복사하기 위한 수단; 및
    상기 RAM 지역 내의 상기 업데이트된 플래그를 무효화하기 위한 수단을 포함하는, NV-RAM을 업데이트하도록 구성된 장치.
  28. 제27 항에 있어서,
    인터럽션 이후에, 상기 RAM 지역 내의 상기 업데이트된 플래그의 상태를 결정하기 위한 수단;
    상기 업데이트된 플래그의 상태가 유효하면, 상기 NVM 지역에 상기 업데이트된 데이터를 복사하기 위한 수단; 및
    상기 업데이트된 플래그의 상태가 유효하면, 상기 RAM 지역 내의 상기 업데이트된 플래그를 무효화하기 위한 수단을 더 포함하는, NV-RAM을 업데이트하도록 구성된 장치.
  29. 제27 항에 있어서,
    인터럽션 이후에, 상기 RAM 지역 내의 상기 업데이트된 플래그의 상태를 결정하기 위한 수단 ― 상기 업데이트된 플래그는 복수의 업데이트 스테이지들에서의 특정 업데이트 스테이지의 완료를 표시함 ― ;
    상기 업데이트된 플래그의 상태가 유효하면, 상기 NVM 지역에 상기 업데이트된 데이터를 복사하기 위한 수단 ― 상기 NVM 지역은 상기 특정 업데이트 스테이지와 연관됨 ― ; 및
    상기 업데이트된 플래그의 상태가 유효하면, 상기 RAM 지역 내의 상기 업데이트된 플래그를 무효화하기 위한 수단을 더 포함하고,
    상기 RAM 지역은 상기 특정 업데이트 스테이지와 연관되는, NV-RAM을 업데이트하도록 구성된 장치.
  30. 제27 항에 있어서,
    상기 업데이트된 플래그는 복수의 업데이트 스테이지들에서의 특정 업데이트 스테이지의 완료를 표시하는, NV-RAM을 업데이트하도록 구성된 장치.
KR1020187011121A 2015-09-19 2016-09-01 보안 트랜잭션 관리 기법들 KR20180054795A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/859,275 2015-09-19
US14/859,275 US20170083254A1 (en) 2015-09-19 2015-09-19 Secure transaction management techniques
PCT/US2016/049886 WO2017048521A1 (en) 2015-09-19 2016-09-01 Secure transaction management techniques

Publications (1)

Publication Number Publication Date
KR20180054795A true KR20180054795A (ko) 2018-05-24

Family

ID=56926318

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187011121A KR20180054795A (ko) 2015-09-19 2016-09-01 보안 트랜잭션 관리 기법들

Country Status (6)

Country Link
US (1) US20170083254A1 (ko)
EP (1) EP3350743B1 (ko)
JP (1) JP2018528546A (ko)
KR (1) KR20180054795A (ko)
CN (1) CN108027862B (ko)
WO (1) WO2017048521A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7089423B2 (ja) * 2018-07-12 2022-06-22 ルネサスエレクトロニクス株式会社 情報処理装置及び制御方法
TWI696951B (zh) * 2018-08-31 2020-06-21 威剛科技股份有限公司 儲存裝置異常斷電的處理系統和方法
EP4024254A1 (en) * 2020-12-31 2022-07-06 Idemia Identity & Security France Method and device for updating data
KR20220125557A (ko) * 2021-03-05 2022-09-14 삼성전자주식회사 보안 데이터 처리 방법 및 장치

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2666425A1 (fr) * 1990-08-31 1992-03-06 Gemplus Card Int Procede et dispositif de mise a jour d'informations dans une memoire et leur utilisation dans les cartes a memoire.
US5341493A (en) * 1990-09-21 1994-08-23 Emc Corporation Disk storage system with write preservation during power failure
US6289455B1 (en) * 1999-09-02 2001-09-11 Crypotography Research, Inc. Method and apparatus for preventing piracy of digital content
CA2357382A1 (en) * 2001-09-17 2003-03-17 Soma Networks, Inc. Software update method, apparatus and system
CN101326492B (zh) * 2005-10-06 2013-07-17 雷德本德有限公司 用于更新包括压缩版本的内容的方法和系统
US20080320263A1 (en) * 2007-06-20 2008-12-25 Daniel Nemiroff Method, system, and apparatus for encrypting, integrity, and anti-replay protecting data in non-volatile memory in a fault tolerant manner
US10126950B2 (en) * 2014-12-22 2018-11-13 Intel Corporation Allocating and configuring persistent memory

Also Published As

Publication number Publication date
EP3350743A1 (en) 2018-07-25
CN108027862A (zh) 2018-05-11
CN108027862B (zh) 2021-07-02
WO2017048521A1 (en) 2017-03-23
JP2018528546A (ja) 2018-09-27
EP3350743B1 (en) 2021-05-05
US20170083254A1 (en) 2017-03-23

Similar Documents

Publication Publication Date Title
CN106025543B (zh) 天线装置和具有天线装置的电子设备
CN108027862B (zh) 安全交易管理技术
US10223096B2 (en) Logging operating system updates of a secure element of an electronic device
CN107925163B (zh) 天线结构和包括天线结构的电子设备
US9426127B2 (en) Small form-factor cryptographic expansion device
WO2015179115A1 (en) System and methods for payment credential-based mobile commerce
US10171942B2 (en) Methods, apparatuses, systems, and computer readable media for changing settings of mobile terminals using cell identification information
US11042866B2 (en) Mobile device and method for accessing access point of wireless LAN
TW201434204A (zh) 具有由光學透明導電薄膜形成之天線的電子裝置及相關方法
US20170201378A1 (en) Electronic device and method for authenticating identification information thereof
CN111357255B (zh) 构建多个应用通用的可信应用
EP2716096A2 (en) Methods and apparatuses for lawful interception through a subscription manager
US20230325809A1 (en) Merchant location based display for a projectable transaction card
CN115918031A (zh) 执行边缘计算服务的电子装置和电子装置的操作方法
CN104335618A (zh) 移动设备的天线和调制解调器之间的数据交换
US20170201878A1 (en) Method and apparatus for safe network access point detection
KR101206153B1 (ko) 발신 번호의 인증을 이용한 피싱 방지 시스템 및 그 방법
JP5782444B2 (ja) セキュリティ制御機能を備えた情報通信端末、通信システム、及び当該端末が行う通信方法
CN116491110A (zh) 用于执行边缘计算服务的电子装置和电子装置的操作方法
US10715652B2 (en) Solution for controlling an operating mode of a mobile terminal
US8369894B1 (en) Confirming certification of combinations of secure elements and mobile devices
KR20190100786A (ko) 결제 정보에 기반한 지오펜싱 방법 및 이를 위한 장치
US20210166227A1 (en) Secure User Interface With Improved User Experience
US20150006727A1 (en) Method and apparatus for restricting use of an electronic device
US9768496B1 (en) Near field coupler array