KR102104298B1 - A method for determinig safety of data and an electronic device performing the method - Google Patents

A method for determinig safety of data and an electronic device performing the method Download PDF

Info

Publication number
KR102104298B1
KR102104298B1 KR1020180109416A KR20180109416A KR102104298B1 KR 102104298 B1 KR102104298 B1 KR 102104298B1 KR 1020180109416 A KR1020180109416 A KR 1020180109416A KR 20180109416 A KR20180109416 A KR 20180109416A KR 102104298 B1 KR102104298 B1 KR 102104298B1
Authority
KR
South Korea
Prior art keywords
data
comparison
memory
target data
code
Prior art date
Application number
KR1020180109416A
Other languages
Korean (ko)
Other versions
KR20200030770A (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 주식회사 넥스트칩
Priority to KR1020180109416A priority Critical patent/KR102104298B1/en
Publication of KR20200030770A publication Critical patent/KR20200030770A/en
Application granted granted Critical
Publication of KR102104298B1 publication Critical patent/KR102104298B1/en

Links

Images

Classifications

    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Control Of Driving Devices And Active Controlling Of Vehicle (AREA)

Abstract

타겟 데이터가 안전한지 여부를 결정하는 방법 및 그 방법을 수행하는 전자 장치가 제공된다. 타겟 데이터를 주소 및 제어 데이터 중 적어도 하나를 이용하여 인코딩 및 디코딩함으로써 비교 데이터를 생성하고, 타겟 데이터가 비교 데이터와 동일한지 여부를 결정함으로써 타겟 데이터의 안전성이 결정된다. 타겟 데이터, 주소 및 제어 데이터 중 어느 하나라도 조작된 경우 또는 어떠한 이유에서든 데이터를 저장하는 메모리에 문제가 발생한 경우 또는 메모리와 관련된 연결(또는 통신채널)에 문제가 발생한 경우에는 타겟 데이터와 비교 데이터는 동일하지 않게 된다.A method for determining whether target data is secure and an electronic device performing the method are provided. The comparison data is generated by encoding and decoding the target data using at least one of address and control data, and the safety of the target data is determined by determining whether the target data is the same as the comparison data. If any of the target data, address, and control data has been manipulated, or if there is a problem with the memory that stores the data for any reason, or if there is a problem with the connection (or communication channel) associated with the memory, the target data and comparison data are Will not be the same.

Description

데이터의 안전을 결정하는 방법 및 그 방법을 수행하는 전자 장치{A METHOD FOR DETERMINIG SAFETY OF DATA AND AN ELECTRONIC DEVICE PERFORMING THE METHOD}A METHOD FOR DETERMINIG SAFETY OF DATA AND AN ELECTRONIC DEVICE PERFORMING THE METHOD

아래의 실시예들은 데이터의 안전을 결정하는 기술에 관한 것으로, 보다 상세하게는 복수의 메모리들을 이용하여 데이터의 안전을 결정하는 기술에 관한 것이다.The following embodiments relate to a technique for determining the safety of data, and more particularly, to a technique for determining the safety of data using a plurality of memories.

어드밴스드 운전자 지원 시스템(Advanced Driver Assistance Systems: ADAS) 또는 자율주행 차량을 위한 기술들이 개발되면서, ISO 26262에 대한 기능이 강조되고 있다. ISO 26262는 기능 안전(functional safety)을 구현하기 위한 차량 기능 안전 국제 규격이다. ISO 26262는 프로세스 모델과 함께 요구되는 활동, 유무형의 증거물, 그리고 개발과 생산에 사용되는 방식을 정의한다.As technologies for Advanced Driver Assistance Systems (ADAS) or self-driving vehicles have been developed, features for ISO 26262 are being emphasized. ISO 26262 is an international standard for vehicle functional safety to implement functional safety. ISO 26262, along with the process model, defines the required activities, tangible and intangible evidence, and the method used for development and production.

일 실시예는 데이터의 안전을 결정하는 방법 및 그 전자 장치를 제공할 수 있다.One embodiment may provide a method for determining the safety of data and an electronic device thereof.

일 실시예는 복수의 메모리들을 이용하여 데이터의 안전을 결정하는 방법 및 그 전자 장치를 제공할 수 있다.One embodiment may provide a method and an electronic device for determining the safety of data using a plurality of memories.

일 측면에 따른, 전자 장치에 의해 수행되는, 일반 메모리의 저장된 데이터의 안전을 결정하는 방법은, 일반 메모리(general memory)로부터 타겟 데이터를 로드하는 단계, 상기 타겟 데이터에 대응하는 주소에 기초하여 비교 메모리(compare memory)로부터 코드를 로드하는 단계, 상기 코드를 디코딩함으로써 비교 데이터를 생성하는 단계, 상기 비교 데이터를 로드하는 단계, 상기 타겟 데이터 및 상기 비교 데이터가 동일한지 여부를 결정하는 단계, 및 상기 타겟 데이터 및 상기 비교 데이터가 동일하지 않은 경우, 상기 타겟 데이터가 안전하지 않은 것으로 결정하는 단계를 포함한다.According to an aspect, a method of determining safety of stored data in a general memory, performed by an electronic device, includes loading target data from general memory and comparing based on an address corresponding to the target data Loading code from a memory (compare memory), generating comparison data by decoding the code, loading the comparison data, determining whether the target data and the comparison data are the same, and And when the target data and the comparison data are not the same, determining that the target data is unsafe.

상기 비교 데이터를 생성하는 단계는, 상기 코드에 대응하는 주소 및 제어 데이터 중 적어도 하나에 기초하여 상기 코드를 디코딩하는 단계를 포함할 수 있다.Generating the comparison data may include decoding the code based on at least one of address and control data corresponding to the code.

상기 데이터의 안전을 결정하는 방법은, 상기 타겟 데이터에 대응하는 주소 및 제어 데이터 중 적어도 하나에 기초하여 상기 타겟 데이터를 인코딩함으로써 상기 코드를 생성하는 단계, 및 상기 코드를 상기 비교 메모리에 저장하는 단계를 더 포함할 수 있다.The method for determining the safety of the data includes generating the code by encoding the target data based on at least one of address and control data corresponding to the target data, and storing the code in the comparison memory It may further include.

상기 비교 메모리는 SRAM(Static Random Access Memory)로 구성되고, 상기 비교 메모리 및 상기 일반 메모리는 물리적으로 상이한 메모리들일 수 있다.The comparison memory is composed of static random access memory (SRAM), and the comparison memory and the general memory may be physically different memories.

상기 전자 장치는 자율주행 차량(autonomous vehicle) 또는 어드밴스드 운전자 지원 시스템(advanced driver assistance system)을 지원하는 차량에 포함될 수 있다.The electronic device may be included in an autonomous vehicle or a vehicle supporting an advanced driver assistance system.

다른 일 측면에 따른, 데이터가 안전한지 여부를 결정하는 전자 장치는, 로봇의 행동을 제어하는 정책을 갱신하는 프로그램이 기록된 메모리, 및 상기 프로그램을 수행하는 프로세서를 포함하고, 상기 프로그램은, 일반 메모리(general memory)로부터 타겟 데이터를 로드하는 단계, 상기 타겟 데이터의 주소에 기초하여 비교 메모리(compare memory)로부터 코드를 로드하는 단계, 상기 코드를 디코딩함으로써 비교 데이터를 생성하는 단계, 상기 비교 데이터를 로드하는 단계, 상기 타겟 데이터 및 상기 비교 데이터가 동일한지 여부를 결정하는 단계, 및 상기 타겟 데이터 및 상기 비교 데이터가 동일하지 않은 경우, 상기 타겟 데이터가 안전하지 않은 것으로 결정하는 단계를 수행한다.According to another aspect, an electronic device for determining whether data is safe includes a memory in which a program for updating a policy for controlling a robot's behavior is recorded, and a processor for executing the program, wherein the program includes: Loading target data from a general memory, loading code from a compare memory based on the address of the target data, generating comparison data by decoding the code, and comparing the comparison data Loading, determining whether the target data and the comparison data are the same, and determining that the target data is unsafe when the target data and the comparison data are not the same.

상기 비교 데이터를 생성하는 단계는, 상기 코드에 대응하는 주소 및 제어 데이터 중 적어도 하나에 기초하여 상기 코드를 디코딩하는 단계를 포함할 수 있다.Generating the comparison data may include decoding the code based on at least one of address and control data corresponding to the code.

상기 프로그램은, 상기 타겟 데이터에 대응하는 주소 및 제어 데이터 중 적어도 하나에 기초하여 상기 타겟 데이터를 인코딩함으로써 상기 코드를 생성하는 단계, 및 상기 코드를 상기 비교 메모리에 저장하는 단계를 더 수행할 수 있다.The program may further perform the step of generating the code by encoding the target data based on at least one of address and control data corresponding to the target data, and storing the code in the comparison memory. .

상기 비교 메모리는 SRAM(Static Random Access Memory) 또는 Register 및 이에 상응하는 소자로 구성될 수 있고, 상기 비교 메모리 및 상기 일반 메모리는 물리적으로 상이한 메모리들일 수 있다.The comparison memory may be composed of a static random access memory (SRAM) or a register and a corresponding device, and the comparison memory and the general memory may be physically different memories.

상기 전자 장치는 자율주행 차량(autonomous vehicle) 또는 첨단 운전자 지원 시스템(advanced driver assistance system)을 지원하는 차량에 포함될 수 있고 그 외 ECU 및 여러 종류의 콘트롤러나 센서류에 사용될 수 있다.The electronic device may be included in an autonomous vehicle or a vehicle supporting an advanced driver assistance system, and may be used in other ECUs and various types of controllers or sensors.

일 실시예는 데이터의 안전을 결정하는 방법 및 그 전자 장치를 제공할 수 있다.One embodiment may provide a method for determining the safety of data and an electronic device thereof.

일 실시예는 복수의 메모리들을 이용하여 데이터의 안전을 결정하는 방법 및 그 전자 장치를 제공할 수 있다.One embodiment may provide a method and an electronic device for determining the safety of data using a plurality of memories.

도 1은 일 예에 따른 전자 장치를 탑재한 차량을 도시한다.
도 2는 일 실시예에 따른 데이터 안전을 결정하는 전자 장치의 구성도이다.
도 3은 일 예에 따른 비교 메모리 블록의 구성도이다.
도 4는 일 실시예에 따른 데이터 안전을 결정하는 방법의 흐름도이다.
도 5는 일 예에 따른 전자 장치 내의 구성 요소들 간의 데이터 흐름을 나타낸다.
1 illustrates a vehicle equipped with an electronic device according to an example.
2 is a configuration diagram of an electronic device for determining data safety according to an embodiment.
3 is a configuration diagram of a comparison memory block according to an example.
4 is a flowchart of a method for determining data safety according to an embodiment.
5 illustrates data flow between components in an electronic device according to an example.

이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. However, various changes may be made to the embodiments, and the scope of the patent application right is not limited or limited by these embodiments. It should be understood that all modifications, equivalents, or substitutes for the embodiments are included in the scope of rights.

실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the examples are for illustrative purposes only and should not be construed as limiting. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this specification, the terms "include" or "have" are intended to indicate the presence of features, numbers, steps, actions, components, parts or combinations thereof described herein, one or more other features. It should be understood that the existence or addition possibilities of fields or numbers, steps, operations, components, parts or combinations thereof are not excluded in advance.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by a person skilled in the art to which the embodiment belongs. Terms such as those defined in a commonly used dictionary should be interpreted as having meanings consistent with meanings in the context of related technologies, and should not be interpreted as ideal or excessively formal meanings unless explicitly defined in the present application. Does not.

또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In addition, in the description with reference to the accompanying drawings, the same reference numerals are assigned to the same components regardless of reference numerals, and redundant descriptions thereof will be omitted. In describing the embodiments, when it is determined that detailed descriptions of related known technologies may unnecessarily obscure the subject matter of the embodiments, detailed descriptions thereof will be omitted.

도 1은 일 예에 따른 전자 장치를 탑재한 차량을 도시한다.1 illustrates a vehicle equipped with an electronic device according to an example.

일 측면에 따른, 차량(100)은 운전자로부터의 입력이 거의 없거나 또는 전혀 없는 상황에서도, 인지된 주행 환경에 따라서 자율 모드(autonomous mode)로 주행할 수 있다. 주행 환경은 차량(100)에 부착 또는 설치된 하나 이상의 센서들을 통해 인지될 수 있다. 예를 들어, 하나 이상의 센서들은 카메라, 라이다(LIDAR), 레이더(RADAR) 및 음성 인식 센서들을 포함할 수 있고, 기재된 예들로 제한되는 것은 아니다. 주행 환경은 도로, 도로의 상태, 차선의 종류, 주변 차량의 유무, 근접한 차량과의 거리, 날씨, 장애물의 유무 등을 포함할 수 있고, 기재된 예들로 제한되는 것은 아니다.According to one aspect, the vehicle 100 may travel in an autonomous mode according to a recognized driving environment even in a situation where there is little or no input from the driver. The driving environment may be recognized through one or more sensors attached or installed in the vehicle 100. For example, one or more sensors may include camera, lidar (RADAR), and radar (RADAR) and speech recognition sensors, but are not limited to the described examples. The driving environment may include roads, conditions of roads, types of lanes, presence or absence of surrounding vehicles, distance from adjacent vehicles, weather, presence or absence of obstacles, and the like, and is not limited to the examples described.

차량(100)은 주행 환경을 인식하고, 주행 환경에 적합한 자율 주행 경로를 생성한다. 자율 주행 경로를 따라가도록 자율 주행 차량은 내외부의 기계적인 요소들을 제어한다. 차량(100)은 자율 주행 경로를 주기적으로 생성할 수 있다.The vehicle 100 recognizes a driving environment and generates an autonomous driving route suitable for the driving environment. The autonomous vehicle controls the internal and external mechanical elements to follow the autonomous driving path. The vehicle 100 may periodically generate an autonomous driving route.

다른 일 측면에 따른, 차량(100)은 어드밴스드 운전자 지원 시스템(Advanced Driver Assistance Systems: ADAS)을 이용하여 운전자의 운전을 보조할 수 있다. ADAS는 충돌 위험시 운전자가 제동장치를 밟지 않아도 스스로 속도를 줄이거나 멈추는 자동 긴급제동 시스템(Autonomous Emergency Braking: AEB), 차선 이탈 시 주행 방향을 조절해 차선을 유지하는 주행 조향보조 시스템(Lane Keep Assist System: LKAS), 사전에 정해 놓은 속도로 달리면서도 앞차와 간격을 알아서 유지하는 어드밴스드 스마트 크루즈 컨트롤(Advanced Smart Cruise Control: ASCC), 사각지대 충돌 위험을 감지해 안전한 차로 변경을 돕는 후측방 충돌 회피 지원 시스템(Active Blind Spot Detection: ABSD), 차량 주변 상황을 시각적으로 보여주는 어라운드 뷰 모니터링 시스템(Around View Monitor: AVM) 등을 포함한다.According to another aspect, the vehicle 100 may assist the driver to drive using an Advanced Driver Assistance Systems (ADAS). ADAS is an Autonomous Emergency Braking (AEB) system that reduces or stops speed even if the driver does not step on the braking system in the event of a collision. System: LKAS), Advanced Smart Cruise Control (ASCC), which runs at a pre-determined speed and keeps track of the distance from the front car, detects the danger of blind spot collisions and assists in rear collision avoidance System (Active Blind Spot Detection: ABSD), Around View Monitor (AVM), which visually shows the situation around the vehicle.

