KR20240053590A - 이벤트 발생에 기반한 메모리 구역들 보호 - Google Patents

이벤트 발생에 기반한 메모리 구역들 보호 Download PDF

Info

Publication number
KR20240053590A
KR20240053590A KR1020247006900A KR20247006900A KR20240053590A KR 20240053590 A KR20240053590 A KR 20240053590A KR 1020247006900 A KR1020247006900 A KR 1020247006900A KR 20247006900 A KR20247006900 A KR 20247006900A KR 20240053590 A KR20240053590 A KR 20240053590A
Authority
KR
South Korea
Prior art keywords
memory
computing device
occurrence
protecting
information
Prior art date
Application number
KR1020247006900A
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 KR20240053590A publication Critical patent/KR20240053590A/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
    • 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/1441Protection 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 range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0778Dumping, i.e. gathering error/state information after a fault for later diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • 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/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1466Key-lock mechanism
    • 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
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • 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
    • 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/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/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Debugging And Monitoring (AREA)

Abstract

메모리 구역들은 컴퓨팅 디바이스에서의 이벤트 발생에 기반하여 보호될 수 있다. 컴퓨팅 디바이스의 서브시스템들은 시스템 또는 서브시스템 크래시와 같은 이벤트 발생 시 소거될 메모리 구역들을 식별하는 정보를 메모리 제어기에 저장할 수 있다. 메모리 제어기는 이벤트와 연관된 표시에 응답하여 메모리 구역들의 소거를 제어할 수 있다. 메모리 덤프는 메모리 구역들이 소거된 후에 수행될 수 있다.

Description