차량(100)에 포함된 전자 장치(110)는 차량(100)의 기계적 장치를 제어하여, 자율 주행하거나 운전자의 운전을 보조할 수 있고, 기재된 실시예 이외의 ECU 및 다양한 종류의 컨트롤러나 센서 등에 사용될 수 있다. 전자 장치(110)가 자동적으로 기계적인 요소를 제어하는 것이므로, 제어의 정확성이 아주 중요하다. 데이터의 오류로 인하여 전자 장치(110)의 의도와는 다른 제어가 수행되는 경우, 사고로 이어질 수 있다. 예를 들어, 속도를 감속하는 제어가 아닌 속도를 증속하는 제어가 수행되는 경우, 사고로 이어질 수 있다. 다른 예로, 외부의 개입(예를 들어, 해킹)으로 데이터가 조작될 가능성도 있다. 또 다른 예로, 전자 장치(110) 내부 기기 또는 회로의 노후화나 외부 충격, 급격한 온도변화, 고온 또는 저온노출 등 다양한 이유로 인해 데이터가 손상되거나 프로세서와 메모리 사이의 데이터 전달에 문제가 발생할 수 있다. 이에 따라, 기계적인 요소를 제어하기 전에, 데이터가 안전한지 여부를 판단하는 방법이 수행 되어야 한다. 상기의 내용은 ISO 26262 또는 자동차 기능 안전성 국제 표준과 관련이 있다. ISO 26262는 차량(100)에 탑재되는 E/E (Electric & Electronic) 시스템의 오류로 인한 사고방지를 위해 ISO에서 제정한 자동차 기능 안전 국제 규격이다. ISO 26262는 프로세스 모델과 함께 요구되는 활동, 유무형의 증거물, 그리고 개발과 생산에 사용되는 방식을 정의한다.The electronic device 110 included in the vehicle 100 may control a mechanical device of the vehicle 100 to autonomously drive or assist the driver in driving, and ECUs and various types of controllers or sensors other than the described embodiments Can be used. Since the electronic device 110 automatically controls the mechanical elements, the accuracy of the control is very important. If a control different from the intention of the electronic device 110 is performed due to an error in data, an accident may result. For example, if a control that increases or decreases the speed is performed instead of the control that slows down, it may lead to an accident. As another example, data may be manipulated by external intervention (eg, hacking). As another example, data may be damaged or problems may occur in data transfer between a processor and a memory due to various reasons, such as aging of an internal device or circuit of the electronic device 110, external shock, rapid temperature change, or high or low temperature exposure. Accordingly, before controlling a mechanical element, a method for determining whether data is safe should be performed. The above is related to ISO 26262 or international standards for automotive functional safety. ISO 26262 is an international standard for automotive functional safety established by ISO to prevent accidents due to errors in the E / E (Electric & Electronic) system mounted on the vehicle 100. ISO 26262, along with the process model, defines the required activities, tangible and intangible evidence, and the method used for development and production.

메모리 구조를 변형하여, 데이터의 안전성을 결정하는 방법이 고려될 수 있다. 상기의 방법에 대해, 아래에서 도 2 내지 도 5를 참조하여 상세히 설명된다.By modifying the memory structure, a method of determining the safety of data can be considered. The above method will be described in detail with reference to Figs. 2 to 5 below.

도 2는 일 실시예에 따른 데이터 안전을 결정하는 전자 장치의 구성도이다.2 is a configuration diagram of an electronic device for determining data safety according to an embodiment.

전자 장치(200)는 통신부(210), 프로세서(220), 일반 메모리(230) 및 비교 메모리 블록(240)을 포함한다. 전자 장치(200)는 도 1을 참조하여 전술된 차량(100)에 포함될 수 있다.The electronic device 200 includes a communication unit 210, a processor 220, a general memory 230, and a comparison memory block 240. The electronic device 200 may be included in the vehicle 100 described above with reference to FIG. 1.

통신부(210)는 프로세서(220) 및 일반 메모리(230) 및 비교 메모리 블록(240)과 연결되어 데이터를 송수신한다. 통신부(210)는 외부의 다른 장치와 연결되어 데이터를 송수신할 수 있다. 통신부(210)는 전자 장치(200) 내의 회로망(circuitry)으로 구현될 수 있다. 예를 들어, 통신부(210)는 내부 버스(internal bus) 및 외부 버스(internal bus)를 포함할 수 있다. 다른 예로, 통신부(210)는 전자 장치(200)와 외부의 장치를 연결하는 요소일 수 있다. 통신부(210)는 인터페이스(interface)일 수 있다. 통신부(210)는 외부의 장치로부터 데이터를 수신하여, 프로세서(220) 및 일반 메모리(230)에 데이터를 전송할 수 있다.The communication unit 210 is connected to the processor 220 and the general memory 230 and the comparison memory block 240 to transmit and receive data. The communication unit 210 may be connected to another external device to transmit and receive data. The communication unit 210 may be implemented as circuitry in the electronic device 200. For example, the communication unit 210 may include an internal bus and an internal bus. As another example, the communication unit 210 may be an element connecting the electronic device 200 and an external device. The communication unit 210 may be an interface. The communication unit 210 may receive data from an external device and transmit data to the processor 220 and the general memory 230.