이벤트 발생에 기반한 메모리 구역들 보호
[0001] 컴퓨팅 디바이스는 버스들 또는 다른 상호연결들을 통해 서로 통신하는 다중 서브시스템들을 포함할 수 있다. 이러한 컴퓨팅 디바이스는 예를 들어 랩톱 또는 팜탑 컴퓨터, 셀룰러 전화 또는 스마트폰, 휴대용 디지털 단말기, 휴대용 게임 콘솔 등과 같은 휴대용 컴퓨팅 디바이스("PCD")일 수 있다. 또 다른 유형들의 PCD들은 자동차 및 사물 인터넷("IoT") 애플리케이션들에 사용될 수 있다. 통신 서브시스템들은 동일한 집적 회로 칩 내에 또는 상이한 칩들에 포함될 수 있다. "시스템-온-칩" 또는 "SoC"는 시스템-레벨 기능을 제공하기 위해 수많은 컴포넌트들을 통합하는 하나의 이런 칩의 예이다. 예를 들어, SoC는 중앙 프로세싱 유닛("CPU")들, 그래픽 프로세싱 유닛("GPU")들, 디지털 신호 프로세서("DSP")들 및 신경 프로세싱 유닛("NPU")들과 같은 하나 이상의 유형들의 프로세서들을 포함할 수 있다. SoC는 무선 연결을 제공하는 트랜시버 또는 "모뎀" 서브시스템, 메모리 서브시스템 등과 같은 다른 프로세싱 서브시스템들을 포함할 수 있다. 다양한 프로세서들은 메모리 서브시스템의 제어 하에 시스템 메모리에 데이터를 저장할 수 있다.
[0002] 소프트웨어를 디버깅(debugging)하고 다른 방식으로 개선하는 것은 일반적으로 "크래시(crash)"로 지칭되는 시스템 또는 서브시스템의 예상치 못한 고장과 같은 이벤트 발생 시 메모리 콘텐츠의 복사본 또는 스냅샷을 수집하는 것을 포함한다. 스냅샷은 "메모리 덤프(memory dump)"로 지칭될 수 있다. 크래시 발생 시 수집된 메모리 덤프는 "크래시 덤프"로 지칭될 수 있다.
[0003] 종래에, 크래시 덤프의 범위는 전체 시스템 메모리를 커버했다. 시스템 메모리가 매우 클 수 있으므로, 종래 크래시 덤프 수집은 상당한 시간량이 걸릴 수 있다. 보다 최근에, 크래시 덤프들은 무선 네트워크들을 통해 PCD들에서 수집되었다. 이러한 원격 크래시 덤프 수집은 성능 고려사항들뿐만 아니라 보안 고려사항들도 제기할 수 있다. 이러한 이유들로, 메모리 덤프 수집의 개선들은 바람직할 수 있다.
[0004] 컴퓨팅 디바이스에서의 이벤트 발생에 기반하여 메모리 구역들을 보호하기 위한 시스템들, 방법들, 컴퓨터-판독가능 매체 및 다른 예들이 개시된다.
[0005] 컴퓨팅 디바이스에서의 이벤트의 발생에 기반하여 메모리 구역들을 보호하기 위한 예시적인 방법은 메모리 제어기에 정보를 저장하는 컴퓨팅 디바이스의 서브시스템을 포함할 수 있다. 그 정보는 이벤트 발생 시 소거될 하나 이상의 메모리 구역들을 식별할 수 있다. 예시적인 방법은 메모리 제어기가 수신하는 표시에 응답하여 메모리 제어기가 하나 이상의 메모리 구역들을 소거하는 것을 더 포함할 수 있다.
[0006] 컴퓨팅 디바이스에서의 이벤트 발생에 기반하여 메모리 구역들을 보호하기 위한 예시적인 시스템은 메모리 및 메모리 제어기를 포함할 수 있다. 메모리 제어기는 메모리 소거 로직을 포함할 수 있다. 메모리 소거 로직은 이벤트 발생 시 소거될 하나 이상의 메모리 구역들을 식별하는 정보를 저장하도록 구성될 수 있다. 메모리 소거 로직은 추가로, 메모리 제어기가 수신하는 표시에 응답하여 하나 이상의 메모리 구역들을 소거하도록 구성될 수 있다.
[0007] 컴퓨팅 디바이스에서의 이벤트 발생에 기반하여 메모리 구역들을 보호하기 위한 다른 예시적인 시스템은 이벤트 발생 시 소거될 하나 이상의 메모리 구역들을 식별하는 정보를 메모리 제어기에 저장하기 위한 수단을 포함할 수 있다. 예시적인 시스템은 표시에 응답하여 하나 이상의 메모리 구역들을 소거하기 위한 수단을 더 포함할 수 있다.
[0008] 컴퓨팅 디바이스에서의 이벤트 발생에 기반하여 메모리 구역들을 보호하기 위한 예시적인 컴퓨터-판독가능 매체는 컴퓨터-실행가능 형태로 명령들이 저장된 비일시적 컴퓨터-판독가능 매체를 포함할 수 있다. 프로세싱 시스템에 의해 실행될 때, 명령들은 컴퓨팅 디바이스의 서브시스템의 제어 하에, 이벤트 발생 시 소거될 하나 이상의 메모리 구역들을 식별하는 정보를 메모리 제어기에 저장하도록 프로세싱 시스템을 구성할 수 있다. 명령들은 추가로, 메모리 제어기의 제어 하에, 메모리 제어기에 의해 수신된 표시에 응답하여 하나 이상의 메모리 구역들을 소거하도록 프로세싱 시스템을 구성할 수 있다.
[0009] 도면들에서, 동일한 참조 번호는 달리 표시되지 않는 한 다양한 도면 전체에 걸쳐 동일한 부분을 지칭한다. "102A" 또는 "102B"와 같은 문자 지정들이 있는 참조 번호들의 경우, 문자 지정들은 동일한 도면에 존재하는 2 개의 유사한 부분들 또는 요소들을 구별할 수 있다. 참조 번호들에 대한 문자 지정들은 참조 번호가 모든 도면들에서 동일한 참조 번호를 갖는 모든 부분들을 포괄하도록 하는 경우 생략될 수 있다.
[0010] 도 1은 예시적인 실시예들에 따라 컴퓨팅 디바이스로부터 메모리 덤프를 수집하기 위한 시스템을 예시하는 블록도이다.
[0011] 도 2는 예시적인 실시예들에 따른, 이벤트의 발생에 기반하여 메모리 구역들을 보호하기 위한 시스템을 갖는 컴퓨팅 디바이스의 양상들을 예시하는 블록도이다.
[0012] 도 3은 예시적인 실시예들에 따른, 컴퓨팅 디바이스에서의 이벤트 발생에 기반하여 메모리 구역들을 보호하기 위한 방법을 예시하는 흐름도이다.
[0013] 도 4는 예시적인 실시예들에 따라 컴퓨팅 디바이스에서의 이벤트 발생에 기반하여 메모리 구역들을 보호하기 위한 다른 방법을 예시하는 흐름도이다.
[0014] 도 5는 예시적인 실시예들에 따른, 컴퓨팅 디바이스에서의 이벤트의 발생에 기반하여 메모리 구역들을 보호하기 위한 시스템의 소프트웨어 흐름 양상들을 예시하는 동작 흐름도이다.
[0015] 도 6은 예시적인 실시예들에 따른 휴대용 컴퓨팅 디바이스의 블록도이다.
[0016] "예시적인"이라는 단어는 "예, 경우, 또는 예시로서 제공하는 것"을 의미하도록 본원에서 사용된다. "예시적인(illustrative)"이라는 단어는 본원에서 "예시적인(exemplary)"과 동의어로 사용될 수 있다. 본원에서 "예시적인" 것으로 설명된 임의의 양상이 반드시 다른 양상들에 비해 바람직하거나 유리한 것으로 해석될 필요는 없다.
[0017] 도 1에 도시된 바와 같이, 도시적이거나 예시적인 실시예에서, 시스템(100)은 하나 이상의 무선 네트워크들(106)을 통해 서비스 제공자(104)와 통신하도록 구성된 PCD들(102A 내지 102N)과 같은 임의의 개수의 휴대용 컴퓨팅 디바이스("PCD")들(102)을 포함할 수 있다. PCD(102)는 예를 들어 스마트폰과 같은 셀룰러 전화일 수 있거나, 위성 전화기, 랩톱 또는 팜탑 컴퓨터, 태블릿, 내비게이션 디바이스, 스마트북, 개인 휴대 정보 단말기("PDA"), 사물 인터넷("IoT") 디바이스, 자동차 컴퓨팅 디바이스 등일 수 있다. PCD(102)는 다른 요소들(명확성을 위해 도시되지 않음) 중에서 하나 이상의 메모리들(108)을 포함할 수 있다. 서비스 제공자(104)는 예를 들어, PCD(102)의 제조자일 수 있거나, PCD(102)의 서브시스템이나 다른 컴포넌트일 수 있다. 서비스 제공자(104)는 PCD(102)에서 동작하는 소프트웨어를 디버깅하거나 다른 방식으로 개선하는 것을 포함할 수 있는 서비스들에 참여할 수 있다. 따라서, 서비스 제공자(104)는 파선 화살표(110)로 개념적으로 표시된 바와 같이, 하나 이상의 무선 네트워크들(106)을 통해 메모리(108)로부터 메모리 덤프를 업로드하거나 수집하기를 원할 수 있다. 비록 이 예시적인 실시예(도 1)에서, 메모리 덤프는 하나 이상의 무선 네트워크들(106)을 통해 수집되지만, 다른 실시예들에서 이러한 메모리 덤프는 유선 연결과 같은 임의의 다른 유형의 연결을 통해(예를 들어, USB 케이블, JTAG 인터페이스 등을 통해) 수집될 수 있다. 본원에서 사용된 "메모리 덤프" 또는 "메모리 덤프 수집"이라는 용어는 메모리 콘텐츠를 수집하는 것을 광범위하게 지칭하고 임의의 특정 이벤트, 이유, 시간, 수집된 데이터의 양 등으로 제한되는 것으로 해석되어서는 안 된다.
[0018] 메모리(108)의 일부 구역들은 민감한 데이터를 포함할 수 있다. 민감한 데이터의 예들은 보안을 유지하는 데 사용되는 데이터, PCD(102) 사용자에게 개인적인 데이터, PCD(102) 제조업자 또는 관련 엔티티의 기밀 정보(예를 들어, 기업 비밀 또는 다른 지적 재산)를 실현하는 데이터 등을 포함한다. 보안 및 개인정보 이유로, 민감한 데이터가 네트워크들(106) 또는 메모리 덤프 수집의 다른 연결을 통해 업로드되는 것을 방지하는 것이 바람직할 수 있다. 대안으로 또는 추가로, 시스템이 재부팅되는 경우(시스템 크래시를 포함(그러나 이에 제한되지 않음)하여, 임의의 이유로) 비인가된 소프트웨어 엔티티들이 민감한 데이터를 액세스하는 것을 방지하는 것이 바람직할 수 있다. 하나의 솔루션은 신뢰된 소프트웨어 엔티티가 민감하지만 암호화되지 않은 데이터를 포함하는 메모리(108) 구역들의 데이터베이스를 유지하고 이어서 메모리 덤프 수집 전에 이들 구역들을 소거하는 것이다. 이 솔루션의 단점은 소거 동작이 성능 오버헤드를 추가한다는 것이다. 다른 단점은 데이터베이스가 메모리(108)에 저장되면, 시스템 크래시가, 신뢰할 수 없는 데이터베이스를 판독하게 할 수 있다는 것이다. 또한 데이터베이스가 손상되면 보안 문제들이 있을 수 있다. 다음 솔루션은 이러한 단점들 중 일부 또는 전부를 피할 수 있다.
[0019] 도 2에 예시된 바와 같이, 예시적인 PCD(202)는 서브시스템(204), 메모리 제어기(206) 및 메모리(208)를 포함할 수 있다. 서브시스템(204)은 임의의 개수의 PCD 서브시스템들 중 예시적인 하나일 수 있고, 그 중 다른 것들은 명확성을 위해 도 2에 도시되지 않았다. 서브시스템(204)은 하나 이상의 버스들 또는 다른 시스템 상호연결들(210)을 통해 메모리 제어기(206)와 결합될 수 있다. 메모리 제어기(206)는 하나 이상의 다른 버스들 또는 시스템 상호연결들(212)을 통해 메모리(208)와 결합될 수 있다. 메모리 덤프에 수집된 메모리 구역들을 보호하는 것과 관련하여 아래에 설명된 동작 방식 외에도, 서브시스템(204), 메모리 제어기(206) 및 메모리(208)는 당업자가 잘 이해하는 방식으로 동작할 수 있다. 예를 들어, 서브시스템(204)으로부터의 메모리 트랜잭션 요청들(예를 들어, 쓰기 요청들, 읽기 요청들 등)에 응답하여, 메모리 제어기(206)는 메모리(208)의 위치들에 데이터를 저장(즉, 쓰기)하고 그 위치로부터 데이터를 검색(즉, 읽기)할 수 있다. 당업자에 의해 이해되는 바와 같이, 메모리 트랜잭션 요청에서, 서브시스템(204)은 요청이 데이터 쓰기인지 아니면 데이터 읽기인지를 나타내는 하나 이상의 커맨드들을 제공할 수 있고 또한 메모리(208)의 위치들을 나타내는 하나 이상의 어드레스들을 제공할 수 있다. 도 2의 "데이터", "어드레스" 및 "커맨드들" 화살표가, 메모리 덤프에 수집된 메모리 구역들 보호와 관련된 데이터, 어드레스 및 커맨드들이 통신되는 방향을 나타내고, 데이터가 메모리(208)에 기록될 때 데이터가 또한 "데이터" 화살표들의 반대 방향으로 통신될 수 있음이 유의된다.
[0020] 메모리(208)는 예를 들어 이중 데이터 속도 동기식 DRAM("DDR-SDRAM" 또는 간략하게 "DDR")과 같은 동적 랜덤 액세스 메모리("DRAM)"일 수 있다. 아래에 설명된 구성 외에도, 메모리 제어기(206)는 당업자에 의해 이해되는 바와 같이 메모리 트랜잭션 요청들에 응답하여 메모리 트랜잭션들을 완료하고 리프레시 등과 같은 다른 종래의 DDR 동작들을 수행하도록 구성될 수 있다.
[0021] 서브시스템(204)은 프로세서 또는 유사한 디바이스의 방식으로 소프트웨어의 제어 하에 동작할 수 있다. 이러한 소프트웨어는 서브시스템(204)의 일부를 신뢰된 엔티티("TE")(214)로 구성할 수 있는 신뢰된 엔티티("TE") 소프트웨어를 포함할 수 있다. 서브시스템(204)의 예는 또한 애플리케이션 프로세서("AP")로 지칭될 수 있는 중앙 프로세싱 유닛("CPU")이다.
[0022] 메모리 제어기(206)는 메모리 소거 로직(216)을 포함할 수 있다. 메모리 소거 로직(216)은 임의의 개수의 레지스터들(218) 또는 메모리(208)의 어드레스들 또는 위치들을 나타내는 정보를 저장하도록 구성된 다른 하드웨어 기반 저장 구조들을 포함할 수 있다.
[0023] 서브시스템(204)(또는 신뢰된 엔티티(214))은 예를 들어 미리 결정된 커맨드, 신호 등 같은 미리 결정된 이벤트 또는 조건의 발생 시 메모리 소거 로직(216)에 의해 소거될 메모리(208)의 어드레스들 또는 구역들을 나타내거나 식별하는 정보를 레지스터들(218)에 저장하라는 요청들을 메모리 제어기(206)에 발행할 수 있다. 이러한 요청들 또는 표시들은 커맨드들의 형태일 수 있다. 서브시스템(204)으로부터 수신된 이러한 "저장 커맨드" 또는 요청에 응답하여, 메모리 소거 로직(216)은 메모리(208)의 구역을 식별하는 정보를 저장하도록 구성될 수 있다. 예를 들어, 정보는 구역의 시작 어드레스 및 크기를 식별할 수 있고, 메모리 소거 로직(216)은 레지스터들(218) 중 하나에 시작 어드레스 및 크기를 저장할 수 있다. 그러한 예에서, 각각의 레지스터(218)는 미리 결정된 이벤트 또는 조건의 발생 시 소거될 고정된 크기의 하나의 구역을 나타낼 수 있다. 메모리 제어기(206)가 레지스터들(218)에 정보를 저장하라는 위에서 설명된 유형의 요청을 수신할 때마다, 메모리 소거 로직(216)은 다음 이용 가능한 레지스터(218)에 정보를 저장할 수 있다. 즉, 레지스터들(218)은 리스트로 조직될 수 있고, 메모리 소거 로직(216)은 정보가 저장된 마지막 위치 이후 리스트의 다음 위치에 레지스터(218)에 대한 포인터(pointer)를 유지할 수 있다. 그럼에도 불구하고, 레지스터들(218) 또는 다른 저장 구조들 중에서 선택하고 그 안에 정보를 저장하기 위한 대안적인 방식들은 이러한 교시들 및 예들을 고려하여 당업자에게 용이하게 나타날 것이다.
[0024] 서브시스템(204)(또는 신뢰된 엔티티(214))은 또한 레지스터들(218)에 저장된 정보에 의해 식별된 하나 이상의 메모리 구역들을 소거하기 위해 메모리 제어기(206)에 요청들 또는 다른 표시들을 발행할 수 있다. 이러한 소거 요청들 또는 표시들은 커맨드들의 형태일 수 있다. 예를 들어, 메모리 제어기(206), 특히 메모리 소거 로직(216)은 소거 커맨드에 응답하도록 구성될 수 있다. 그러한 예에서, 메모리 소거 로직(216)은 서브시스템(204)으로부터 메모리 제어기(206)에 의해 수신된 소거 커맨드에 응답하여 이들 하나 이상의 메모리 구역들을 소거하도록 구성될 수 있다. 메모리 소거 로직(216)은 소거 커맨드들 또는 다른 커맨드들을 메모리(208)에 전송함으로써 이들 하나 이상의 메모리 구역들을 소거하도록 구성될 수 있다. "소거(erase)"라는 용어는 메모리 콘텐츠를 읽을 수 없게 하는 것을 의미한다. 따라서, 메모리(208)에 전송된 커맨드들은 이들 메모리 구역들에 저장된 데이터의 임의의 물리적 표현들을 모호하게 하는 커맨드들을 포함할 수 있고, 이 효과는 때때로 지움(wiping) 또는 낙서(scribbling)로 지칭된다. 예를 들어, 커맨드들은 하나 이상의 데이터 패턴들로 메모리 구역들을 덮어쓰는 커맨드들을 포함할 수 있다. 데이터 패턴 또는 패턴들은 당업자가 이해하는 바와 같이 모두 "1"들, 모두 "0"들, 교대로 "1"들과 "0"들, 무작위 데이터 등을 포함할 수 있다. 대안적으로 또는 추가로, 그러한 커맨드들은 메모리 콘텐츠가 손실되는 것을 보장하는 지속기간 동안 메모리 셀들의 전원을 선택적으로 차단하는 커맨드들을 포함할 수 있다. 커맨드들을 사용하여 메모리 구역들을 소거하는 또 다른 방식들은 이들 교시들 및 예들을 고려하여 당업자에게 쉽게 나타날 것이다. 메모리 구역들을 소거한 후에, 메모리 소거 로직(216)은 모든 레지스터들(218)이 다시 정보 저장에 이용 가능하게 할 수 있다.
[0025] 메모리 소거 로직(216)은 또한 리셋 제어 로직(220)에 결합될 수 있다. 리셋 제어 로직(220)은 예를 들어, PCD(202)가 부팅될 때, 또는 PCD(202)가 시스템 크래시를 경험할 때 등과 같은 소정 이벤트들의 발생에 응답하여 하나 이상의 리셋 신호들을 어서트(assert)하도록 구성될 수 있다. 제어 로직(220)은 그러한 시스템 크래시 또는 부팅을 검출하고, 이에 응답하여 시스템 리셋 신호를 생성하는 로직(도시되지 않음)을 포함할 수 있다. 이러한 로직이 시스템 크래시, 시스템 부팅 등을 검출할 수 있는 방식, 및 이러한 로직이 시스템 리셋 신호를 생성할 수 있는 방식이 당업자에 의해 잘 이해될 수 있기 때문에, 리셋 제어 로직(220)은 본원에서 더 상세히 설명하지 않는다. 그럼에도 불구하고, 하나의 이러한 리셋 신호(222)가 메모리 소거 로직(216)에 결합될 수 있다는 것이 유의된다. 위에서 설명된 방식으로 소거 커맨드에 응답하도록 구성되는 것에 대안적으로 또는 그에 더하여, 메모리 소거 로직(216)은 리셋 신호(222)에 응답하도록 구성될 수 있다. 이러한 예에서, 메모리 소거 로직(216)은 리셋 제어 로직(220)에 의한 리셋 신호(222)의 어서션(assertion)에 응답하여 레지스터들(218)에 저장된 정보에 의해 식별된 하나 이상의 메모리 구역들을 소거하도록 구성될 수 있다. 대안적으로 또는 추가적으로, 메모리 소거 로직(216)은 서브시스템(204) 또는 일부 다른 서브시스템 또는 컴포넌트로부터 신호(도시되지 않음)를 수신하도록 구성될 수 있고, 그 신호의 어서션에 응답하여 하나 이상의 메모리 구역들을 소거하도록 구성될 수 있다.
[0026] 도 3에 예시된 바와 같이, 컴퓨팅 디바이스에서의 이벤트 발생에 기반하여 메모리 구역들을 보호하기 위한 예시적인 방법(300)은 다음을 포함할 수 있다. 블록(302)에 의해 표시된 바와 같이, 방법(300)은 메모리의 하나 이상의 구역들을 식별하는 정보를 메모리 제어기에 저장하는 단계를 포함할 수 있다. 블록(304)에 의해 표시된 바와 같이, 방법(300)은 메모리 제어기에 의해 수신된 표시에 응답하여 하나 이상의 메모리 구역들을 소거하는 단계를 포함할 수 있다. 도 2와 관련하여 위에서 설명된 바와 같이, 이러한 소거 표시는 예를 들어 서브시스템으로부터 수신된 소거 커맨드일 수 있다. 대안적으로 또는 추가적으로, 그러한 소거 표시는 예를 들어, 리셋 제어 로직 또는 다른 신호로부터 수신된 시스템 리셋 신호일 수 있다. 위에서 설명된 메모리 소거 로직(216)(도 2)은 블록들(302 및 304)과 연관된 기능들을 수행하기 위한 예시적인 수단의 역할을 할 수 있다.
[0027] 도 4에 예시된 바와 같이, 컴퓨팅 디바이스에서의 이벤트 발생에 기반하여 메모리 구역들을 보호하기 위한 다른 예시적인 방법(400)은 다음을 포함할 수 있다. 블록(402)에 의해 표시된 바와 같이, 방법(400)은 메모리의 하나 이상의 구역들을 식별하는 정보를 메모리 제어기에 저장하는 단계를 포함할 수 있다. 블록(404)에 의해 표시된 바와 같이, 방법(400)은 메모리 제어기에 의해 수신된 표시에 응답하여 하나 이상의 메모리 구역들을 소거하는 단계를 포함할 수 있다. 블록(406)에 의해 표시된 바와 같이, 방법(400)은 메모리 덤프 수집을 수행하거나 제어하는 단계를 더 포함할 수 있다. 예를 들어, 메모리 구역들이 위에서 설명된 방식으로 소거된 후에, 메모리(208)의 콘텐츠 또는 이의 하나 이상의 부분들은 원격 엔티티에 송신될 수 있다. 메모리 콘텐츠, 즉 메모리 덤프는 예를 들어, 도 1과 관련하여 위에서 설명된 바와 같이 무선 네트워크 또는 다른 연결을 통해 송신될 수 있다.
[0028] 도 2를 다시 간략히 참조하면, 서브시스템(204)이 동작하는 소프트웨어는 메모리 덤프 수집 소프트웨어를 포함할 수 있다. 메모리 덤프 수집기(224)와 같은 이러한 소프트웨어에 의해 구성된 서브시스템(204)의 일부는 메모리(208)로부터 메모리 덤프를 수집(송신을 포함)하기 위한 수단의 역할을 할 수 있다. 메모리 덤프 수집 소프트웨어는 예를 들어 서브시스템(204)이 상위 레벨 운영 체제를 실행하는 CPU 또는 AP인 예에서 상위 레벨 운영 체제의 일부일 수 있다.
[0029] 동작 흐름도 형태의 도 5에 예시된 바와 같이, 예시적인 시스템(500)은 메모리 소거 로직(504)을 갖는 메모리(예를 들어, DDR) 제어기(502)를 포함할 수 있다. 메모리 제어기(502) 및 메모리 용이성 로직(504)은 도 2와 관련하여 위에서 설명된 메모리 제어기(206) 및 메모리 소거 로직(216)과 유사할 수 있다. 시스템(500)은 또한 주 부트 로더("PBL(primary boot loader)")(506)와 같은 다양한 소프트웨어 또는 펌웨어 요소들을 포함할 수 있다. 이러한 소프트웨어 또는 펌웨어 요소들은 CPU 또는 AP(도시되지 않음)와 같은 프로세서에 의해 실행될 수 있다. PBL(506)는 PCD와 같은 컴퓨팅 디바이스를 부팅하는 프로세스의 일부로서 판독-전용 메모리(도시되지 않음)로부터 실행될 수 있다. PBL(506)은 (DDR(507) 또는 다른 메모리의 할당된 구역들로의) 로딩과 제1 신뢰된 소프트웨어 엔티티(508) 및 제1 비신뢰된(un-trusted) 소프트웨어 엔티티(510)의 인증을 제어할 수 있다. 명확성을 위해 도시되지는 않았지만, 제1 신뢰된 소프트웨어 엔티티(508)는 프로세서의 신뢰되거나 안전한 부분에서 실행될 수 있다. 또한 도 5의 명확성을 위해 DDR(507)에 로드될 수 있는 다양한 소프트웨어 요소들이 DDR(507) 외부에 개념적으로 묘사되는 것이 유의된다.
[0030] 제1 신뢰된 소프트웨어 엔티티(508) 및 제1 비신뢰된 소프트웨어 엔티티(510)를 로딩하고 인증한 후에, PBL(506)은 실행파일(execution)을 제1 신뢰된 소프트웨어 엔티티(508)에 전송하여 부팅 프로세스를 계속할 수 있다. 이어서 제1 신뢰된 소프트웨어 엔티티(508)는 자신에게 할당된 하나 이상의 메모리 구역들을 임의의 다른 엔티티들에 의한 액세스에 대해 잠글 수 있다. 이어서, 제1 신뢰된 소프트웨어 엔티티(508)는 메모리 소거 로직(504)에 이들 하나 이상의 메모리 구역들을 등록할 수 있다. 즉, 제1 신뢰된 소프트웨어 엔티티(508)는 도 2의 신뢰된 엔티티(214)와 관련하여 위에서 설명된 방식으로 메모리 구역들을 식별하는 정보를 저장할 수 있다.
[0031] 예시된 실시예에서, 제1 비신뢰된 소프트웨어 엔티티(510)의 태스크는 DDR(507)에 추가 소프트웨어 엔티티들을 로드하는 것일 수 있다. 예를 들어, 제1 비신뢰된 소프트웨어 엔티티(510)는 제2 신뢰된 소프트웨어 엔티티(512) 및 제2 비신뢰된 소프트웨어 엔티티(514)의 로딩 및 인증을 제어할 수 있다. 제1 신뢰된 소프트웨어 엔티티(508)와 마찬가지로, 제2 신뢰된 소프트웨어 엔티티(512)는 프로세서(도시되지 않음)의 신뢰된 부분 또는 보안 부분에서 실행될 수 있다. 이어서, 제2 신뢰된 소프트웨어 엔티티(512)는 자신에게 할당된 하나 이상의 메모리 구역들을 임의의 다른 엔티티들에 의한 액세스에 대해 잠글 수 있다. 이어서, 제2 신뢰된 소프트웨어 엔티티(512)는 메모리 소거 로직(504)에 이들 하나 이상의 메모리 구역들을 등록할 수 있다. 즉, 제2 신뢰된 소프트웨어 엔티티(512)는 도 2의 신뢰된 엔티티(214)와 관련하여 위에서 설명된 방식으로 메모리 구역들을 식별하는 정보를 저장할 수 있다. 제1 신뢰된 소프트웨어 엔티티(508)와 제2 신뢰된 소프트웨어 엔티티(512)가, 메모리 덤프 수집 또는 시스템 재부팅이 수행되기 전에 소거하는 것이 바람직한 민감한 정보를 포함할 수 있다는 것이 유의된다. 시스템 재부팅 전에 메모리 구역들을 소거하는 것과 관련하여, 제1 비신뢰된 소프트웨어 엔티티(510) 또는 다른 비신뢰된 소프트웨어 엔티티들이 재부팅 전 런타임에 메모리 구역들에 저장되었을 수 있는 민감한 정보에 액세스하는 것을 방지하는 것이 바람직할 수 있다.
[0032] 제2 비신뢰된 소프트웨어 엔티티(514)는 예를 들어 상위 레벨 운영 체제 또는 그 일부일 수 있다. 제2 신뢰된 소프트웨어 엔티티(512)는 실행파일을 제2 비신뢰된 소프트웨어 엔티티(514)(예를 들어, HLOS)에 전송하여 부팅 프로세스를 계속할 수 있다.
[0033] 이어서, 제2 비신뢰된 소프트웨어 엔티티(514)(예를 들어, HLOS)는 제1 서브시스템 소프트웨어 이미지(516A) 내지 제N 서브시스템 소프트웨어 이미지(516N)와 같은 임의의 개수의 서브시스템 소프트웨어 이미지들(516)을 할당하여 DDR(507)에 로드할 수 있다. 서브시스템 소프트웨어 이미지들(516)의 일부 또는 전부는 메모리 덤프 수집이 수행되기 전에 소거하는 것이 바람직한 민감한 정보를 포함할 수 있다. 이어서, 제2 신뢰된 소프트웨어 엔티티(512)는 임의의 다른 엔티티들에 의한 액세스에 대해 민감한 정보를 포함하는 서브시스템 소프트웨어 이미지들(516)을 포함하는 임의의 메모리 구역들을 잠그고 인증할 수 있다. 이어서, 제2 신뢰된 소프트웨어 엔티티(512)는 메모리 소거 로직(504)에 이러한 임의의 메모리 구역들을 등록할 수 있다.
[0034] 부팅이 완료된 후에, 컴퓨팅 디바이스의 다양한 서브시스템들은 연관된 소프트웨어 이미지들(516)의 제어 하에 동작을 시작할 수 있다. 메모리 덤프 수집이 수행되기 전에 그리고/또는 메모리 구역들이 시스템 재부팅 동안 비신뢰된 소프트웨어 엔티티들에 의해 액세스하기 위해 개방되기 전에, (즉, 동적으로 할당된 메모리 구역들에서) 동작 중인 서브시스템의 제어 하에 메모리에 저장될 수 있는 민감한 데이터를 소거하는 것이 또한 바람직할 수 있다. 따라서, 제2 신뢰된 소프트웨어 엔티티(512)는 메모리 소거 로직(504)에 이러한 임의의 메모리 구역들을 등록할 수 있다.
[0035] 시스템 크래시가 발생한 경우, 리셋 제어 로직(520)은 리셋 제어 로직(220)(도 2)과 관련하여 위에서 설명된 방식으로 메모리 소거 로직(504)에 신호할 수 있다. 이러한 시스템 크래시 또는 시스템 리셋 이벤트에 응답하여, 메모리 소거 로직(504)은 메모리 덤프 수집에 대비하여 하나 이상의 등록된 메모리 구역들의 소거를 제어할 수 있다. 제1 신뢰된 소프트웨어 엔티티(508)는 자신이 잠근 메모리 구역들을 잠금해제하여, 그 메모리 구역들을 메모리 덤프 수집에 이용 가능하게 할 수 있다. 이어서, 제1 비신뢰된 소프트웨어 엔티티(510)는 위에서 설명된 바와 같이 소거된 메모리 구역들뿐만 아니라 임의의 다른 메모리 구역들로부터 메모리 덤프 수집을 수행할 수 있다. 예를 들어, 제1 비신뢰된 소프트웨어 엔티티(510)는 전체 시스템 메모리(즉, 할당된 모든 메모리 구역들)로부터 데이터를 수집할 수 있다. 제1 비신뢰된 소프트웨어 엔티티(510)는 또한 도 1과 관련하여 위에서 설명된 바와 같이 메모리 덤프(즉, 수집된 데이터)를 원격 목적지로 전송하는 것을 시작할 수 있다. 대안적으로, 제1 비신뢰된 소프트웨어 엔티티(510)는 메모리 덤프를 수집하여 이를 파일(예를 들어, 플래시 메모리, SD 카드, UFS 디바이스 등에)로 저장할 수 있다. 파일은 이후에 디바이스에서 다운로드되거나 네트워크를 통해 업로드될 수 있다.
[0036] 대안적인 시나리오 또는 사용 경우에서, 하나 이상의 등록된 메모리 구역들이 시스템 크래시 또는 시스템 리셋 이벤트에 응답하여 소거되는 대신, 하나 이상의 등록된 메모리 구역들이 서브시스템 크래시 또는 서브시스템 리셋 이벤트에 응답하여 소거될 수 있다. 예를 들어, 제2 비신뢰된 소프트웨어 엔티티(514)(HLOS)는 서브시스템들(516) 중 하나가 크래시되었음을 검출할 수 있다. 이어서, 메모리 덤프 수집을 준비하면서, 제2 비신뢰된 소프트웨어 엔티티(514)(HLOS)는 하나 이상의 등록된 메모리 구역들이 소거되도록 요청하는 요청을 제2 신뢰된 소프트웨어 엔티티(512)에 전송할 수 있다. 이러한 요청에 응답하여, 제2 신뢰된 소프트웨어 엔티티(512)는 메모리 소거 로직(504)에 소거 커맨드를 전송할 수 있다. 소거 커맨드에 응답하여, 메모리 소거 로직(504)은 하나 이상의 등록된 메모리 구역들의 소거를 제어할 수 있다. 제2 신뢰된 소프트웨어 엔티티(512)는 크래시된 서브시스템과 연관된 메모리 구역들을 잠금해제하여, 그 메모리 구역들을 메모리 덤프 수집에 이용 가능하게 할 수 있다. 이어서, 제2 비신뢰된 소프트웨어 엔티티(514)는 크래시된 서브시스템(516)과 연관된 메모리 구역들로부터 메모리 덤프 수집을 수행할 수 있다. 제2 비신뢰된 소프트웨어 엔티티(514)(HLOS)는 또한 메모리 덤프(즉, 수집된 데이터)를 원격 목적지로 전송하는 것을 개시할 수 있다.
[0037] 도 6에서, 이벤트 발생에 기반하여 메모리 구역들을 보호하는 시스템들, 방법들, 컴퓨터-판독가능 매체, 및 다른 예들의 예시적인 실시예들이 제공될 수 있는 PCD(600)의 예가 예시된다. 명확성을 위해, 일부 데이터 버스들, 클록 신호들, 전력 공급부 전압들 등은 도 6에 도시되지 않는다.
[0038] PCD(600)는 SoC(602)를 포함할 수 있다. SoC(602)는 CPU(604), NPU(605), GPU(606), DSP(607), 아날로그 신호 프로세서(608), 또는 다른 프로세서들을 포함할 수 있다. CPU(604)는 제N CPU 코어(604N)를 통해 제1 CPU 코어(604A), 제2 CPU 코어(604B) 등과 같은 하나 이상의 CPU 코어들을 포함할 수 있다.
[0039] 디스플레이 제어기(610) 및 터치스크린 제어기(612)는 CPU(604)에 결합될 수 있다. SoC(602) 외부의 터치스크린 디스플레이(614)는 디스플레이 제어기(610) 및 터치스크린 제어기(612)에 결합될 수 있다. PCD(600)는 CPU(604)에 결합된 비디오 디코더(616)를 더 포함할 수 있다. 비디오 증폭기(618)는 비디오 디코더(616) 및 터치스크린 디스플레이(614)에 결합될 수 있다. 비디오 포트(620)는 비디오 증폭기(618)에 결합될 수 있다. 범용 직렬 버스("USB") 제어기(622)는 또한 CPU(604)에 결합될 수 있고, USB 포트(624)는 USB 제어기(622)에 결합될 수 있다. 가입자 식별 모듈("SIM") 카드(626)는 또한 CPU(604)에 결합될 수 있다.
[0040] 하나 이상의 메모리들은 CPU(604)에 결합될 수 있다. 하나 이상의 메모리들은 휘발성 메모리와 비휘발성 메모리 둘 모두를 포함할 수 있다. 휘발성 메모리들의 예들은 정적 랜덤 액세스 메모리("SRAM")(628) 및 DRAM(630 및 631)을 포함한다. 그러한 메모리들은 DRAM(630)과 같이 SoC(602) 외부에 있을 수 있거나, DRAM(631)과 같이 SoC(602) 내부에 있을 수 있다. CPU(604)에 결합된 DRAM 제어기(632)는 DRAM들(630 및 631)에 대한 데이터 쓰기 및 DRAM(630 및 631)으로부터의 데이터 읽기를 제어할 수 있다. DRAM 제어기(632)는 위에서 설명된 메모리 제어기들(206(도 2) 또는 502(도 5))의 예일 수 있다. PCD(600)의 DRAM들(630 및 631), SRAM(628) 또는 다른 메모리들(도시되지 않음)은 위에서 설명된 메모리(208(도 2) 또는 507(도 5))의 예일 수 있다.
[0041] 스테레오 오디오 코덱(634)은 아날로그 신호 프로세서(608)에 결합될 수 있다. 추가로, 오디오 증폭기(636)는 스테레오 오디오 코덱(634)에 결합될 수 있다. 제1 및 제2 스테레오 스피커들(638, 640)은 각각 오디오 증폭기(636)에 결합될 수 있다. 게다가, 마이크로폰 증폭기(642)는 스테레오 오디오 코덱(634)에 결합될 수 있고, 마이크로폰(644)은 마이크로폰 증폭기(642)에 결합될 수 있다. 주파수 변조("FM") 라디오 튜너(646)는 스테레오 오디오 코덱(634)에 결합될 수 있다. FM 안테나(648)는 FM 라디오 튜너(646)에 결합될 수 있다. 추가로, 스테레오 헤드폰(650)은 스테레오 오디오 코덱(634)에 결합될 수 있다. CPU(604)에 결합될 수 있는 다른 디바이스들은 하나 이상의 디지털(예를 들어, CCD 또는 CMOS) 카메라들(652)을 포함한다.
[0042] 모뎀 또는 RF 트랜시버(654)는 아날로그 신호 프로세서(608) 및 CPU(604)에 결합될 수 있다. RF 스위치(656)는 RF 트랜시버(654) 및 RF 안테나(658)에 결합될 수 있다. 게다가, 키패드(660), 마이크로폰을 갖는 모노 헤드셋(662), 및 진동 디바이스(664)는 아날로그 신호 프로세서(608)에 결합될 수 있다.
[0043] SoC(602)는 하나 이상의 내부 또는 온-칩 열 센서들(670A)을 가질 수 있고, 하나 이상의 외부 또는 오프-칩 열 센서들(670B)에 결합될 수 있다. 아날로그-디지털 변환기("ADC") 제어기(672)는 열 센서들(670A 및 670B)에 의해 생성된 전압 강하들을 디지털 신호들로 변환할 수 있다. 전력 공급부(674) 및 전력 관리 집적 회로("PMIC")(676)는 SoC(602)에 전력을 공급할 수 있다.
[0044] PCD(600)는 이벤트 발생에 기반하여 메모리 구역들을 보호하는 시스템들, 방법들, 컴퓨터-판독가능 매체의 예시적인 실시예들, 및 다른 실시예들이 제공될 수 있는 디바이스 또는 시스템의 단지 일 예이다. 다른 예들은 데이터센터, 자동차, IoT 및 다른 맥락들에 사용되는 것들과 같은 다른 유형들의 컴퓨팅 디바이스들 또는 컴퓨팅 시스템들을 포함할 수 있다.
[0045] 펌웨어 또는 소프트웨어는 DRAM(630 또는 631), SRAM(628) 등과 같은 위에서 설명된 메모리들 중 어느 하나에 저장될 수 있거나, 소프트웨어 또는 펌웨어가 실행되는 프로세서 하드웨어에 의해 직접 액세스 가능한 로컬 메모리에 저장될 수 있다. 이러한 펌웨어 또는 소프트웨어의 실행은 위에 설명된 방법들 중 임의의 양상들을 제어하거나 위에서 설명된 시스템들 중 임의의 양상들을 구성할 수 있다. 프로세서 하드웨어에 의한 실행을 위해 컴퓨터 판독가능 형태로 저장된 펌웨어 또는 소프트웨어를 갖는 임의의 이러한 메모리 또는 다른 비일시적 저장 매체는 용어가 특허 용어집에서 이해되는 "컴퓨터 판독가능 매체"의 예일 수 있다.
[0046] 대안적인 실시예들은 본 발명이 속하는 기술 분야의 당업자에게 명백해질 것이다. 그러므로, 비록 선택된 양상들이 상세히 예시되고 설명되었지만, 다양한 대체들 및 변경들이 이루어질 수 있다는 것이 이해될 것이다.
[0047] 구현 예들은 번호가 매겨진 다음 조항들에서 설명된다:
[0048] 1. 컴퓨팅 디바이스에서의 이벤트 발생에 기반하여 메모리 구역들을 보호하기 위한 방법으로서, 방법은:
[0049] 컴퓨팅 디바이스의 서브시스템에 의해, 메모리의 하나 이상의 메모리 구역들을 식별하는 정보를 메모리 제어기에 저장하는 단계; 및
[0050] 메모리 제어기에 의해, 메모리 제어기에 의해 수신된 표시에 응답하여 하나 이상의 메모리 구역들을 소거하는 단계를 포함한다.
[0051] 2. 조항 1의 방법은, 하나 이상의 메모리 구역들을 소거하는 단계 후에 메모리로부터 메모리 덤프 수집을 수행하는 단계를 더 포함한다.
[0052] 3. 조항 1 또는 조항 2의 방법에 있어서, 서브시스템에 의해 정보를 저장하는 단계는 메모리 제어기 하드웨어에 정보를 저장하는 단계를 포함한다.
[0053] 4. 조항 1 내지 조항 3의 방법은, 메모리 제어기가 컴퓨팅 디바이스에서의 시스템 리셋 이벤트에 응답하여 리셋 제어 로직으로부터 표시를 수신하는 단계를 더 포함한다.
[0054] 5. 조항 1 내지 조항 4의 방법은, 메모리 제어기가 서브시스템으로부터 표시를 수신하는 단계를 더 포함하고, 표시는 커맨드를 포함한다.
[0055] 6. 조항 1 내지 조항 5의 방법에 있어서, 서브시스템에 의해 정보를 저장하는 단계는 서브시스템과 연관된 신뢰된 엔티티에 의해 정보를 저장하는 단계를 포함한다.
[0056] 7. 조항 1 내지 조항 6의 방법에 있어서, 서브시스템에 의해 정보를 저장하는 단계는 시스템 부팅 동안 정보를 저장하는 단계를 포함한다.
[0057] 8. 조항 1 내지 조항 7의 방법에 있어서, 컴퓨팅 디바이스는, 셀룰러 전화, 위성 전화, 랩톱 컴퓨터, 태블릿, 내비게이션 디바이스, 스마트북, 개인 휴대 정보 단말기("PDA"), 사물 인터넷("IoT") 디바이스, 및 자동차 컴퓨팅 디바이스 중 하나를 포함하는 휴대용 컴퓨팅 디바이스("PCD")이다.
[0058] 9. 컴퓨팅 디바이스에서의 이벤트 발생에 기반하여 메모리 구역들을 보호하기 위한 시스템으로서, 시스템은:
[0059] 메모리; 및
[0060] 메모리에 결합된 메모리 제어기를 포함하고, 메모리 제어기는 메모리 소거 로직을 포함하고, 메모리 소거 로직은:
[0061] 컴퓨팅 디바이스의 서브시스템에 의한 요청에 응답하여, 메모리의 하나 이상의 메모리 구역들을 식별하는 정보를 메모리 소거 로직에 저장하고; 그리고
[0062] 메모리 제어기에 의해 수신된 표시에 응답하여 하나 이상의 메모리 구역들을 소거하도록 구성된다.
[0063] 10. 조항 9의 시스템은, 하나 이상의 메모리 구역들이 소거된 후에 메모리로부터 메모리 덤프를 수집하도록 구성된 메모리 덤프 수집기를 더 포함한다.
[0064] 11. 조항 9 또는 조항 10의 시스템에 있어서, 메모리 소거 로직은 정보를 저장하도록 구성된 레지스터들을 포함한다.
[0065] 12. 조항 9 내지 조항 11의 시스템에 있어서, 메모리 제어기는 컴퓨팅 디바이스에서의 시스템 리셋 이벤트에 응답하여 리셋 제어 로직으로부터 표시를 수신하도록 구성된다.
[0066] 13. 조항 9 내지 조항 12의 시스템에 있어서, 메모리 제어기는 서브시스템으로부터 커맨드로서 표시를 수신하도록 구성된다.
[0067] 14. 조항 9 내지 조항 13의 시스템에 있어서, 서브시스템과 연관된 신뢰된 엔티티는 정보를 저장하는 것을 개시하도록 구성된다.
[0068] 15. 조항 9 내지 조항 13의 시스템에 있어서, 정보는 시스템 부팅 동안 서브시스템에 의해 저장된다.
[0069] 16. 조항 9 내지 조항 15의 시스템에 있어서, 컴퓨팅 디바이스는, 셀룰러 전화, 위성 전화, 랩톱 컴퓨터, 태블릿, 내비게이션 디바이스, 스마트북, 개인 휴대 정보 단말기("PDA"), 사물 인터넷("IoT") 디바이스, 및 자동차 컴퓨팅 디바이스 중 하나를 포함하는 휴대용 컴퓨팅 디바이스("PCD")이다.
[0070] 17. 컴퓨팅 디바이스에서의 이벤트 발생에 기반한 메모리 구역들을 보호하기 위한 시스템으로서, 시스템은:
[0071] 메모리의 하나 이상의 메모리 구역들을 식별하는 정보를 메모리 제어기에 저장하기 위한 수단; 및
[0072] 메모리 제어기에 의해 수신된 표시에 응답하여 하나 이상의 메모리 구역들을 소거하기 위한 수단을 포함한다.
[0073] 18. 조항 17의 시스템은, 하나 이상의 메모리 구역들을 소거한 후에 메모리로부터 메모리 덤프 수집을 수행하기 위한 수단을 더 포함한다.
[0074] 19. 조항 17 또는 조항 18의 시스템에 있어서, 정보를 저장하기 위한 수단은 메모리 제어기 하드웨어에 정보를 저장하기 위한 수단을 포함한다.
[0075] 20. 조항 17 내지 조항 19의 시스템은, 컴퓨팅 디바이스에서의 시스템 리셋 이벤트에 응답하여 리셋 제어 로직으로부터 표시를 수신하기 위한 수단을 더 포함한다.
[0076] 21. 조항 17 내지 조항 20의 시스템은, 서브시스템으로부터 커맨드로서 표시를 수신하기 위한 수단을 더 포함한다.
[0077] 22. 조항 17 내지 조항 21의 시스템에 있어서, 정보를 저장하기 위한 수단은 서브시스템과 연관된 신뢰된 엔티티를 포함한다.
[0078] 23. 조항 17 내지 조항 22의 시스템에 있어서, 정보를 저장하기 위한 수단은 시스템 부팅 동안 정보를 저장하기 위한 수단을 포함한다.
[0079] 24. 조항 17 내지 조항 23의 시스템에 있어서, 컴퓨팅 디바이스는, 셀룰러 전화, 위성 전화, 랩톱 컴퓨터, 태블릿, 내비게이션 디바이스, 스마트북, 개인 휴대 정보 단말기("PDA"), 사물 인터넷("IoT") 디바이스, 및 자동차 컴퓨팅 디바이스 중 하나를 포함하는 휴대용 컴퓨팅 디바이스("PCD")이다.
[0080] 25. 컴퓨팅 디바이스에서의 이벤트 발생에 기반하여 메모리 구역들을 보호하기 위한 컴퓨터-판독가능 매체로서, 컴퓨터-판독가능 매체는 컴퓨터-실행가능 형태의 명령들이 저장되어 있는 비일시적 컴퓨터-판독가능 매체를 포함하고, 명령들은 프로세싱 시스템에 의해 실행될 때,
[0081] 컴퓨팅 디바이스의 서브시스템의 제어 하에, 메모리의 하나 이상의 메모리 구역들을 식별하는 정보를 메모리 제어기에 저장하고; 그리고
[0082] 메모리 제어기의 제어 하에, 메모리 제어기에 의해 수신된 표시에 응답하여 하나 이상의 메모리 구역들을 소거하도록 프로세싱 시스템을 구성한다.
[0083] 26. 조항 25의 컴퓨터-판독가능 매체에 있어서, 명령들은 추가로, 하나 이상의 메모리 구역들을 소거한 후에 메모리로부터 메모리 덤프 수집을 수행하도록 프로세싱 시스템을 구성한다.
[0084] 27. 조항 25 또는 조항 26의 컴퓨터-판독가능 매체에 있어서, 정보를 저장하도록 프로세싱 시스템을 구성하는 명령들은 메모리 제어기 하드웨어에 정보를 저장하도록 프로세싱 시스템을 구성하는 명령들을 포함한다.
[0085] 28. 조항 25 내지 조항 27의 컴퓨터-판독가능 매체에 있어서, 명령들은 컴퓨팅 디바이스에서의 시스템 리셋 이벤트에 응답하여 리셋 제어 로직으로부터 표시를 수신하도록 메모리 제어기를 구성한다.
[0086] 29. 조항 25 내지 조항 28의 컴퓨터-판독가능 매체에 있어서, 명령들은 서브시스템으로부터 커맨드로서 표시를 수신하도록 메모리 제어기를 구성한다.
[0087] 30. 조항 25 내지 조항 29의 컴퓨터-판독가능 매체에 있어서, 메모리 제어기에 정보를 저장하도록 프로세싱 시스템을 구성하는 명령들은 메모리 제어기에 정보를 저장하도록 서브시스템과 연관된 신뢰된 엔티티를 구성하는 명령들을 포함한다.
[0088] 31. 조항 25 내지 조항 30의 컴퓨터-판독가능 매체에 있어서, 명령들은 시스템 부팅 동안 메모리 제어기에 정보를 저장하도록 프로세싱 시스템을 구성한다.

Claims (31)

  1. 컴퓨팅 디바이스에서의 이벤트 발생에 기반하여 메모리 구역들을 보호하기 위한 방법으로서,
    상기 컴퓨팅 디바이스의 서브시스템에 의해, 메모리의 하나 이상의 메모리 구역들을 식별하는 정보를 메모리 제어기에 저장하는 단계; 및
    상기 메모리 제어기에 의해, 상기 메모리 제어기에 의해 수신된 표시에 응답하여 상기 하나 이상의 메모리 구역들을 소거하는 단계를 포함하는,
    컴퓨팅 디바이스에서의 이벤트 발생에 기반하여 메모리 구역들을 보호하기 위한 방법.
  2. 제1 항에 있어서,
    상기 하나 이상의 메모리 구역들을 소거하는 단계 후에 상기 메모리로부터 메모리 덤프 수집(memory dump collection)을 수행하는 단계를 더 포함하는,
    컴퓨팅 디바이스에서의 이벤트 발생에 기반하여 메모리 구역들을 보호하기 위한 방법.
  3. 제1 항에 있어서,
    상기 서브시스템에 의해 정보를 저장하는 단계는 메모리 제어기 하드웨어에 상기 정보를 저장하는 단계를 포함하는,
    컴퓨팅 디바이스에서의 이벤트 발생에 기반하여 메모리 구역들을 보호하기 위한 방법.
  4. 제1 항에 있어서,
    상기 메모리 제어기가 상기 컴퓨팅 디바이스에서의 시스템 리셋 이벤트에 응답하여 리셋 제어 로직으로부터 상기 표시를 수신하는 단계를 더 포함하는,
    컴퓨팅 디바이스에서의 이벤트 발생에 기반하여 메모리 구역들을 보호하기 위한 방법.
  5. 제1 항에 있어서,
    상기 메모리 제어기가 상기 서브시스템으로부터 상기 표시를 수신하는 단계를 더 포함하고, 상기 표시는 커맨드를 포함하는,
    컴퓨팅 디바이스에서의 이벤트 발생에 기반하여 메모리 구역들을 보호하기 위한 방법.
  6. 제1 항에 있어서,
    상기 서브시스템에 의해 정보를 저장하는 단계는 상기 서브시스템과 연관된 신뢰된 엔티티(trusted entity)에 의해 상기 정보를 저장하는 단계를 포함하는,
    컴퓨팅 디바이스에서의 이벤트 발생에 기반하여 메모리 구역들을 보호하기 위한 방법.
  7. 제1 항에 있어서,
    상기 서브시스템에 의해 정보를 저장하는 단계는 시스템 부팅 동안 상기 정보를 저장하는 단계를 포함하는,
    컴퓨팅 디바이스에서의 이벤트 발생에 기반하여 메모리 구역들을 보호하기 위한 방법.
  8. 제1 항에 있어서,
    상기 컴퓨팅 디바이스는, 셀룰러 전화, 위성 전화, 랩톱 컴퓨터, 태블릿, 내비게이션 디바이스, 스마트북, 개인 휴대 정보 단말기("PDA"), 사물 인터넷("IoT") 디바이스, 및 자동차 컴퓨팅 디바이스 중 하나를 포함하는 휴대용 컴퓨팅 디바이스("PCD")인,
    컴퓨팅 디바이스에서의 이벤트 발생에 기반하여 메모리 구역들을 보호하기 위한 방법.
  9. 컴퓨팅 디바이스에서의 이벤트 발생에 기반하여 메모리 구역들을 보호하기 위한 시스템으로서,
    메모리; 및
    상기 메모리에 결합된 메모리 제어기를 포함하고,
    상기 메모리 제어기는 메모리 소거 로직을 포함하고,
    상기 메모리 소거 로직은,
    상기 컴퓨팅 디바이스의 서브시스템에 의한 요청에 응답하여, 상기 메모리의 하나 이상의 메모리 구역들을 식별하는 정보를 상기 메모리 소거 로직에 저장하고, 그리고
    상기 메모리 제어기에 의해 수신된 표시에 응답하여 상기 하나 이상의 메모리 구역들을 소거하도록 구성되는,
    컴퓨팅 디바이스에서의 이벤트 발생에 기반하여 메모리 구역들을 보호하기 위한 시스템.
  10. 제9 항에 있어서,
    상기 하나 이상의 메모리 구역들이 소거된 후에 상기 메모리로부터 메모리 덤프를 수집하도록 구성된 메모리 덤프 수집기를 더 포함하는,
    컴퓨팅 디바이스에서의 이벤트 발생에 기반하여 메모리 구역들을 보호하기 위한 시스템.
  11. 제9 항에 있어서,
    상기 메모리 소거 로직은 상기 정보를 저장하도록 구성된 레지스터들을 포함하는,
    컴퓨팅 디바이스에서의 이벤트 발생에 기반하여 메모리 구역들을 보호하기 위한 시스템.
  12. 제9 항에 있어서,
    상기 메모리 제어기는 상기 컴퓨팅 디바이스에서의 시스템 리셋 이벤트에 응답하여 리셋 제어 로직으로부터 상기 표시를 수신하도록 구성되는,
    컴퓨팅 디바이스에서의 이벤트 발생에 기반하여 메모리 구역들을 보호하기 위한 시스템.
  13. 제9 항에 있어서,
    상기 메모리 제어기는 상기 서브시스템으로부터 커맨드로서 상기 표시를 수신하도록 구성되는,
    컴퓨팅 디바이스에서의 이벤트 발생에 기반하여 메모리 구역들을 보호하기 위한 시스템.
  14. 제9 항에 있어서,
    상기 서브시스템과 연관된 신뢰된 엔티티는 상기 정보를 저장하는 것을 개시하도록 구성되는,
    컴퓨팅 디바이스에서의 이벤트 발생에 기반하여 메모리 구역들을 보호하기 위한 시스템.
  15. 제9 항에 있어서,
    상기 정보는 시스템 부팅 동안 상기 서브시스템에 의해 저장되는,
    컴퓨팅 디바이스에서의 이벤트 발생에 기반하여 메모리 구역들을 보호하기 위한 시스템.
  16. 제9 항에 있어서,
    상기 컴퓨팅 디바이스는, 셀룰러 전화, 위성 전화, 랩톱 컴퓨터, 태블릿, 내비게이션 디바이스, 스마트북, 개인 휴대 정보 단말기("PDA"), 사물 인터넷("IoT") 디바이스, 및 자동차 컴퓨팅 디바이스 중 하나를 포함하는 휴대용 컴퓨팅 디바이스("PCD")인,
    컴퓨팅 디바이스에서의 이벤트 발생에 기반하여 메모리 구역들을 보호하기 위한 시스템.
  17. 컴퓨팅 디바이스에서의 이벤트 발생에 기반하여 메모리 구역들을 보호하기 위한 시스템으로서,
    메모리의 하나 이상의 메모리 구역들을 식별하는 정보를 메모리 제어기에 저장하기 위한 수단; 및
    상기 메모리 제어기에 의해 수신된 표시에 응답하여 상기 하나 이상의 메모리 구역들을 소거하기 위한 수단을 포함하는,
    컴퓨팅 디바이스에서의 이벤트 발생에 기반하여 메모리 구역들을 보호하기 위한 시스템.
  18. 제17 항에 있어서,
    상기 하나 이상의 메모리 구역들을 소거한 후에 상기 메모리로부터 메모리 덤프 수집을 수행하기 위한 수단을 더 포함하는,
    컴퓨팅 디바이스에서의 이벤트 발생에 기반하여 메모리 구역들을 보호하기 위한 시스템.
  19. 제17 항에 있어서,
    상기 정보를 저장하기 위한 수단은 메모리 제어기 하드웨어에 상기 정보를 저장하기 위한 수단을 포함하는,
    컴퓨팅 디바이스에서의 이벤트 발생에 기반하여 메모리 구역들을 보호하기 위한 시스템.
  20. 제17 항에 있어서,
    상기 컴퓨팅 디바이스에서의 시스템 리셋 이벤트에 응답하여 리셋 제어 로직으로부터 상기 표시를 수신하기 위한 수단을 더 포함하는,
    컴퓨팅 디바이스에서의 이벤트 발생에 기반하여 메모리 구역들을 보호하기 위한 시스템.
  21. 제17 항에 있어서,
    서브시스템으로부터 커맨드로서 상기 표시를 수신하기 위한 수단을 더 포함하는,
    컴퓨팅 디바이스에서의 이벤트 발생에 기반하여 메모리 구역들을 보호하기 위한 시스템.
  22. 제17 항에 있어서,
    상기 정보를 저장하기 위한 수단은 서브시스템과 연관된 신뢰된 엔티티를 포함하는,
    컴퓨팅 디바이스에서의 이벤트 발생에 기반하여 메모리 구역들을 보호하기 위한 시스템.
  23. 제17 항에 있어서,
    상기 정보를 저장하기 위한 수단은 시스템 부팅 동안 상기 정보를 저장하기 위한 수단을 포함하는,
    컴퓨팅 디바이스에서의 이벤트 발생에 기반하여 메모리 구역들을 보호하기 위한 시스템.
  24. 제17 항에 있어서,
    상기 컴퓨팅 디바이스는, 셀룰러 전화, 위성 전화, 랩톱 컴퓨터, 태블릿, 내비게이션 디바이스, 스마트북, 개인 휴대 정보 단말기("PDA"), 사물 인터넷("IoT") 디바이스, 및 자동차 컴퓨팅 디바이스 중 하나를 포함하는 휴대용 컴퓨팅 디바이스("PCD")인,
    컴퓨팅 디바이스에서의 이벤트 발생에 기반하여 메모리 구역들을 보호하기 위한 시스템.
  25. 컴퓨팅 디바이스에서의 이벤트 발생에 기반하여 메모리 구역들을 보호하기 위한 컴퓨터-판독가능 저장 매체로서,
    상기 컴퓨터-판독가능 저장 매체는 컴퓨터-실행가능 형태의 명령들이 저장되어 있는 비-일시적 컴퓨터-판독가능 매체를 포함하고, 상기 명령들은 프로세싱 시스템에 의해 실행될 때,
    상기 컴퓨팅 디바이스의 서브시스템의 제어 하에, 메모리의 하나 이상의 메모리 구역들을 식별하는 정보를 메모리 제어기에 저장하고, 그리고
    상기 메모리 제어기의 제어 하에, 상기 메모리 제어기에 의해 수신된 표시에 응답하여 상기 하나 이상의 메모리 구역들을 소거하도록 상기 프로세싱 시스템을 구성하는,
    컴퓨터-판독가능 저장 매체.
  26. 제25 항에 있어서,
    상기 명령들은 추가로, 상기 하나 이상의 메모리 구역들을 소거한 후에 상기 메모리로부터 메모리 덤프 수집을 수행하도록 상기 프로세싱 시스템을 구성하는,
    컴퓨터-판독가능 저장 매체.
  27. 제25 항에 있어서,
    상기 정보를 저장하도록 상기 프로세싱 시스템을 구성하는 상기 명령들은 메모리 제어기 하드웨어에 상기 정보를 저장하도록 상기 프로세싱 시스템을 구성하는 명령들을 포함하는,
    컴퓨터-판독가능 저장 매체.
  28. 제25 항에 있어서,
    상기 명령들은 상기 컴퓨팅 디바이스에서의 시스템 리셋 이벤트에 응답하여 리셋 제어 로직으로부터 상기 표시를 수신하도록 상기 메모리 제어기를 구성하는,
    컴퓨터-판독가능 저장 매체.
  29. 제25 항에 있어서,
    상기 명령들은 상기 서브시스템으로부터 커맨드로서 상기 표시를 수신하도록 상기 메모리 제어기를 구성하는,
    컴퓨터-판독가능 저장 매체.
  30. 제25 항에 있어서,
    상기 메모리 제어기에 상기 정보를 저장하도록 상기 프로세싱 시스템을 구성하는 상기 명령들은 상기 메모리 제어기에 상기 정보를 저장하도록 상기 서브시스템과 연관된 신뢰된 엔티티를 구성하는 명령들을 포함하는,
    컴퓨터-판독가능 저장 매체.
  31. 제25 항에 있어서,
    상기 명령들은 시스템 부팅 동안 상기 메모리 제어기에 상기 정보를 저장하도록 상기 프로세싱 시스템을 구성하는,
    컴퓨터-판독가능 저장 매체.
KR1020247006900A 2021-09-10 2022-08-26 이벤트 발생에 기반한 메모리 구역들 보호 KR20240053590A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/472,432 2021-09-10
US17/472,432 US11644999B2 (en) 2021-09-10 2021-09-10 Protecting memory regions based on occurrence of an event
PCT/US2022/041667 WO2023038812A1 (en) 2021-09-10 2022-08-26 Protecting memory regions based on occurrence of an event

Publications (1)

Publication Number Publication Date
KR20240053590A true KR20240053590A (ko) 2024-04-24

Family

ID=83689037

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020247006900A KR20240053590A (ko) 2021-09-10 2022-08-26 이벤트 발생에 기반한 메모리 구역들 보호

Country Status (5)

Country Link
US (1) US11644999B2 (ko)
KR (1) KR20240053590A (ko)
CN (1) CN117916721A (ko)
TW (1) TW202314520A (ko)
WO (1) WO2023038812A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116339903A (zh) * 2021-12-23 2023-06-27 戴尔产品有限公司 用于经由智能网络接口控制器进行内核崩溃分析的多路径诊断

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020166065A1 (en) * 2001-05-04 2002-11-07 Hugo Cheung Method and system for providing security to processors
US7509521B2 (en) * 2004-08-23 2009-03-24 Microsoft Corporation Memory dump generation with quick reboot
US7979658B2 (en) * 2008-03-25 2011-07-12 Spansion Llc Secure management of memory regions in a memory
GB0811422D0 (en) * 2008-06-20 2008-07-30 Symbian Software Ltd Efficient caching
US8583960B2 (en) * 2010-07-06 2013-11-12 Mitsubishi Electric Corporation Processor device and program
US9015401B2 (en) * 2011-04-28 2015-04-21 Seagate Technology Llc Selective purge of confidential data from a non-volatile memory
US11163908B2 (en) * 2019-03-08 2021-11-02 Microsoft Technology Licensing, Llc Device state driven encryption key management
US10929307B2 (en) * 2019-07-18 2021-02-23 International Business Machines Corporation Memory tagging for sensitive data redaction in memory dump
US20210056207A1 (en) * 2019-08-21 2021-02-25 Qualcomm Incorporated Securing Devices From Unauthorized Software Upgrade

Also Published As

Publication number Publication date
US20230079183A1 (en) 2023-03-16
TW202314520A (zh) 2023-04-01
CN117916721A (zh) 2024-04-19
US11644999B2 (en) 2023-05-09
WO2023038812A1 (en) 2023-03-16

Similar Documents

Publication Publication Date Title
US8539245B2 (en) Apparatus and method for accessing a secure partition in non-volatile storage by a host system enabled after the system exits a first instance of a secure mode
WO2019201011A1 (zh) 系统的启动方法、装置、电子设备和存储介质
US8583888B2 (en) Method to qualify access to a block storage device via augmentation of the device'S controller and firmware flow
US9479331B2 (en) Managing security in a system on a chip (SOC) that powers down a secure processor
CN110998578B (zh) 用于在异构存储器环境内进行引导的系统和方法
US20100169631A1 (en) Authentication for resume boot path
US20160283409A1 (en) Apparatus and Method for Implementing A Forked System Call In A System With A Protected Region
US20220075523A1 (en) Flash memory local purge
US10586038B2 (en) Secure stack overflow protection via a hardware write-once register
KR20240053590A (ko) 이벤트 발생에 기반한 메모리 구역들 보호
WO2023123850A1 (zh) 一种固件可信根的实现方法、装置、设备和可读存储介质
US20120151126A1 (en) Flash drive with multiple connectors
EP3933649B1 (en) Method, system and circuit for managing a secure memory partition
US20180129828A1 (en) Exclusive execution environment within a system-on-a-chip computing system
US7389427B1 (en) Mechanism to secure computer output from software attack using isolated execution
US11783042B2 (en) Access control system and method for isolating mutually distrusting security domains
US11188477B2 (en) Page protection layer
US20210232405A1 (en) Circuit and register to prevent executable code access
JP7066022B1 (ja) 情報処理装置、及び制御方法
US12019880B2 (en) Flash memory data protection using bad block markers and a flashing tool
US20230102540A1 (en) Flash memory data protection
US20130151832A1 (en) Flash memory storage system and data protection method thereof
US11829611B2 (en) Electronic device and hibernation recovery method thereof
US11429312B1 (en) Multiplexed storage accesses
US20240119139A1 (en) Securing critical data in a storage device of a computer system