프로세서(220)는 통신부(210)가 수신한 데이터 및 일반 메모리(230)에 저장된 데이터를 처리한다.The processor 220 processes data received by the communication unit 210 and data stored in the general memory 230.

"프로세서"는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다. 예를 들어, 하드웨어로 구현된 데이터 처리 장치는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.The "processor" may be a data processing device implemented in hardware having circuits having a physical structure for performing desired operations. For example, desired operations may include code or instructions included in a program. For example, the data processing device implemented in hardware includes a microprocessor, a central processing unit, a processor core, a multi-core processor, and a multiprocessor. , ASIC (Application-Specific Integrated Circuit), FPGA (Field Programmable Gate Array).

프로세서(220)는 메모리(예를 들어, 메모리(230))에 저장된 컴퓨터로 읽을 수 있는 코드(예를 들어, 소프트웨어) 및 프로세서(220)에 의해 유발된 인스트럭션들을 실행한다.The processor 220 executes computer readable code (eg, software) stored in the memory (eg, the memory 230) and instructions caused by the processor 220.

일반 메모리(230)는 통신부(210)가 수신한 데이터 및 프로세서(220)가 처리한 데이터를 저장할 수 있다. 예를 들어, 일반 메모리(230)는 프로그램을 저장할 수 있다.The general memory 230 may store data received by the communication unit 210 and data processed by the processor 220. For example, the general memory 230 may store a program.

일 측면에 따르면, 일반 메모리(230)는 하나 이상의 레지스터(Register)의 집합, 휘발성 메모리, 비휘발성 메모리 및 RAM(Random Access Memory), 플래시 메모리, 하드 디스크 드라이브 및 광학 디스크 드라이브를 포함할 수 있다.According to one aspect, the general memory 230 may include a set of one or more registers, volatile memory, non-volatile memory and random access memory (RAM), flash memory, hard disk drive, and optical disk drive.

일반 메모리(230)는 데이터의 안전을 결정하는 명령어 세트(예를 들어, 소프트웨어)를 저장할 수 있다. 데이터의 안전을 결정하는 명령어 세트는 프로세서(220)에 의해 실행될 수 있다. 프로세서(220)는 명령어 세트에 따라 데이터의 안전을 결정할 수 있다.The general memory 230 may store a set of instructions (eg, software) that determines safety of data. The set of instructions that determine the safety of the data can be executed by the processor 220. The processor 220 may determine the safety of data according to the instruction set.

비교 메모리 블록(240)은 일반 메모리(230)에 저장된 데이터의 안전을 확인할 수 있는 비교 데이터를 저장할 수 있다. 예를 들어, 비교 메모리 블록(240)은 프로그램을 인코딩한 형태의 변형된 데이터를 저장할 수 있다.The comparison memory block 240 may store comparison data that can confirm the safety of data stored in the general memory 230. For example, the comparison memory block 240 may store modified data in the form of encoding a program.

아래에서 도 3 내지 도 5를 참조하여 전자 장치(200)에 대해 상세히 설명된다.Hereinafter, the electronic device 200 will be described in detail with reference to FIGS. 3 to 5.

도 3은 일 예에 따른 비교 메모리 블록의 구성도이다.3 is a configuration diagram of a comparison memory block according to an example.

일 실시예에 따르면, 도 2를 참조하여 비교 메모리 블록(240)은 인코더(310), 비교 메모리(320) 및 디코더(330)를 포함한다.According to an embodiment, referring to FIG. 2, the comparison memory block 240 includes an encoder 310, a comparison memory 320, and a decoder 330.

인코더(310)는 프로세서(220)가 쓰기를 원하는 데이터 및 상기의 데이터에 대응하는 주소에 기초하여, 데이터를 인코딩함으로써 코드를 생성한다. 비교 메모리(320)는 생성된 코드를 저장한다. 예를 들어, 비교 메모리(320)는RAM(Static Random Access Memory) 또는 레지스터(Register) 또는 이에 상응하는 소자로 구성될 수 있고, 비교 메모리(320)는 일반 메모리(230)와 물리적으로 상이한 메모리일 수 있다. 디코더(330)는 코드를 디코딩함으로써 데이터를 생성한다. 코드의 디코딩은 데이터의 인코딩과 대비될 수 있다.The encoder 310 generates a code by encoding data based on the data that the processor 220 wants to write and an address corresponding to the data. The comparison memory 320 stores the generated code. For example, the comparison memory 320 may be composed of a static random access memory (RAM) or a register or a corresponding device, and the comparison memory 320 may be a physically different memory from the normal memory 230 You can. The decoder 330 generates data by decoding the code. The decoding of the code can be contrasted with the encoding of the data.

일 측면에 따르면, 비교 메모리 블록(240)은 내부 프로세서(도시되지 않음)를 더 포함할 수 있고, 내부 프로세서는 비교 메모리 블록(240)을 제어할 수 있다. 예를 들어, 내부 프로세서는 인코더(310), 비교 메모리(320) 및 디코더(330)를 제어할 수 있다.According to one aspect, the comparison memory block 240 may further include an internal processor (not shown), and the internal processor may control the comparison memory block 240. For example, the internal processor may control the encoder 310, the comparison memory 320 and the decoder 330.

아래에서 인코더(310), 비교 메모리(320) 및 디코더(330)에 대해 도 4 내지 도 5를 참조하여 상세히 설명된다.Hereinafter, the encoder 310, the comparison memory 320, and the decoder 330 will be described in detail with reference to FIGS. 4 to 5.

도 4는 일 실시예에 따른 데이터 안전을 결정하는 방법의 흐름도이다.4 is a flowchart of a method for determining data safety according to an embodiment.

도 2 내지 3을 참조하여 전술된 전자 장치(200)는 아래의 단계들(410 내지 450)을 수행한다.The electronic device 200 described above with reference to FIGS. 2 to 3 performs the following steps 410 to 450.

단계(405)에서, 인코더(310)는 프로세서(220)가 쓰기를 원하는 타겟 데이터를 인코딩함으로써 코드를 생성한다. 예를 들어, 인코더(310)는 타겟 데이터에 대응하는 주소 및 제어 데이터 중 적어도 하나에 기초하여 타겟 데이터를 인코딩함으로써 코드를 생성한다. 타겟 데이터를 암호화함으로써 코드가 생성될 수 있다.In step 405, the encoder 310 generates code by encoding target data that the processor 220 wants to write. For example, the encoder 310 generates code by encoding target data based on at least one of address and control data corresponding to the target data. Code can be generated by encrypting the target data.

단계(410)에서, 일반 메모리(230)는 타겟 데이터를 저장한다. 예를 들어, 일반 메모리(230)는 프로세서(220)가 전송한 타겟 데이터에 대응하는 주소 및 제어 데이터 중 적어도 하나를 이용하여 타겟 데이터를 저장할 수 있다. 단계(410)는 단계(405)가 수행된 후에 수행되는 것으로 도시되었으나, 단계(410)는 단계(405)와 병렬적으로 수행될 수 있다.In step 410, the general memory 230 stores the target data. For example, the general memory 230 may store target data using at least one of address and control data corresponding to the target data transmitted by the processor 220. Although step 410 is shown to be performed after step 405 is performed, step 410 may be performed in parallel with step 405.

단계(415)에서, 비교 메모리(320)는 생성된 코드를 저장한다.In step 415, the comparison memory 320 stores the generated code.

단계(420)에서, 전자 장치(200)는 일반 메모리(230)로부터 타겟 데이터를 로드한다. 예를 들어, 전자 장치(200)는 프로세서(220), 별도의 프로세서 또는 전자 장치(200)의 회로를 이용하여 타겟 데이터를 로드할 수 있다.In step 420, the electronic device 200 loads target data from the general memory 230. For example, the electronic device 200 may load target data using the processor 220, a separate processor, or circuits of the electronic device 200.

단계(425)에서, 디코더(330)는 타겟 데이터에 대응하는 주소에 기초하여 비교 메모리(320)로부터 코드를 로드한다. 타겟 데이터에 대응하는 주소는 프로세서(220)로부터 수신할 수 있다.In step 425, the decoder 330 loads the code from the comparison memory 320 based on the address corresponding to the target data. The address corresponding to the target data may be received from the processor 220.

단계(430)에서, 디코더(330)는 코드를 디코딩함으로써 비교 데이터를 생성한다. 예를 들어, 디코더(330)는 코드(또는, 타겟 데이터)에 대응하는 주소 및 제어 데이터 중 적어도 하나에 기초하여 코드를 디코딩할 수 있다. 상기의 디코딩 방식은 단계(405)의 인코딩 방식과 대응할 수 있다. 즉, 코드를 복호화함으로써 비교 데이터가 생성될 수 있다.In step 430, the decoder 330 generates comparison data by decoding the code. For example, the decoder 330 may decode the code based on at least one of address and control data corresponding to the code (or target data). The decoding scheme may correspond to the encoding scheme of step 405. That is, comparison data can be generated by decoding the code.

단계(435)에서, 전자 장치(200)는 비교 데이터를 로드한다. 예를 들어, 전자 장치(200)는 프로세서(220), 별도의 프로세서 또는 전자 장치(200)의 회로를 이용하여 비교 데이터를 로드할 수 있고, 통신 채널 또는 단순한 연결구조를 통해 로드할 수 있다.In step 435, the electronic device 200 loads comparison data. For example, the electronic device 200 may load comparison data using a circuit of the processor 220, a separate processor, or the electronic device 200, and load it through a communication channel or a simple connection structure.

단계(440)에서, 전자 장치(200)는 타겟 데이터 및 비교 데이터가 동일한지 여부를 판단한다. 예를 들어, 전자 장치(200)는 프로세서(220), 별도의 프로세서 또는 전자 장치(200)의 내부 회로를 이용하여 타겟 데이터 및 비교 데이터가 동일한지 여부를 판단할 수 있다.In step 440, the electronic device 200 determines whether the target data and the comparison data are the same. For example, the electronic device 200 may determine whether the target data and the comparison data are the same using the processor 220, a separate processor, or internal circuits of the electronic device 200.

단계(445)에서, 전자 장치(200)는 타겟 데이터 및 비교 데이터가 동일한 경우, 타겟 데이터가 안전한 것으로 결정한다. 타겟 데이터가 타겟 데이터에 대응하는 주소 및 제어 데이터에 기초하여 인코딩되고, 다시 디코딩되므로, 타겟 데이터, 주소 및 제어 데이터 중 어느 하나라도 오류가 있다면, 타겟 데이터 및 비교 데이터가 동일하지 않는다. 따라서, 타겟 데이터 및 비교 데이터가 동일하다는 것은, 타겟 데이터, 주소 및 제어 데이터가 변조되지 않았으며 타겟 데이터가 전자 장치(200)의 노후화나 환경에 의해서도 문제가 발생하지 않았다는 것과 동일한 의미이다.In step 445, when the target data and the comparison data are the same, the electronic device 200 determines that the target data is secure. Since the target data is encoded and decoded again based on the address and control data corresponding to the target data, if any one of the target data, the address and the control data is in error, the target data and the comparison data are not the same. Accordingly, the fact that the target data and the comparison data are the same means that the target data, the address and the control data have not been tampered with, and that the target data has not caused any problems due to aging or the environment of the electronic device 200.

전자 장치(200)는 타겟 데이터가 안전한 것으로 결정된 경우, 타겟 데이터를 이용하여 차량을 제어할 수 있다.When it is determined that the target data is safe, the electronic device 200 may control the vehicle using the target data.

단계(450)에서, 전자 장치(200)는 타겟 데이터 및 비교 데이터가 동일하지 않은 경우, 타겟 데이터가 안전하지 않은 것으로 결정한다.In step 450, if the target data and the comparison data are not the same, the electronic device 200 determines that the target data is unsafe.

전자 장치(200)는 타겟 데이터가 안전하지 않는 것으로 결정된 경우, 스스로 안전을 확보하기 위한 별도의 조치를 취하거나, 안전하지 않음을 외부에 알릴 수도 있다. 또한, 전자 장치(200)는 스스로 안전을 확보하기 위한 별도의 조치의 일 예로 타겟 데이터를 복구할 수 있다.When it is determined that the target data is unsafe, the electronic device 200 may take a separate measure to secure safety by itself, or may inform the outside that it is unsafe. Further, the electronic device 200 may recover target data as an example of a separate measure for securing safety by itself.

도 5는 일 예에 따른 전자 장치 내의 구성 요소들 간의 데이터 흐름을 나타낸다.5 illustrates data flow between components in an electronic device according to an example.

전자 장치(200)는 아래의 프로세서(510), 일반 메모리(520), 인코더(530), 비교 메모리(540), 디코더(550) 및 비교기(560)를 포함한다.The electronic device 200 includes the following processor 510, a general memory 520, an encoder 530, a comparison memory 540, a decoder 550 and a comparator 560.

프로세서(510)는 타겟 데이터를 생성한다. 타겟 데이터는 차량의 제어와 관련될 수 있다. 프로세서(510)는 도 2 내지 도 4를 참조하여 전술된 프로세서(220)에 대응할 수 있다.The processor 510 generates target data. The target data can be related to the control of the vehicle. The processor 510 may correspond to the processor 220 described above with reference to FIGS. 2 to 4.

일반 메모리(520)는 프로세서(510)가 쓴 타겟 데이터를 저장한다. 일반 메모리(520)는 도 2 내지 도 4를 참조하여 전술된 일반 메모리(230)에 대응할 수 있다. 추가적으로, 일반 메모리(520)는 타겟 데이터에 대응하는 주소 및 제어 데이터를 프로세서(510)로부터 수신하고, 저장할 수 있다.The general memory 520 stores target data written by the processor 510. The general memory 520 may correspond to the general memory 230 described above with reference to FIGS. 2 to 4. Additionally, the general memory 520 may receive and store address and control data corresponding to the target data from the processor 510.

인코더(530)는 프로세서(510)로부터 수신한 타겟 데이터를 인코딩함으로써 코드를 생성한다. 예를 들어, 인코더(530)는 프로세서(510)로부터 수신한 타겟 데이터에 대응하는 주소 및 제어 데이터 중 적어도 하나에 기초하여 타겟 데이터를 인코딩할 수 있다. 인코더(530)는 도 2 내지 도 4를 참조하여 전술된 인코더(310)에 대응할 수 있다.The encoder 530 generates code by encoding target data received from the processor 510. For example, the encoder 530 may encode the target data based on at least one of address and control data corresponding to the target data received from the processor 510. The encoder 530 may correspond to the encoder 310 described above with reference to FIGS. 2 to 4.

비교 메모리(540)는 생성된 코드를 저장한다. 예를 들어, 비교 메모리(540)는 도 2 내지 도 4를 참조하여 전술된 비교 메모리(320)에 대응할 수 있다.The comparison memory 540 stores the generated code. For example, the comparison memory 540 may correspond to the comparison memory 320 described above with reference to FIGS. 2 to 4.

디코더(550)는 비교 메모리(540)로부터 코드를 독출하고, 독출한 코드를 디코딩함으로써 비교 데이터를 생성한다. 예를 들어, 디코더(550)는 프로세서(510)로부터 수신한 타겟 데이터에 대응하는 주소 및 제어 데이터 중 적어도 하나에 기초하여 코드를 디코딩할 수 있다. 디코더(550)는 도 2 내지 도 4를 참조하여 전술된 디코더(550)에 대응할 수 있다.The decoder 550 reads the code from the comparison memory 540 and decodes the read code to generate comparison data. For example, the decoder 550 may decode the code based on at least one of address and control data corresponding to target data received from the processor 510. The decoder 550 may correspond to the decoder 550 described above with reference to FIGS. 2 to 4.

비교기(560)는 일반 메모리(520)로부터 타겟 데이터를 독출하고, 디코더(550)로부터 비교 데이터를 독출하며, 타겟 데이터 및 비교 데이터가 동일한지 여부를 결정한다. 비교기(560)는 프로세서(510), 다른 프로세서, 또는 전자 장치(200)의 내부 회로일 수 있다.The comparator 560 reads the target data from the general memory 520, reads the comparison data from the decoder 550, and determines whether the target data and the comparison data are the same. The comparator 560 may be a processor 510, another processor, or an internal circuit of the electronic device 200.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer readable medium. The computer-readable medium may include program instructions, data files, data structures, or the like alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiments or may be known and usable by those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs, DVDs, and magnetic media such as floptical disks. -Hardware devices specially configured to store and execute program instructions such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions include high-level language code that can be executed by a computer using an interpreter, etc., as well as machine language codes produced by a compiler. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instruction, or a combination of one or more of these, and configure the processing device to operate as desired, or process independently or collectively You can command the device. Software and / or data may be interpreted by a processing device, or to provide instructions or data to a processing device, of any type of machine, component, physical device, virtual equipment, computer storage medium or device. , Or may be permanently or temporarily embodied in the transmitted signal wave. The software may be distributed on networked computer systems, and stored or executed in a distributed manner. Software and data may be stored in one or more computer-readable recording media.

이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described by the limited drawings, those skilled in the art can apply various technical modifications and variations based on the above. For example, the described techniques are performed in a different order than the described method, and / or the components of the described system, structure, device, circuit, etc. are combined or combined in a different form from the described method, or other components Alternatively, even if replaced or substituted by equivalents, appropriate results can be achieved.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

200: 전자 장치
210: 통신부
220: 프로세서
230: 일반 메모리
240: 비교 메모리 블록
200: electronic device
210: communication unit
220: processor
230: normal memory
240: comparison memory block

Claims (11)

전자 장치에 의해 수행되는, 일반 메모리의 저장된 데이터의 안전을 결정하는 방법은,
일반 메모리(general memory)로부터 타겟 데이터를 로드하는 단계;
상기 타겟 데이터에 대응하는 주소에 기초하여 비교 메모리(compare memory)로부터 코드를 로드하는 단계;
상기 코드를 디코딩함으로써 비교 데이터를 생성하는 단계;
상기 비교 데이터를 로드하는 단계;
상기 타겟 데이터 및 상기 비교 데이터가 동일한지 여부를 결정하는 단계; 및
상기 타겟 데이터 및 상기 비교 데이터가 동일하지 않은 경우, 상기 타겟 데이터가 안전하지 않은 것으로 결정하는 단계
를 포함하고,
상기 비교 데이터를 생성하는 단계는,
상기 코드에 대응하는 주소 및 제어 데이터 중 적어도 하나에 기초하여 상기 코드를 디코딩하는 단계
를 포함하는,
데이터 안전 결정 방법.
A method for determining the safety of stored data in a general memory, performed by an electronic device,
Loading target data from general memory;
Loading code from a compare memory based on an address corresponding to the target data;
Generating comparison data by decoding the code;
Loading the comparison data;
Determining whether the target data and the comparison data are the same; And
Determining that the target data is unsafe when the target data and the comparison data are not the same
Including,
The step of generating the comparison data,
Decoding the code based on at least one of address and control data corresponding to the code
Containing,
How to determine data safety.
삭제delete 제1항에 있어서,
상기 타겟 데이터에 대응하는 주소 및 제어 데이터 중 적어도 하나에 기초하여 상기 타겟 데이터를 인코딩함으로써 상기 코드를 생성하는 단계; 및
상기 코드를 상기 비교 메모리에 저장하는 단계
를 더 포함하는,
데이터 안전 결정 방법.
According to claim 1,
Generating the code by encoding the target data based on at least one of address and control data corresponding to the target data; And
Storing the code in the comparison memory
Further comprising,
How to determine data safety.
제1항에 있어서,
상기 비교 메모리는 SRAM(Static Random Access Memory)로 구성되고,
상기 비교 메모리 및 상기 일반 메모리는 물리적으로 상이한 메모리들인,
데이터 안전 결정 방법.
According to claim 1,
The comparison memory is composed of static random access memory (SRAM),
The comparison memory and the general memory are physically different memories,
How to determine data safety.
제1항에 있어서,
상기 전자 장치는 자율주행 차량(autonomous vehicle) 또는 어드밴스드 운전자 지원 시스템(advanced driver assistance system)을 지원하는 차량에 포함되는,
데이터 안전 결정 방법.
According to claim 1,
The electronic device is included in a vehicle supporting an autonomous vehicle or an advanced driver assistance system,
How to determine data safety.
제1항, 제3항, 제4항 및 제5항 중 어느 한 항의 방법을 수행하는 프로그램을 수록한 컴퓨터 판독 가능 기록 매체.
A computer-readable recording medium containing a program for performing the method of any one of claims 1, 3, 4 and 5.
데이터가 안전한지 여부를 결정하는 전자 장치는,
로봇의 행동을 제어하는 정책을 갱신하는 프로그램이 기록된 메모리; 및
상기 프로그램을 수행하는 프로세서
를 포함하고,
상기 프로그램은,
일반 메모리(general memory)로부터 타겟 데이터를 로드하는 단계;
상기 타겟 데이터의 주소에 기초하여 비교 메모리(compare memory)로부터 코드를 로드하는 단계;
상기 코드를 디코딩함으로써 비교 데이터를 생성하는 단계;
상기 비교 데이터를 로드하는 단계;
상기 타겟 데이터 및 상기 비교 데이터가 동일한지 여부를 결정하는 단계; 및
상기 타겟 데이터 및 상기 비교 데이터가 동일하지 않은 경우, 상기 타겟 데이터가 안전하지 않은 것으로 결정하는 단계
를 수행하고,
상기 비교 데이터를 생성하는 단계는,
상기 코드에 대응하는 주소 및 제어 데이터 중 적어도 하나에 기초하여 상기 코드를 디코딩하는 단계
를 포함하는,
전자 장치.
An electronic device that determines whether data is secure,
A memory in which a program for updating a policy for controlling the behavior of the robot is recorded; And
Processor that performs the program
Including,
The program,
Loading target data from general memory;
Loading code from a compare memory based on the address of the target data;
Generating comparison data by decoding the code;
Loading the comparison data;
Determining whether the target data and the comparison data are the same; And
Determining that the target data is unsafe when the target data and the comparison data are not the same
And
The step of generating the comparison data,
Decoding the code based on at least one of address and control data corresponding to the code
Containing,
Electronic devices.
삭제delete 제7항에 있어서,
상기 프로그램은,
상기 타겟 데이터에 대응하는 주소 및 제어 데이터 중 적어도 하나에 기초하여 상기 타겟 데이터를 인코딩함으로써 상기 코드를 생성하는 단계; 및
상기 코드를 상기 비교 메모리에 저장하는 단계
를 더 수행하는,
전자 장치.
The method of claim 7,
The program,
Generating the code by encoding the target data based on at least one of address and control data corresponding to the target data; And
Storing the code in the comparison memory
To do more,
Electronic devices.
제7항에 있어서,
상기 비교 메모리는 SRAM(Static Random Access Memory)로 구성되고,
상기 비교 메모리 및 상기 일반 메모리는 물리적으로 상이한 메모리들인,
전자 장치.
The method of claim 7,
The comparison memory is composed of static random access memory (SRAM),
The comparison memory and the general memory are physically different memories,
Electronic devices.
제7항에 있어서,
상기 전자 장치는 자율주행 차량(autonomous vehicle) 또는 첨단 운전자 지원 시스템(advanced driver assistance system)을 지원하는 차량에 포함되는,
전자 장치.
The method of claim 7,
The electronic device is included in an autonomous vehicle or a vehicle supporting an advanced driver assistance system,
Electronic devices.
KR1020180109416A 2018-09-13 2018-09-13 A method for determinig safety of data and an electronic device performing the method KR102104298B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180109416A KR102104298B1 (en) 2018-09-13 2018-09-13 A method for determinig safety of data and an electronic device performing the method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180109416A KR102104298B1 (en) 2018-09-13 2018-09-13 A method for determinig safety of data and an electronic device performing the method

Publications (2)

Publication Number Publication Date
KR20200030770A KR20200030770A (en) 2020-03-23
KR102104298B1 true KR102104298B1 (en) 2020-04-24

Family

ID=69998462

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180109416A KR102104298B1 (en) 2018-09-13 2018-09-13 A method for determinig safety of data and an electronic device performing the method

Country Status (1)

Country Link
KR (1) KR102104298B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101806719B1 (en) * 2016-07-04 2017-12-08 현대오트론 주식회사 The electronic control unit possible auto setting of memory area according to secure boot and method for secure boot using the same

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101953908B1 (en) * 2017-01-06 2019-03-05 주식회사 아이서티 Security System and Method of Embeded software in Vehicle electric device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101806719B1 (en) * 2016-07-04 2017-12-08 현대오트론 주식회사 The electronic control unit possible auto setting of memory area according to secure boot and method for secure boot using the same

Also Published As

Publication number Publication date
KR20200030770A (en) 2020-03-23

Similar Documents

Publication Publication Date Title
US10336268B2 (en) Method and apparatus for operating a vehicle
US11273848B2 (en) Method, device and apparatus for generating a defensive driving strategy, and storage medium
US9552523B2 (en) Apparatus and method for generating virtual lane, and system for controlling lane keeping of vehicle with the apparatus
CN107571868B (en) Method for carrying out an automated intervention for vehicle guidance of a vehicle
KR101340779B1 (en) Method for setting basis following position and lane keeping control system
US9428219B2 (en) Method and device for assisting a driver of a vehicle in a bottleneck
US9925963B2 (en) Autonomous emergency braking system and method of controlling the same
CN109101011A (en) Sensor monitoring method, device, equipment and the storage medium of automatic driving vehicle
JP2017524587A (en) Method and apparatus for monitoring a vehicle system that performs at least a semi-automated driving function
CN109795508B (en) Safe driving control method and device
US20230054263A1 (en) Obstacle avoidance control method and device, advanced driver-assistance system, vehicle, and medium
KR102104298B1 (en) A method for determinig safety of data and an electronic device performing the method
US20230286478A1 (en) Travel control device and travel control method
CN110879560B (en) Method, apparatus, device and storage medium for controlling vehicle
US11753024B1 (en) Anticipatory vehicle headlight actuation
KR102115436B1 (en) Method for managing data and memory wrapper performing the method
JP6400249B1 (en) Operation control system and operation support method
US11618461B2 (en) Implementing safety measures in applications
EP3901724A1 (en) System and method for improved aircraft and uam control path accuracy including derivative segments control
KR102160256B1 (en) Method for determinig functional safety of reset and an electronic device performing the method
JP7430259B2 (en) electric power steering device
KR102160259B1 (en) Method for determinig functional safety of clock and an electronic device performing the method
KR102156541B1 (en) Method for determinig functional safety of timer and an electronic device performing the method
US11970165B2 (en) Wireless terminal location information-based accident prevention device and method
KR102676463B1 (en) Driver assistance system and driver assistance method

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant