KR20220086230A - Difference update method for vehicullr control unit and difference update roll back method - Google Patents

Difference update method for vehicullr control unit and difference update roll back method Download PDF

Info

Publication number
KR20220086230A
KR20220086230A KR1020200176494A KR20200176494A KR20220086230A KR 20220086230 A KR20220086230 A KR 20220086230A KR 1020200176494 A KR1020200176494 A KR 1020200176494A KR 20200176494 A KR20200176494 A KR 20200176494A KR 20220086230 A KR20220086230 A KR 20220086230A
Authority
KR
South Korea
Prior art keywords
data
difference
new version
sector
version
Prior art date
Application number
KR1020200176494A
Other languages
Korean (ko)
Other versions
KR102452400B1 (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 KR1020200176494A priority Critical patent/KR102452400B1/en
Publication of KR20220086230A publication Critical patent/KR20220086230A/en
Application granted granted Critical
Publication of KR102452400B1 publication Critical patent/KR102452400B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Abstract

본 발명의 바람직한 실시예에 따른 차량용 제어기의 차분 업데이트 방법은, 구 버전과 신 버전의 데이터를 비교하고, 비교 결과로서 적어도 셋의 서로 다른 종류의 차분 데이터를 포함하는 로우 차분 데이터를 생성하는 단계, 상기 로우 차분 데이터를 메모리 섹터 별로 분할하되, 적어도 둘 이상의 상기 메모리 섹터에 오버랩되는 어느 한 종류의 차분 데이터가 존재하는 경우, 상기 오버랩되는 상기 차분 데이터를 추가 분할하여 분할 차분 데이터를 생성하는 단계, 및 상기 분할 차분 데이터를 이용하여 상기 구 버전을 상기 신 버전으로 업데이트하는 단계를 포함한다.A difference updating method of a vehicle controller according to a preferred embodiment of the present invention comprises the steps of comparing data of an old version and a new version, and generating raw difference data including at least three different types of difference data as a result of the comparison; dividing the raw difference data for each memory sector, and generating divided difference data by additionally dividing the overlapping difference data when there is one type of overlapping differential data in at least two or more of the memory sectors; and and updating the old version to the new version by using the divided difference data.

Description

차량용 제어기의 차분 업데이트 방법, 및 차분 업데이트 롤백 방법{DIFFERENCE UPDATE METHOD FOR VEHICULLR CONTROL UNIT AND DIFFERENCE UPDATE ROLL BACK METHOD}DIFFERENCE UPDATE METHOD FOR VEHICULLR CONTROL UNIT AND DIFFERENCE UPDATE ROLL BACK METHOD

본 발명은 차량용 제어기의 차분 업데이트 방법, 및 차분 업데이트 롤백 방법에 관한 것이다.The present invention relates to a differential update method of a vehicle controller, and a differential update rollback method.

현재 차량에는 기술 발전에 따라 사용자 편의성을 위한 각종 전자 장치가 적용되고 있는데, 각종 전자 장치를 제어하기 위한 차량용 제어기(MCU: Micro Controller Unit)의 소프트웨어 또는 정보를 갱신하기 위한 업데이트 기술이 요구된다.Currently, various electronic devices for user convenience are applied to vehicles according to technological development, and an update technology for updating software or information of a micro controller unit (MCU) for controlling various electronic devices is required.

이러한 요구에 발맞춰 차량용 제어기의 소프트웨어 또는 정보를 유선이 아닌 무선으로 업데이트할 수 있는 OTA(Over-the Air) 업데이트 기술 개발이 이루어지고 있다.To keep pace with these demands, over-the-air (OTA) update technology that can update software or information of a vehicle controller wirelessly rather than wiredly is being developed.

한편, 업데이트 기술의 경우, 각종 전자 장치의 소프트웨어 업데이트를 위한 전체 데이터 중에서 변경된 일부분만 업데이트하는 차분 업데이트 기술이 있으며, 차분 업데이트 기술은 대용량의 메모리와 고사양의 중앙처리장치의 지원을 필요로 한다.On the other hand, in the case of the update technology, there is a differential update technology that updates only a changed part of all data for software update of various electronic devices.

이러한 차분 업데이트 기술은, 고사양의 어플리케이션 프로세서(AP, Application Processor)의 기반 하에 동작하는 안드로이드나 리눅스 파일 시스템에 보편적으로 사용되고 있는 기술이다.This differential update technology is a technology commonly used in Android or Linux file systems that operate on the basis of a high-spec application processor (AP).

그러나, 차량용 제어기의 경우에는 상대적으로 저사양의 CPU와 저용량의 메모리를 갖고 있고, 소프트웨어 또는 정보를 저장하는 플래쉬 메모리의 특성상 일반적인 차분 업데이트 기술을 적용할 수 없는 문제점이 있다.However, in the case of a vehicle controller, it has a relatively low-spec CPU and low-capacity memory, and there is a problem that a general differential update technique cannot be applied due to the characteristics of a flash memory for storing software or information.

이러한 문제 해결을 위해 최근에는 전송 데이터의 사이즈를 줄일 수 있는 차분 업데이트 기술이 개발되고 있다.In order to solve this problem, a differential update technique capable of reducing the size of transmitted data has recently been developed.

한편, 차량의 차분 업데이트는 차량 제어기의 구 버전과 업데이트용 신 버전의 매칭성이 중요하다.On the other hand, in the differential update of the vehicle, matching between the old version of the vehicle controller and the new version for update is important.

예를 들면, 차량 제어기에 매칭되는 신 버전을 OTA를 통해 업데이트하는 경우, 일부 차량 제어기에서 불량이 발생할 수 있다. 이때 이미 업데이트 완료된 차량 제어기도 롤백(Rollback)해야 되는 경우가 다수 발생하고 있다.For example, when a new version matching the vehicle controller is updated through OTA, defects may occur in some vehicle controllers. At this time, there are many cases in which the vehicle controller that has already been updated needs to be rolled back.

이에 따라, 차분 업데이트를 성공한 차량 제어기의 경우, 업데이트를 롤백하려면 구 버전의 재 다운로드 및 차분 업데이트를 새로 실시해야 하는 문제가 있다.Accordingly, in the case of a vehicle controller that has succeeded in differential update, there is a problem in that it is necessary to re-download the old version and perform a new differential update in order to roll back the update.

대한민국 공개특허 제2019-0074346호Republic of Korea Patent Publication No. 2019-0074346

이에 본 발명은 상기한 사정을 감안하여 안출된 것으로, 차량용 제어기의 차분 업데이트 이후 차량용 제어기의 불량에 따른 차분 업데이트의 롤백이 요구되는 경우, 구 버전의 소프트웨어의 재 다운로드 없이 구 버전으로 롤백할 수 있는 차량용 제어기의 차분 업데이트 방법, 및 차분 업데이트 롤백 방법을 제공하는 것을 목적으로 한다.Accordingly, the present invention has been devised in view of the above circumstances, and when a rollback of the differential update is required due to a defect in the vehicle controller after the differential update of the vehicle controller, it is possible to roll back to the old version without re-downloading the old version of the software. An object of the present invention is to provide a differential update method for a vehicle controller, and a differential update rollback method.

상기 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 차량용 제어기의 차분 업데이트 방법은, 구 버전과 신 버전의 데이터를 비교하고, 비교 결과로서 적어도 셋의 서로 다른 종류의 차분 데이터를 포함하는 로우 차분 데이터를 생성하는 단계; 상기 로우 차분 데이터를 메모리 섹터 별로 분할하되, 적어도 둘 이상의 상기 메모리 섹터에 오버랩되는 어느 한 종류의 차분 데이터가 존재하는 경우, 상기 오버랩되는 상기 차분 데이터를 추가 분할하여 분할 차분 데이터를 생성하는 단계; 및 상기 분할 차분 데이터를 이용하여 상기 구 버전을 상기 신 버전으로 업데이트하는 단계;를 포함한다.In order to achieve the above object, a difference updating method for a vehicle controller according to a preferred embodiment of the present invention compares data of an old version and a new version, and as a result of the comparison, a raw difference including at least three different types of difference data generating data; dividing the raw difference data for each memory sector, and generating divided difference data by additionally dividing the overlapping difference data when any one type of overlapping difference data exists in at least two or more of the memory sectors; and updating the old version to the new version using the divided difference data.

상기 적어도 셋의 서로 다른 종류의 데이터는, 상기 구 버전과 상기 신 버전의 사이즈 정보가 포함되는 동일 데이터, 상기 신 버전의 사이즈 정보와 상기 신 버전의 데이터 정보가 포함되는 추가 데이터, 및 상기 구 버전의 사이즈 정보와 상기 구 버전의 데이터 정보가 포함되는 삭제 데이터를 포함할 수 있다.The at least three different types of data include the same data including size information of the old version and the new version, additional data including size information of the new version and data information of the new version, and the old version It may include deleted data including size information and data information of the old version.

상기 분할 차분 데이터를 생성하는 단계는, 상기 로우 차분 데이터를 섹터 순으로 순차적으로 로드하는 단계, 로드된 상기 로우 차분 데이터의 구 버전 주소와 신 버전 주소를 계산하는 단계, 및 로드된 상기 로우 차분 데이터를 상기 구 버전 주소와 상기 신 버전 주소에 해당하는 메모리 섹터에 이동하는 단계를 포함할 수 있다.The generating of the divided difference data may include sequentially loading the raw differential data in sector order, calculating old version addresses and new version addresses of the loaded row differential data, and the loaded raw differential data and moving to memory sectors corresponding to the old version address and the new version address.

상기 분할 차분 데이터를 생성하는 단계는, 상기 메모리 섹터에 이동되는 차분 데이터가 구 버전 주소 또는 신 버전 주소에 해당하는 메모리의 섹터 경계에서 분할되는 경우, 구 버전의 섹터 주소를 구 버전의 참조 위치로 정하고, 신 버전의 섹터 주소를 신 버전의 참조 위치로 정하는 단계를 포함할 수 있다.The generating of the divided difference data may include: when the differential data moved to the memory sector is divided at a sector boundary of the memory corresponding to the old version address or the new version address, the old version sector address as the reference position of the old version and determining the sector address of the new version as a reference location of the new version.

상기 분할 차분 데이터를 생성하는 단계는, 상기 분할 차분 데이터의 생성에 따라 상기 메모리 섹터에 이동되는 데이터 이동을 고려하여, 상기 데이터 이동의 역순으로 섹터별 차분 해제 순서를 정하는 단계를 포함할 수 있다.The generating of the divided difference data may include determining a difference cancellation order for each sector in a reverse order of the data movement in consideration of data movement to the memory sector according to the generation of the divided difference data.

상기 분할 차분 데이터를 생성하는 단계는, 상기 차분 해제 순서와 상기 구 버전과 상기 신 버전의 참조 위치를 상기 분할 차분 데이터에 포함시키는 단계를 포함할 수 있다.The generating of the divided difference data may include including the difference cancellation order and reference positions of the old version and the new version in the divided difference data.

상기 분할 차분 데이터를 생성하는 단계는, 상기 차분 데이터의 종류가 ‘동일’인 경우, 구 버전 주소와 사이즈 정보를 상기 구 버전 참조 위치에 저장하고, 신 버전 주소와 사이즈 정보를 상기 신 버전 참조 위치에 저장하고, 상기 차분 데이터의 종류가 ‘추가’ 인 경우, 신 버전 주소와 사이즈 정보를 상기 신 버전 참조 위치에 저장하며, 상기 차분 데이터의 종류가 ‘삭제’인 경우, 구 버전 주소와 사이즈 정보를 상기 구 버전 참조 위치에 저장할 수 있다.The generating of the divided difference data includes storing the old version address and size information in the old version reference location, and storing the new version address and size information in the new version reference location, when the types of the difference data are 'same'. , and when the type of the difference data is 'addition', the new version address and size information are stored in the new version reference location, and when the type of the difference data is 'delete', the old version address and size information may be stored in the old version reference location.

상기 분할 차분 데이터는, 상기 구 버전 및 상기 로우 차분 데이터가 저장되는 메모리 장치와 다른 메모리 장치에 저장될 수 있다.The divided difference data may be stored in a memory device different from a memory device in which the old version and the raw difference data are stored.

상기 신 버전으로 업데이트하는 단계는, 상기 차분 해제 순서를 고려하여 상기 분할 차분 데이터를 차분 해제하여 상기 구 버전을 상기 신 버전으로 업데이트할 수 있다.In the updating to the new version, the old version may be updated to the new version by de-differentializing the divided difference data in consideration of the difference cancellation order.

상기 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 차량용 제어기의 차분 업데이트 롤백 방법은, 구 버전에서 신 버전으로 차분 업데이트된 차량용 제어기의 차분 업데이트 롤백 방법에 있어서, 상기 차량용 제어기의 상기 신 버전에 대한 롤백이 요구되는 경우, 상기 차분 업데이트에 이용된 분할 차분 데이터를 이용하여 상기 신 버전을 상기 구 버전으로 롤백하는 단계;를 포함한다.In accordance with a preferred embodiment of the present invention for achieving the above object, there is provided a differential update rollback method for a vehicle controller that is differentially updated from an old version to a new version. and rolling back the new version to the old version by using the divided difference data used for the difference update when a rollback of the new version is required.

상기 분할 차분 데이터는, 상기 구 버전과 상기 신 버전의 데이터를 비교하고, 비교 결과로서 적어도 셋의 서로 다른 종류의 차분 데이터를 포함하는 로우 차분 데이터로부터 마련될 수 있다.The divided difference data may be prepared from raw difference data including at least three different types of difference data as a result of comparing the data of the old version and the new version.

상기 분할 차분 데이터는, 메모리 섹터 별로 분할된 상기 로우 차분 데이터의 차분 데이터와, 적어도 둘 이상의 상기 메모리 섹터에 오버랩되어 추가 분할된 상기 로우 차분 데이터의 차분 데이터를 포함하여 구성될 수 있다.The divided difference data may include difference data of the row difference data divided for each memory sector and differential data of the row difference data that are further divided by overlapping at least two or more of the memory sectors.

상기 분할 차분 데이터는, 적어도 셋의 서로 다른 종류의 데이터를 포함하여 구성되고, 상기 적어도 셋의 서로 다른 종류의 데이터는, 상기 구 버전과 상기 신 버전의 사이즈 정보가 포함되는 동일 데이터, 상기 신 버전의 사이즈 정보와 상기 신 버전의 데이터 정보가 포함되는 추가 데이터, 및 상기 구 버전의 사이즈 정보와 상기 구 버전의 데이터 정보가 포함되는 삭제 데이터를 포함할 수 있다.The divided difference data includes at least three different types of data, and the at least three different types of data include the same data including size information of the old version and the new version, and the new version. It may include additional data including size information of the new version and data information of the new version, and deleted data including size information of the old version and data information of the old version.

상기 롤백하는 단계는, 미리 마련된 섹터별 차분 해제 순서와 역방향의 역차분 해제 순서에 따라 상기 신 버전을 상기 구 버전으로 롤백할 수 있다.In the rolling back, the new version may be rolled back to the old version according to a pre-prepared order for releasing a difference for each sector and a reverse order for releasing a reverse difference for each sector.

상기 차분 해제 순서는, 상기 분할 차분 데이터의 생성시, 상기 메모리 섹터에 이동되는 데이터 이동을 고려하여, 상기 데이터 이동의 역순으로 마련될 수 있다.The difference cancellation order may be provided in a reverse order of data movement in consideration of data movement to the memory sector when the divided difference data is generated.

상기 롤백하는 단계는, 상기 삭제 데이터의 데이터 정보를 상기 신 버전에 추가하고, 상기 추가 데이터의 데이터 정보를 상기 신 버전으로부터 삭제할 수 있다.The rolling back may include adding data information of the deleted data to the new version and deleting data information of the additional data from the new version.

본 발명의 바람직한 실시예에 따른 차량용 제어기의 차분 업데이트 방법, 및 차분 업데이트 롤백 방법에 의하면, 차량용 제어기의 차분 업데이트 이후 차량용 제어기의 불량에 따른 차분 업데이트의 롤백이 요구되는 경우, 구 버전의 소프트웨어의 재 다운로드 없이 롤백할 수 있다.According to the differential update method and the differential update rollback method for a vehicle controller according to a preferred embodiment of the present invention, when a differential update rollback is required according to a failure of the vehicle controller after the differential update of the vehicle controller, the old version of the software is re-installed. You can roll back without downloading.

또한, 저사양의 처리 장치와 저용량의 메모리를 갖는 차량용 제어기에 대해 빠른 차분 업데이트를 가능하게 하는 효과가 있다.In addition, there is an effect of enabling a fast differential update for a vehicle controller having a low-spec processing device and a low-capacity memory.

또한, 구 버전을 재 다운로드하지 않고 역차분 해제 방식을 통해 차분 업데이트를 롤백함으로써 업데이트의 롤백 속도가 향상되는 효과가 있다.In addition, the rollback speed of the update is improved by rolling back the differential update through the reverse differential release method without re-downloading the old version.

또한, 저사양의 차량용 제어기에서 제한된 리소스를 사용하여 역차분 해제 방식을 통해 롤백을 수행하는 효과가 있다.In addition, there is an effect of performing rollback through the reverse differential cancellation method using limited resources in the low-spec vehicle controller.

도 1은 차량용 제어기의 차분 업데이트를 위한 시스템 구성을 설명하는 도면이다.
도 2는 본 발명의 바람직한 실시예에 따른 차량용 제어기의 차분 업데이트 방법의 순서도이다.
도 3은 본 발명의 바람직한 실시예에 따른 차량용 제어기의 차분 업데이트 방법에 있어서, 차분 데이터를 생성하는 과정을 설명하는 도면이다.
도 4는 본 발명의 바람직한 실시예에 따른 차량용 제어기의 차분 업데이트 방법에 있어서, 생성된 차분 데이터를 나타내는 도면이다.
도 5는 본 발명의 바람직한 실시예에 따른 차량용 제어기의 차분 업데이트 방법에 있어서, 차분 데이터를 생성하는 예시를 나타낸다.
도 6은 본 발명의 바람직한 실시예에 따른 차량용 제어기의 차분 업데이트 방법에 있어서, 분할 차분 데이터를 생성하는 과정을 설명하는 순서도이다.
도 7은 본 발명의 바람직한 실시예에 따른 차량용 제어기의 차분 업데이트 방법에 있어서, 차분 해제에 따른 데이터의 이동을 나타내는 도면이다.
도 8은 본 발명의 바람직한 실시예에 따른 차량용 제어기의 차분 업데이트 방법에 있어서, 섹터별 차분 해제 순서를 나타내는 도면이다.
도 9는 본 발명의 바람직한 실시예에 따른 차량용 제어기의 업데이트 방법에 있어서, 메모리 영역별 저장되는 데이터를 나타내는 도면이다.
도 10은 본 발명의 바람직한 실시예에 따른 차량용 제어기의 차분 업데이트 롤백 방법의 순서도이다.
도 11은 본 발명의 바람직한 실시예에 따른 차량용 제어기의 차분 업데이트 롤백 방법에 있어서, 역차분 해제에 따른 데이터의 이동을 나타내는 도면이다.
도 12는 본 발명의 바람직한 실시예에 따른 차량용 제어기의 차분 업데이트 롤백 방법에 있어서, 섹터별 역차분 해제 순서를 나타내는 도면이다.
도 13은 본 발명의 바람직한 실시예에 따른 차량용 제어기의 차분 업데이트 롤백 방법에 있어서, 메모리 영역별 저장되는 데이터를 나타내는 도면이다.
1 is a diagram for explaining a system configuration for differential updating of a vehicle controller.
2 is a flowchart of a differential updating method of a vehicle controller according to a preferred embodiment of the present invention.
3 is a view for explaining a process of generating difference data in a method for updating a difference of a vehicle controller according to a preferred embodiment of the present invention.
4 is a diagram illustrating difference data generated in a method for updating a difference of a vehicle controller according to a preferred embodiment of the present invention.
5 is a diagram illustrating an example of generating difference data in a method for updating a difference of a vehicle controller according to a preferred embodiment of the present invention.
6 is a flowchart illustrating a process of generating divided difference data in a method for updating a difference of a vehicle controller according to a preferred embodiment of the present invention.
7 is a diagram illustrating movement of data according to a difference release in a method for updating a difference of a vehicle controller according to a preferred embodiment of the present invention.
8 is a diagram illustrating a difference cancellation procedure for each sector in a method for updating a difference of a vehicle controller according to a preferred embodiment of the present invention.
9 is a diagram illustrating data stored in each memory area in a method of updating a vehicle controller according to a preferred embodiment of the present invention.
10 is a flowchart of a differential update rollback method of a vehicle controller according to a preferred embodiment of the present invention.
11 is a diagram illustrating data movement according to reverse differential release in a differential update rollback method of a vehicle controller according to a preferred embodiment of the present invention.
12 is a diagram illustrating a reverse differential cancellation procedure for each sector in the differential update rollback method of the vehicle controller according to the preferred embodiment of the present invention.
13 is a diagram illustrating data stored for each memory area in the differential update rollback method of the vehicle controller according to the preferred embodiment of the present invention.

이하, 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 우선 각 도면의 구성 요소들에 참조 부호를 부가함에 있어서, 동일한 구성 요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 이하에서 본 발명의 바람직한 실시예를 설명할 것이나, 본 발명의 기술적 사상은 이에 한정하거나 제한되지 않고 당업자에 의해 변형되어 다양하게 실시될 수 있음은 물론이다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. First of all, it should be noted that in adding reference numerals to the components of each drawing, the same components are given the same reference numerals as much as possible even though they are indicated on different drawings. In addition, preferred embodiments of the present invention will be described below, but the technical spirit of the present invention is not limited thereto and may be variously implemented by those skilled in the art without being limited thereto.

도 1은 차량용 제어기의 차분 업데이트를 위한 시스템 구성을 설명하는 도면이다.1 is a diagram for explaining a system configuration for differential updating of a vehicle controller.

도 1을 참고하면, 차량용 제어기의 차분 업데이트를 위한 시스템 구성으로서, 업데이트 정보를 제공하는 서버(1)와 상기 서버(1)와 통신하여 내부에 구비된 제어기(20)의 소프트웨어 또는 정보를 업데이트하는 차량(10)을 포함한다.Referring to FIG. 1 , as a system configuration for differential updating of a vehicle controller, a server 1 providing update information and communicating with the server 1 to update software or information of a controller 20 provided therein a vehicle 10 .

서버(1)와 차량(10)은 유선 방식으로 연결될 수 있으나, OTA(over-the-air) 방식의 차분 업데이트를 위하여 무선 방식으로 연결될 수 있다.The server 1 and the vehicle 10 may be connected in a wired manner, but may be connected in a wireless manner for differential update using an over-the-air (OTA) method.

차량(10)에는 적어도 하나의 제어기(20)를 포함하고, 상기 제어기(20)는 차량의 특정 부분을 전기적으로 제어하거나, 운전자에게 특정 정보를 제공하기 위한 기능을 수행할 수 있다. 제어기(20)는, 메인 기능을 제어하는 주제어부(30), 외부와 통신을 수행하는 통신부(40), 메인 기능을 제공하는 소프트웨어 또는 정보가 저장되는 제 1 메모리(100)를 포함할 수 있다. 또한, 제어기(20)는 상기 제 1 메모리(100) 외에 추가적인 제 2 메모리(200)를 더 포함할 수 있다.The vehicle 10 includes at least one controller 20 , and the controller 20 may perform a function to electrically control a specific part of the vehicle or provide specific information to the driver. The controller 20 may include a main control unit 30 for controlling a main function, a communication unit 40 for communicating with the outside, and a first memory 100 in which software or information providing the main function is stored. . In addition, the controller 20 may further include an additional second memory 200 in addition to the first memory 100 .

일 실시예에 있어서, 상기 제 1 메모리(100)는 비활성 기억매체의 일종인 플래쉬 메모리(flash memory)일 수 있고, 제 2 메모리(200)는 RAM(random access memory)일 수 있다. 또한, 상기 제 2 메모리(200)는 SRAM(static random access memory)일 수 있다. 그러나, 본 발명의 실시에 있어서 제 1 메모리(100)와 제 2 메모리(200)가 상기한 바에 한정되지 않는다.In an embodiment, the first memory 100 may be a flash memory, which is a type of non-volatile storage medium, and the second memory 200 may be a random access memory (RAM). Also, the second memory 200 may be a static random access memory (SRAM). However, in the embodiment of the present invention, the first memory 100 and the second memory 200 are not limited to the above.

상기 제 1 메모리(100)에 저장된 소프트웨어 또는 정보를 업데이트하고자 하는 경우, 업데이트용 데이터가 서버(1)로부터 통신부(40)를 통해 주제어부(30)로 전달되고, 주제어부(30)는 해당 데이터를 이용하여 제 1 메모리(100)에 저장된 소프트웨어 또는 정보를 업데이트한다. 이 경우, 주제어부(30)는 제 1 메모리(100)의 소프트웨어 또는 정보를 업데이트함에 있어서 제 2 메모리(200)에 일부 데이터를 임시 저장하여 활용하는 것도 가능할 수 있다.When it is desired to update software or information stored in the first memory 100 , data for update is transmitted from the server 1 to the main controller 30 through the communication unit 40 , and the main controller 30 transmits the corresponding data is used to update software or information stored in the first memory 100 . In this case, when the main controller 30 updates software or information of the first memory 100 , it may be possible to temporarily store and utilize some data in the second memory 200 .

한편, 본 발명에 있어서, 차량용 제어기(20)의 업데이트는 차분 업데이트 방식으로 수행될 수 있다. 본 발명에 있어서, 차분 업데이트는 제어기(20)에 기 저장된 파일 정보와 업데이트할 파일 정보의 차이가 있는 부분, 즉 차분 데이터를 이용하여 소프트웨어 또는 정보를 업데이트하는 것을 말한다.Meanwhile, in the present invention, the update of the vehicle controller 20 may be performed using a differential update method. In the present invention, the differential update refers to updating software or information using a part having a difference between the file information pre-stored in the controller 20 and the file information to be updated, that is, difference data.

도 2는 본 발명의 바람직한 실시예에 따른 차량용 제어기의 차분 업데이트 방법의 순서도이다.2 is a flowchart of a differential updating method of a vehicle controller according to a preferred embodiment of the present invention.

도 2를 참고하면, 본 발명에 따른 차량용 제어기의 차분 업데이트 방법은, S210 단계에서 주제어부(30)는 제어기(20)에 저장된 구 버전의 소프트웨어 또는 정보와 신 버전의 소프트웨어 또는 정보를 비교하여 복수의 차분 데이터를 생성하고, 복수의 차분 데이터를 포함하는 로우 차분 데이터를 생성할 수 있다.Referring to FIG. 2 , in the differential updating method of the vehicle controller according to the present invention, in step S210 , the main controller 30 compares the old version software or information stored in the controller 20 with the new version software or information to obtain a plurality of difference data of , and raw difference data including a plurality of difference data may be generated.

S220 단계에서, 주제어부(30)는 로우 차분 데이터를 메모리 섹터 별로 분할할 수 있다. 또한, 주제어부(30)는 메모리 섹터에 오버랩되는 차분 데이터를 추가 분할할 수 있다. 주제어부(30)는 메모리 섹터 별로 분할되거나, 또는 메모리 섹터에 오버랩되어 추가 분할되는 차분 데이터를 포함하는 분할 차분 데이터를 생성할 수 있다.In operation S220 , the main controller 30 may divide the raw difference data for each memory sector. Also, the main controller 30 may additionally divide differential data overlapping the memory sector. The main controller 30 may generate divided difference data including differential data divided for each memory sector or additionally divided by overlapping the memory sectors.

S230 단계에서, 주제어부(30)는 분할 차분 데이터를 이용하여 구 버전 프로그램을 신 버전의 프로그램으로 업데이트할 수 있다.In step S230 , the main controller 30 may update the old version program to the new version program using the divided difference data.

본 발명의 바람직한 실시예에 따른 차량용 제어기의 차분 업데이트 방법은, 대용량의 메모리를 사용하지 않고, 소프트웨어 또는 정보가 저장된 제 1 메모 리(100)의 섹터에 신 버전의 소프트웨어 또는 정보를 업데이트할 수 있다.The differential updating method of the vehicle controller according to the preferred embodiment of the present invention can update a new version of software or information in a sector of the first memory 100 in which software or information is stored without using a large-capacity memory. .

섹터 구조를 갖는 플래쉬 메모리는, 읽고 쓰는 것이 자유로운 RAM과는 달리 플래쉬 메모리의 기록을 위해서는 기록을 원하는 위치의 섹터를 지운 후에야 쓰기가 가능하다는 특징을 갖는다. 플래쉬 메모리의 섹터를 지우는 방식으로는 전 섹터(total sector)를 한꺼번에 지우는 칩 이레이즈(chip erase) 방식과 섹터별로 지우는 섹터 이레이즈(sector erase) 방식이 있다. 만약, 제어기(20)의 연산 능력이 우수하고 업데이트될 신 버전의 프로그램 또는 정보를 모두 저장할 수 있는 저장 매체를 갖고 있는 경우 라면, 구 버전의 프로그램 또는 정보(이하에서는 간단히 ‘구 버전’이라는 용어를 사용할 수 있음)를 모두 삭제하고 신 버전의 프로그램 또는 정보(이하에서는 간단히 ‘신 버전’이라는 용어를 사용할 수 있음)를 업데이트하면 된다. 그러나, 앞서 설명한 바와 같이 차량용 제어기(20)의 경우 연산 능력이나 메모리를 충분히 확보하는 것은 비용이나 설계 관점에서 바람직하지 않다. 이러한 문제에 대하여 본 발명에서는, 구 버전과 신 버전을 비교하여 차분 데이터를 생성하고, 생성된 차분 데이터를 이용하여 제어기(20)를 업데이트하는 방법을 사용함으로써 효과적인 업데이트를 가능하게 한다. 한편, 이하의 설명에서, 차분 데이터를 이용하여 구 버전이 저장된 개별 섹터를 신 버전으로 업데이트하는 것을‘차분 해제’라고 칭하도록 하겠다.A flash memory having a sector structure has a characteristic that, unlike a RAM in which read/write is free, writing is possible only after erasing a sector at a desired location for writing in the flash memory. As a method of erasing sectors of the flash memory, there are a chip erase method of erasing all sectors at once and a sector erase method of erasing each sector. If the controller 20 has excellent computational power and has a storage medium capable of storing all of the program or information of the new version to be updated, the old version of the program or information (hereinafter simply referred to as 'old version') You can use it) and update the new version of the program or information (hereafter simply the term 'new version' may be used). However, as described above, in the case of the vehicle controller 20, it is not preferable from the cost or design point of view to sufficiently secure the arithmetic capability or the memory. In the present invention, effective update is possible by using a method of generating difference data by comparing the old version with the new version, and updating the controller 20 using the generated difference data. Meanwhile, in the following description, updating an individual sector in which an old version is stored to a new version using difference data will be referred to as 'differential release'.

차분 데이터의 종류 및 크기에 따라, 저장 공간을 확보하기 위해 추가적인 섹터가 필요하거나 일부 섹터는 단순히 지워지는데, 차분 해제를 위한 순서를 고려할 필요가 있다.Depending on the type and size of the difference data, additional sectors are needed to secure a storage space or some sectors are simply erased. It is necessary to consider the order for releasing the difference.

도 3은 본 발명의 바람직한 실시예에 따른 차량용 제어기의 차분 업데이트 방법에 있어서, 차분 데이터를 생성하는 과정을 설명하는 도면이고, 도 4는 본 발명의 바람직한 실시예에 따른 차량용 제어기의 차분 업데이트 방법에 있어서, 생성된 차분 데이터를 나타내는 도면이다.3 is a view for explaining a process of generating difference data in a difference updating method of a vehicle controller according to a preferred embodiment of the present invention, and FIG. 4 is a method for updating a difference of a vehicle controller according to a preferred embodiment of the present invention. In this case, it is a diagram showing the generated difference data.

도 3 및 도 4를 참고하면, 주제어부(30)는, 제 1 메모리(100)의 섹터(SA)에 저장된 구 버전의 소프트웨어 또는 정보(구 버전)와 신 버전의 소프트웨어 또는 정보(신 버전)를 비교함으로써 차분 데이터를 생성할 수 있다. 여기서, 제 1 메모리(100)는 제 1 섹터(SA1), 제 2 섹터(SA2) 및 제 3 섹터(SA3)를 비롯한 복수의 섹터(SA)가 구비된다.3 and 4 , the main control unit 30 includes an old version of software or information (old version) and a new version of software or information (new version) stored in the sector SA of the first memory 100 . By comparing , difference data can be generated. Here, the first memory 100 includes a plurality of sectors SA including a first sector SA1 , a second sector SA2 , and a third sector SA3 .

차분 데이터는 동일, 추가, 및 삭제 데이터를 포함하여 구성될 수 있다.The difference data may be comprised of identical, added, and deleted data.

‘동일’은 구 버전과 신 버전이 동일하여 구 버전 데이터를 유지하는 것을 의미한다. ‘동일’의 경우에는 구 버전이 변경되지 않으므로 구 버전 데이터의 사이즈 정보만 차분 데이터에 포함된다.‘Same’ means that the old version and the new version are the same, so that the old version data is maintained. In the case of 'same', since the old version is not changed, only the size information of the old version data is included in the difference data.

‘추가’는 구 버전에 없는 데이터가 신 버전에 있는 것을 의미한다. ‘추가’의 경우에는 새로운 데이터가 구 버전에 추가되므로 사이즈와 데이터 정보가 차분 데이터에 모두 포함된다.‘Added’ means that data that is not in the old version is in the new version. In the case of ‘addition’, new data is added to the old version, so both size and data information are included in the difference data.

‘삭제’는 구 버전에 대응하는 데이터가 신 버전에 없어 구 버전의 데이터를 삭제하는 것을 의미한다.‘삭제’의 경우에는 차분 업데이트의 롤백을 위해 사이즈와 데이터 정보가 차분 데이터에 모두 포함된다.‘Delete’ means that the data of the old version is deleted because the data corresponding to the old version does not exist in the new version. In the case of ‘Delete’, both the size and data information are included in the difference data to roll back the difference update.

도 5는 본 발명의 바람직한 실시예에 따른 차량용 제어기의 차분 업데이트 방법에 있어서, 차분 데이터를 생성하는 예시를 나타낸다.5 is a diagram illustrating an example of generating difference data in a method for updating a difference of a vehicle controller according to a preferred embodiment of the present invention.

도 5를 참고하면, 제 1 메모리(100)의 섹터의 순서대로 신 버전과 구 버전을 비교하여 생성된 로우 차분 데이터(RDD: Raw Difference Data)의 일례를 확인할 수 있다. 로우 차분 데이터(RDD)는 섹터의 순서대로 구 버전과 신 버전을 비교한 속성과 데이터를 정리한 것이다.Referring to FIG. 5 , an example of raw difference data (RDD) generated by comparing the new version and the old version in the order of sectors of the first memory 100 may be confirmed. The raw difference data RDD is an arrangement of attributes and data obtained by comparing the old version and the new version in the order of sectors.

또한, 로우 차분 데이터(RDD)가 제 1 메모리(100)의 섹터에 저장될 수 있도록 섹터 기준으로 분할된 분할 차분 데이터(DDD: Divided Difference Data)의 일례를 확인할 수 있다.Also, an example of divided difference data (DDD) divided on a sector basis so that the raw difference data RDD can be stored in a sector of the first memory 100 may be identified.

로우 차분 데이터(RDD)는‘동일’, ‘삭제’, 및 ‘추가’ 데이터를 포함하여 구성될 수 있다. ‘동일’ 데이터는 사이즈 정보만 포함된다. ‘삭제’, 및 ‘추가’ 데이터는 사이즈와 데이터 정보 모두 포함된다.The raw difference data RDD may include 'same', 'deleted', and 'additional' data. 'Same' data includes only size information. ‘Deleted’ and ‘added’ data includes both size and data information.

구 버전을 신 버전으로 업데이트함에 있어서, 로우 차분 데이터(RDD)는 분할 차분 데이터(DDD)로 재구성되는 것이 바람직하다.In updating the old version to the new version, the raw difference data RDD is preferably reconstructed into the divided difference data DDD.

도 5의 예시를 참조하여, 로우 차분 데이터(RDD)를 가공하여 분할 차분 데이터(DDD)로 재구성하는 과정을 설명한다. 본 발명에 있어서 로우 차분 데이터(RDD)는 차분 해제시 위치하게 될 데이터 섹터 위치를 기반으로 분할될 수 있다. 여기서, ‘동일’, ‘삭제’, 및 ‘추가’에 해당하는 차분 데이터가 적어도 둘 이상의 섹터에 오버랩되는 경우, 오버랩되는 차분 데이터가 섹터 기준으로 추가 분할될 수 있다.A process of processing the raw difference data RDD and reconstructing the raw difference data RDD into divided difference data DDD will be described with reference to the example of FIG. 5 . In the present invention, the raw differential data RDD may be divided based on the position of the data sector to be located when the difference is released. Here, when difference data corresponding to 'same', 'deletion', and 'addition' overlap in at least two or more sectors, the overlapping differential data may be further divided based on the sector.

일 실시예에 있어서, ‘삭제’ 데이터는 구 버전의 섹터 경계에 오버랩됨에 따라 두 개의 ‘삭제’ 데이터로 분할될 수 있다.In an embodiment, the ‘erase’ data may be divided into two ‘erase’ data as it overlaps the sector boundary of the old version.

일 실시예에 있어서, ‘추가’데이터는 신 버전의 섹터 경계에서 오버랩됨에 따라 두 개의 ‘추가’ 데이터로 분할될 수 있다.In one embodiment, the 'additional' data may be divided into two 'additional' data as they overlap at the sector boundary of the new version.

일 실시예에 있어서, ‘동일’ 데이터는 신 버전과 구 버전의 섹터 경계에서 오버랩됨에 따라 세 개의 ‘동일’데이터로 분할될 수 있다.In one embodiment, the 'same' data may be divided into three 'same' data as they overlap at the sector boundary of the new version and the old version.

한편, 로우 차분 데이터(RDD)의‘동일’ 및 ‘삭제’ 데이터가 섹터 오버랩에 따라 분할될 때 구 버전 참조 주소가 저장되고, ‘동일’ 및 ‘추가’ 데이터가 섹터 오버랩에 따라 분할될 때 신 버전 참조 주소가 저장될 수 있다. 구 버전 참조 주소는 차분 업데이트에 이용될 수 있고, 신 버전 참조 주소는 차분 업데이트의 롤백에 이용될 수 있다. 분할 차분 데이터(DDD)는 구 버전 참조 주소와 신 버전 참조 주소를 포함하는 참조 데이터를 포함할 수 있다.On the other hand, when 'same' and 'delete' data of raw differential data (RDD) are divided according to sector overlap, the old version reference address is stored, and when 'same' and 'addition' data are divided according to sector overlap, new A version reference address may be stored. The old version reference address may be used for differential update, and the new version reference address may be used for rollback of the differential update. The divided difference data DDD may include reference data including an old version reference address and a new version reference address.

또한, 분할 차분 데이터(DDD)는 적어도 둘 이상의 섹터에 오버랩되지 않게 분할된 로우 차분 데이터(RDD)의 ‘동일’, ‘추가’, ‘삭제’ 데이터를 포함하여 구성될 수 있다.In addition, the divided differential data DDD may include 'same', 'addition', and 'deletion' data of the divided row differential data RDD so that at least two sectors do not overlap each other.

또한, 분할 차분 데이터(DDD)는 구 버전 섹터 경계, 및 신 버전 섹터 경계가 순차적으로 반복 구성될 수 있다.Also, in the divided difference data DDD, an old version sector boundary and a new version sector boundary may be sequentially and repeatedly configured.

도 6은 본 발명의 바람직한 실시예에 따른 차량용 제어기의 차분 업데이트 방법에 있어서, 분할 차분 데이터를 생성하는 과정을 설명하는 순서도이다.6 is a flowchart illustrating a process of generating divided difference data in a method for updating a difference of a vehicle controller according to a preferred embodiment of the present invention.

도 6을 참고하면 분할 차분 데이터(DDD)의 생성 방법은, 로우 차분 데이터(RDD)를 섹터 순으로 순차적으로 로드하여 구 버전과 신 버전의 시작섹터 주소를 검출하고, 신 버전의 시작섹터 주소에 맞춰 섹터 위치를 계산하여 로우 차분 데이터(RDD)를 해당 섹터에 입력한다. 이때, ‘동일’, ‘삭제’, 및 ‘추가’ 데이터는 신 버전의 주소값을 변화시키기 때문에, 데이터가 상이한 섹터에 오버랩될 수 있다. 오버랩되는 데이터는 해당 섹터 사이즈에 맞춰 분리되어 각 섹터에 저장된다. 구 버전의 주소값을 계산하는 것은 섹터가 천이될 때, 구 버전의 주소를 저장하기 위함이다. 구 버전의 주소값은 섹터 별 차분 해제 시 구 버전의 참조 위치로 쓰기 위해 도출된다.Referring to FIG. 6 , in the method of generating the divided differential data (DDD), the start sector addresses of the old version and the new version are detected by sequentially loading the raw differential data (RDD) in sector order, and the start sector address of the new version is The sector position is calculated in alignment and the raw differential data RDD is input to the corresponding sector. At this time, since the 'same', 'delete', and 'addition' data change the address value of the new version, data may overlap in different sectors. The overlapping data is separated according to the sector size and stored in each sector. The calculation of the old version address value is to store the old version address when the sector is transitioned. The address value of the old version is derived to be used as a reference location for the old version when the sector-by-sector differential is released.

도 6을 참고하여, 분할 차분 데이터(DDD)를 생성하는 과정을 구체적으로 설명하면, 먼저 S601 단계에서, 구 버전과 신 버전의 비교 결과로 로우 차분 데이터(RDD)가 생성되면, 메모리에 섹터 경계를 설정한다. 이때 구 버전의 주소값을 기초로 메모리에 구 버전 시작섹터가 설정된다. 또한, 구 버전의 주소값과 사이즈를 기초로 메모리에 구 버전 종료섹터가 설정된다. 또한, 구 버전의 주소값을 기초로 메모리에 신 버전 시작섹터가 설정된다. 또한, 구 버전의 주소값과 사이즈를 기초로 메모리에 신 버전 시작섹터가 설정된다.The process of generating the divided difference data DDD will be described in detail with reference to FIG. 6 . First, in step S601 , when the raw difference data RDD is generated as a result of comparing the old version and the new version, the sector boundary in the memory to set At this time, the old version start sector is set in the memory based on the address value of the old version. In addition, an old version end sector is set in the memory based on the address value and size of the old version. Also, a new version start sector is set in the memory based on the address value of the old version. In addition, a new version start sector is set in the memory based on the address value and size of the old version.

S603 단계에서, 구 버전 시작섹터와 신 버전 시작섹터를 비교하여 차이가 있는지를 판단한다. 또한 구 버전 종료섹터와 신 버전 종료섹터를 비교하여 차이가 있는지를 판단한다. 여기서, 구 버전 시작섹터와 신 버전 시작섹터가 다르거나, 또는 구 버전 종료섹터와 신 버전 종료섹터가 다른 경우 S605 단계가 수행될 수 있다. 또한, 구 버전 시작섹터와 신 버전 시작섹터가 같고, 구 버전 시작섹터와 신 버전 시작섹터가 같은 경우, S611 단계가 수행될 수 있다.In step S603, it is determined whether there is a difference by comparing the old version start sector and the new version start sector. In addition, it is determined whether there is a difference by comparing the old version ending sector and the new version ending sector. Here, when the old version start sector and the new version start sector are different, or the old version end sector and the new version end sector are different, step S605 may be performed. Also, when the old version start sector and the new version start sector are the same, and the old version start sector and the new version start sector are the same, step S611 may be performed.

S605 단계에서, 구 버전과 신 버전 각각의 시작섹터부터 종료섹터까지 섹터 경계에 맞춰 로우 차분 데이터(RDD)의 사이즈 및 데이터 정보를 구분한다.In step S605, the size and data information of the row difference data RDD are divided according to the sector boundary from the start sector to the end sector of each of the old version and the new version.

S607 단계에서, 로우 차분 데이터(RDD)의 어느 한 종류의 데이터가 신 버전 경계에서 분할되는 경우, 섹터별 분할 차분 데이터(DDD)의 부가 정보(참조 데이터)에 구 버전 주소 정보(구 버전 참조주소)를 저장한다. 여기서, 구 버전 주소 정보는 차분 해제 시(차분 업데이트 시) 구 버전 참조 위치로 활용된다. 또한, 로우 차분 데이터(RDD)의 어느 한 종류의 데이터가 구 버전 경계에서 분할되는 경우, 섹터별 분할 차분 데이터(DDD)의 부가 정보(참조 데이터)에 신 버전 주소 정보(신 버전 참조주소)를 저장한다. 여기서, 신 버전 주소 정보는 역차분 해제시(차분 업데이트 롤백 시) 신 버전 참조 위치로 활용된다.In step S607, when any one type of data of the raw differential data RDD is divided at the new version boundary, the old version address information (old version reference address) is added to the additional information (reference data) of the divided differential data for each sector DDD. ) is saved. Here, the old version address information is used as the old version reference location when the difference is released (when the difference is updated). In addition, when any one type of data of the raw difference data RDD is divided at the old version boundary, the new version address information (new version reference address) is added to the additional information (reference data) of the divided difference data DDD for each sector. Save. Here, the new version address information is used as a new version reference location when the reverse difference is released (when the differential update is rolled back).

S609 단계에서, 로우 차분 데이터(RDD)의 섹터 별로 분할되는 데이터와, 하나의 섹터에 오버랩되어 추가 분할된 데이터를 메모리의 섹터 별 차분 데이터 영역에 저장하여 분할 차분 데이터(DDD)를 생성한다.In step S609 , the data divided for each sector of the raw differential data RDD and the data divided by overlapping one sector are stored in the differential data area for each sector of the memory to generate the divided differential data DDD.

한편, S603 단계 이후 S611 단계에서, 로우 차분 데이터(RDD)의 섹터 별로 분할되는 차분 데이터를 메모리의 시작섹터부터 추가하여 분할 차분 데이터(DDD)를 생성한다.Meanwhile, after step S603, in step S611, the divided difference data DDD is generated by adding the difference data divided for each sector of the row difference data RDD from the start sector of the memory.

S609 단계 또는 S611 단계 이후, S613 단계에서, 섹터 순서로 분할 차분 데이터(DDD)의 데이터 종류를 판단한다.After step S609 or step S611, in step S613, the data type of the divided differential data DDD is determined in the order of sectors.

S615 단계에서, 데이터 종류가 ‘동일’인 경우, 분할 차분 데이터(DDD)의 구 버전 참조 주소에 구 버전 주소와 사이즈 정보가 포함되고, 신 버전 참조 주소에 신 버전 주소와 사이즈 정보가 포함된다.In step S615, when the data type is 'same', the old version address and size information are included in the old version reference address of the divided difference data (DDD), and the new version address and size information are included in the new version reference address.

S617 단계에서, 데이터 종류가 ‘추가’ 인 경우, 분할 차분 데이터(DDD)의 신 버전 참조 주소에 신 버전 주소와 사이즈 정보가 포함된다.In step S617, when the data type is 'addition', the new version address and size information are included in the new version reference address of the divided difference data (DDD).

S619 단계에서, 데이터 종류가 ‘삭제’인 경우, 분할 차분 데이터(DDD)의 구 버전 참조 주소에 구 버전 주소와 사이즈 정보가 포함된다.In step S619, when the data type is 'delete', the old version address and size information are included in the old version reference address of the divided difference data (DDD).

S615 단계, S617 단계, 및 S619 단계 이후에, S621 단계에서, 분할 차분 데이터(DDD)의 생성이 완료 되었는지를 판단한다. 분할 차분 데이터(DDD)의 생성이 완료되지 않은 경우, S601 단계로 돌아가서 이후 단계가 재 수행될 수 있다.After steps S615, S617, and S619, in step S621, it is determined whether generation of the divided difference data DDD is completed. When generation of the divided difference data DDD is not completed, the process returns to step S601 and subsequent steps may be re-performed.

도 7은 본 발명의 바람직한 실시예에 따른 차량용 제어기의 차분 업데이트 방법에 있어서, 차분 해제에 따른 데이터의 이동을 나타내는 도면이다.7 is a diagram illustrating movement of data according to a difference release in a method for updating a difference of a vehicle controller according to a preferred embodiment of the present invention.

도 7을 참고하면, 분할 차분 데이터(DDD)의 차분 해제시, 차분 데이터 L이 차분 데이터 L’의 위치로 이동하는 데이터 이동이 발생할 수 있다.Referring to FIG. 7 , when the difference of the divided difference data DDD is released, data movement may occur in which the difference data L moves to the position of the difference data L′.

또한, 차분 데이터 M이 차분 데이터 M’의 위치로 이동하는 데이터 이동이 발생할 수 있다.In addition, data movement in which the difference data M moves to the position of the difference data M' may occur.

또한, 차분 데이터 N이 차분 데이터 N’의 위치로 이동하는 데이터 이동이 발생할 수 있다.Also, data movement in which the difference data N moves to the position of the difference data N' may occur.

도 8은 본 발명의 바람직한 실시예에 따른 차량용 제어기의 차분 업데이트 방법에 있어서, 섹터별 차분 해제 순서를 나타내는 도면이다.8 is a diagram illustrating a difference cancellation procedure for each sector in a method for updating a difference of a vehicle controller according to a preferred embodiment of the present invention.

도 8을 참고하면, 차량용 제어기의 차분 업데이트를 위한 섹터별 차분 해제 순서를 확인할 수 있다. 분할 차분 데이터(DDD)의 생성시, 로우 차분 데이터(RDD)의 ‘동일’, ‘추가’, 또는 ‘삭제’ 데이터에 의해 섹터 간 데이터 이동이 이루질 수 있다. 예를 들어, 섹터 2에서 섹터 1, 섹터 3, 및 섹터 4로 차분 데이터가 이동할 수 있고, 섹터 7에서 섹터 6으로 차분 데이터가 이동할 수 있다. 또한, 섹터 3에서 섹터 4, 섹터 5, 및 섹터 6으로 차분 데이터가 이동할 수 있다. 여기서, 섹터 1에서 섹터 2로 차분 데이터의 이동이 불가능하고, 섹터 7에서 섹터 3으로 차분 데이터의 이동이 불가능하다.Referring to FIG. 8 , it is possible to confirm a difference release order for each sector for differential update of the vehicle controller. When the divided difference data DDD is generated, data movement may be performed between sectors by 'same', 'addition', or 'deletion' data of the raw difference data RDD. For example, differential data may move from sector 2 to sector 1, sector 3, and sector 4, and differential data may move from sector 7 to sector 6. Also, differential data may be moved from sector 3 to sector 4, sector 5, and sector 6. Here, the movement of differential data from sector 1 to sector 2 is impossible, and movement of differential data from sector 7 to sector 3 is impossible.

차분 데이터를 내보내는 섹터를 낮은 우선순위로 정하고, 차분 데이터를 수신하는 섹터를 높은 우선순위로 정함으로써 차분 해제 순서가 설정될 수 있다.The difference cancellation order can be set by setting a sector that emits difference data as a low priority and a sector that receives difference data as a high priority.

일 실시예에 있어서, 섹터 2와 섹터 7은 차분 데이터를 내보내는 섹터로서, 가장 낮은 우선순위가 설정될 수 있다. 섹터 1과 섹터 3은 차분 데이터를 수신하는 섹터로서, 섹터 2와 섹터 7보다 높은 우선순위가 설정될 수 있다. 한편, 섹터 3은 차분 데이터를 내보내는 섹터로서, 섹터 1보다 낮은 우선순위가 설정될 수 있다. 섹터4, 섹터 5와 섹터 6은 차분 데이터를 수신하는 섹터로서, 가장 높은 우선순위가 설정될 수 있다.In an embodiment, sector 2 and sector 7 are sectors that emit differential data, and the lowest priority may be set. Sectors 1 and 3 are sectors for receiving differential data, and higher priority than sectors 2 and 7 may be set. Meanwhile, sector 3 is a sector that emits difference data, and a lower priority than sector 1 may be set. Sector 4, sector 5, and sector 6 are sectors that receive differential data, and the highest priority may be set.

위와 같이 차분 데이터의 이동과 반대로 차분 해제가 수행되면, 차분 데이터의 유실없이 모든 섹터의 차분 해제가 가능해 진다. 여기서, 동일 수직 선상의 섹터는 순서와 무관하다. 본 발명의 차량용 제어기의 차분 업데이트 방법은, 차분 해제 순서에 따라 분할 차분 데이터(DDD)의 차분 해제가 이루어질 수 있다. 또한 본 발명의 차량용 제어기의 차분 업데이트 방법은, 참조하는 다른 섹터의 데이터를 보존하고, 별도의 대용량 메모리없이 분할 차분 데이터(DDD)의 차분 해제가 가능한 것을 특징으로 한다.If the difference cancellation is performed opposite to the movement of the difference data as described above, the difference cancellation of all sectors is possible without loss of the difference data. Here, the sectors on the same vertical line are irrespective of the order. In the differential updating method of the vehicle controller according to the present invention, differential cancellation of the divided differential data DDD may be performed according to a differential cancellation order. In addition, the differential updating method of the vehicle controller according to the present invention is characterized in that it is possible to release the difference of the divided differential data (DDD) without storing data of other sectors referred to and without a separate large-capacity memory.

도 9는 본 발명의 바람직한 실시예에 따른 차량용 제어기의 업데이트 방법에 있어서, 메모리 영역별 저장되는 데이터를 나타내는 도면이다.9 is a diagram illustrating data stored in each memory area in a method of updating a vehicle controller according to a preferred embodiment of the present invention.

도 9를 참고하면, 본 발명의 바람직한 실시예에 따른 차량용 제어기의 차분 업데이트 방법에 따르면, 플래쉬 메모리 영역에 원본(구 버전) 데이터와 차분 데이터가 저장되고, 별도의 플래쉬 메모리 또는 SRAM 영역에 차분 해제 버퍼(분할 차분 데이터)가 저장될 수 있다. 이는 롬데이터보다 2배 이상의 플래쉬 메모리 영역이 필요하지 않고, 임시 저장 버퍼가 필요하지도 않는 것을 보여준다. 또한, 플래쉬 메모리에 차분 해제 버퍼를 구성하더라도, 종래보다 상대적으로 작은 메모리를 필요로 하기 때문에 SRAM을 이용할 수 있으며, 이때 차분 해제 속도가 가장 빠르게 된다.Referring to FIG. 9 , according to the differential updating method of the vehicle controller according to the preferred embodiment of the present invention, original (old version) data and difference data are stored in a flash memory area, and the difference is released in a separate flash memory or SRAM area. A buffer (divided difference data) may be stored. This shows that a flash memory area twice as large as ROM data is not required, and a temporary storage buffer is not required. In addition, even if the difference cancellation buffer is configured in the flash memory, the SRAM can be used because it requires a relatively smaller memory than in the prior art, and in this case, the difference cancellation speed is the fastest.

한편, 차량 제어기의 차분 업데이트가 완료된 이후에 별도의 이벤트 발생으로 인해 업데이트의 롤백이 요구되는 상황이 있다. 이하에서는, 이러한 상황에 대응하기 위한 차량용 제어기의 차분 업데이트 롤백 방법에 대해 설명한다.On the other hand, there is a situation in which the rollback of the update is required due to the occurrence of a separate event after the differential update of the vehicle controller is completed. Hereinafter, a differential update rollback method of a vehicle controller in response to such a situation will be described.

도 10은 본 발명의 바람직한 실시예에 따른 차량용 제어기의 차분 업데이트 롤백 방법의 순서도이다.10 is a flowchart of a differential update rollback method of a vehicle controller according to a preferred embodiment of the present invention.

도 10을 참고하면, 본 발명의 바람직한 실시예에 따른 차량용 제어기의 차분 업데이트 롤백 방법은, 차분 업데이트 완료된 차량 제어기의 롤백이 요구되는 경우, 구 버전의 데이터를 재 다운로드하지 않고, 미리 마련된 분할 차분 데이터를 이용하여 차량 제어기의 차분 업데이트를 롤백하는 것을 특징으로 한다.Referring to FIG. 10 , in the differential update rollback method of the vehicle controller according to the preferred embodiment of the present invention, when rollback of the vehicle controller that has been differentially updated is requested, the divided difference data prepared in advance without re-downloading the old version data It is characterized in that the differential update of the vehicle controller is rolled back using

S1110 단계에서, 주제어부(30)는 차량용 제어기의 차분 업데이트 완료시, 업데이트 완료된 차량 제어기의 롤백이 요구되는지를 판단할 수 있다. 일 실시예에 있어서, 차량 제어기에 매칭되는 신 버전을 OTA를 통해 업데이트하는 경우, 일부 차량 제어기에서 업데이트 불량이 발생할 수 있다. 이때, 주제어부(30)는 차량 제어기의 롤백이 요구되는 것으로 판단할 수 있다.In operation S1110 , when the differential update of the vehicle controller is completed, the main controller 30 may determine whether rollback of the updated vehicle controller is required. In an embodiment, when a new version matching the vehicle controller is updated through OTA, an update failure may occur in some vehicle controllers. In this case, the main controller 30 may determine that the rollback of the vehicle controller is required.

S1120 단계에서, 주제어부(30)는 차량 제어기의 롤백이 요구되는 경우, 미리 마련된 분할 차분 데이터를 이용하여 신 버전을 구 버전으로 롤백할 수 있다. 이하, 분할 차분 데이터를 이용하여 신 버전을 구 버전으로 롤백하는 것을 역차분 해제로 정의한다.In operation S1120 , when a rollback of the vehicle controller is required, the main controller 30 may rollback the new version to the old version using pre-prepared divided difference data. Hereinafter, the rollback of the new version to the old version using the divided difference data is defined as inverse difference cancellation.

주제어부(30)는 역차분 해제시, 미리 마련된 섹터별 차분 해제 순서와 역방향의 역차분 해제 순서에 따라 신 버전을 구 버전으로 롤백할 수 있다.The main controller 30 may roll back the new version to the old version according to a pre-prepared order for releasing difference for each sector and a reverse order for releasing reverse difference when releasing the reverse difference.

또한, 주제어부(30)는 역차분 해제시, ‘삭제’ 데이터의 데이터 정보를 신 버전에 추가할 수 있다. 또한, 주제어부(30)는 역차분 해제시, ‘추가’ 데이터의 데이터 정보를 신 버전으로부터 삭제할 수 있다.In addition, the main controller 30 may add data information of the 'delete' data to the new version when the reverse difference is released. In addition, the main controller 30 may delete data information of the 'additional' data from the new version when the reverse difference is released.

도 11은 본 발명의 바람직한 실시예에 따른 차량용 제어기의 차분 업데이트 롤백 방법에 있어서, 역차분 해제에 따른 데이터의 이동을 나타내는 도면이다.11 is a diagram illustrating data movement according to reverse differential release in a differential update rollback method of a vehicle controller according to a preferred embodiment of the present invention.

도 11을 참고하면, 분할 차분 데이터(DDD)의 역차분 해제시, 차분 데이터 L’이 차분 데이터 L의 위치로 이동하는 데이터 이동이 발생할 수 있다.Referring to FIG. 11 , when the inverse difference of the divided difference data DDD is released, data movement in which the difference data L′ moves to the position of the difference data L may occur.

또한, 차분 데이터 M’이 차분 데이터 M의 위치로 이동하는 데이터 이동이 발생할 수 있다.In addition, data movement in which the difference data M' moves to the position of the difference data M may occur.

또한, 차분 데이터 N’이 차분 데이터 N의 위치로 이동하는 데이터 이동이 발생할 수 있다.Also, data movement in which the difference data N' moves to the position of the difference data N may occur.

도 12는 본 발명의 바람직한 실시예에 따른 차량용 제어기의 차분 업데이트 롤백 방법에 있어서, 섹터별 역차분 해제 순서를 나타내는 도면이다.12 is a diagram illustrating a reverse differential cancellation procedure for each sector in the differential update rollback method of the vehicle controller according to the preferred embodiment of the present invention.

도 12을 참고하면, 차량용 제어기의 차분 업데이트의 롤백을 위한 섹터별 역차분 해제 순서를 확인할 수 있다. 분할 차분 데이터(DDD)의 차분 해제시, 분할 차분 데이터(DDD)의 ‘동일’, ‘추가’, 또는 ‘삭제’ 데이터에 의해 섹터 간 데이터 이동이 이루질 수 있다. 예를 들어, 섹터 4에서 섹터 2, 및 섹터 3으로 차분 데이터가 이동할 수 있고, 섹터 5에서 섹터 3으로 차분 데이터가 이동할 수 있다. 또한, 섹터 6에서 섹터 3, 및 섹터 7로 차분 데이터가 이동할 수 있다. 또한, 섹터 1에서 섹터 2로 차분 데이터가 이동할 수 있고, 섹터 3에서 섹터 2로 차분 데이터가 이동할 수 있다.Referring to FIG. 12 , it is possible to confirm the reverse difference cancellation order for each sector for rollback of the differential update of the vehicle controller. When the difference of the divided difference data DDD is released, data movement between sectors may be performed by the 'same', 'addition', or 'deletion' data of the divided difference data DDD. For example, differential data may be moved from sector 4 to sector 2 and sector 3, and differential data may be moved from sector 5 to sector 3. Also, differential data may be moved from sector 6 to sector 3 and sector 7 . Also, differential data may be moved from sector 1 to sector 2, and differential data may be moved from sector 3 to sector 2.

차분 데이터를 내보내는 섹터를 낮은 우선순위로 정하고, 차분 데이터를 수신하는 섹터를 높은 우선순위로 정함으로써 역차분 해제 순서가 설정될 수 있다.The reverse difference cancellation order may be set by setting a sector that emits difference data as a low priority and a sector that receives difference data as a high priority.

일 실시예에 있어서, 섹터 1, 섹터 4, 섹터5, 및 섹터 6은 차분 데이터를 내보내는 섹터로서, 가장 낮은 우선순위가 설정될 수 있다. 섹터 3은 차분 데이터를 내보내는 섹터로서, 섹터 1보다 낮은 우선순위가 설정될 수 있다. 섹터2와 섹터 7은 차분 데이터를 수신하는 섹터로서, 가장 높은 우선순위가 설정될 수 있다.In an embodiment, sector 1, sector 4, sector 5, and sector 6 are sectors that emit differential data, and the lowest priority may be set. Sector 3 is a sector that emits differential data, and a lower priority than sector 1 may be set. Sector 2 and sector 7 are sectors that receive differential data, and the highest priority may be set.

위와 같이 차분 해제 순서와 반대로 역차분 해제가 수행되면, 역차분 데이터의 유실없이 모든 섹터의 역차분 해제가 가능해 진다. 여기서, 동일 수직 선상의 섹터는 순서와 무관하다. 본 발명의 차량용 제어기의 차분 업데이트 롤백 방법은, 역차분 해제 순서에 따라 분할 차분 데이터(DDD)의 역차분 해제가 이루어질 수 있다. 또한 본 발명의 차량용 제어기의 차분 업데이트 방법은, 참조하는 다른 섹터의 데이터를 보존하고, 별도의 대용량 메모리없이 분할 차분 데이터(DDD)의 역차분 해제가 가능한 것을 특징으로 한다.As described above, if reverse difference cancellation is performed in the opposite direction to the difference cancellation order, reverse difference cancellation of all sectors is possible without loss of reverse difference data. Here, the sectors on the same vertical line are irrespective of the order. In the differential update rollback method of the vehicle controller according to the present invention, the reverse difference release of the divided difference data DDD may be performed according to the reverse difference release order. In addition, the differential updating method of the vehicle controller according to the present invention is characterized in that data of other sectors referenced is preserved and reverse differential cancellation of divided differential data (DDD) is possible without a separate large-capacity memory.

도 13은 본 발명의 바람직한 실시예에 따른 차량용 제어기의 차분 업데이트 롤백 방법에 있어서, 메모리 영역별 저장되는 데이터를 나타내는 도면이다.13 is a diagram illustrating data stored for each memory area in a method for rolling back a differential update of a vehicle controller according to a preferred embodiment of the present invention.

도 13을 참고하면, 본 발명의 바람직한 실시예에 따른 차량용 제어기의 차분 업데이트 롤백 방법에 따르면, 플래쉬 메모리 영역에 원본(신 버전) 데이터와 역차분 데이터가 저장되고, 별도의 플래쉬 메모리 또는 SRAM 영역에 차분 해제 버퍼(분할 차분 데이터)가 저장될 수 있다. 이는 차분 업데이트의 롤백이 요구되는 상황에서, 구 버전의 재 다운로드가 필요 없음을 보여준다.Referring to FIG. 13 , according to the differential update rollback method of the vehicle controller according to the preferred embodiment of the present invention, original (new version) data and reverse differential data are stored in a flash memory area, and in a separate flash memory or SRAM area. A difference cancellation buffer (divided difference data) may be stored. This shows that there is no need to re-download the old version in a situation where a rollback of differential update is required.

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위 내에서 다양한 수정, 변경 및 치환이 가능할 것이다. 따라서, 본 발명에 개시된 실시예 및 첨부된 도면들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예 및 첨부된 도면에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다.The above description is merely illustrative of the technical idea of the present invention, and those of ordinary skill in the art to which the present invention pertains may make various modifications, changes and substitutions within the scope without departing from the essential characteristics of the present invention. will be. Accordingly, the embodiments disclosed in the present invention and the accompanying drawings are for explaining, not limiting, the technical spirit of the present invention, and the scope of the technical spirit of the present invention is not limited by these embodiments and the accompanying drawings .

본 발명에 따른 단계들 및/또는 동작들은 기술분야의 통상의 기술자에 의해 이해될 수 있는 것과 같이, 다른 순서로, 또는 병렬적으로, 또는 다른 에포크(epoch) 등을 위해 다른 실시 예들에서 동시에 일어날 수 있다.Steps and/or operations according to the present invention may occur concurrently in different embodiments, either in a different order, or in parallel, or for different epochs, etc., as would be understood by one of ordinary skill in the art. can

실시 예에 따라서는, 단계들 및/또는 동작들의 일부 또는 전부는 하나 이상의 비-일시적 컴퓨터-판독가능 매체에 저장된 명령, 프로그램, 상호작용 데이터 구조(interactive data structure), 클라이언트 및/또는 서버를 구동하는 하나 이상의 프로세서들을 사용하여 적어도 일부가 구현되거나 또는 수행될 수 있다. 하나 이상의 비-일시적 컴퓨터-판독가능 매체는 예시적으로 소프트웨어, 펌웨어, 하드웨어, 및/또는 그것들의 어떠한 조합일 수 있다. 또한, 본 명세서에서 논의된 "모듈"의 기능은 소프트웨어, 펌웨어, 하드웨어, 및/또는 그것들의 어떠한 조합으로 구현될 수 있다.Depending on the embodiment, some or all of the steps and/or operations run instructions, a program, an interactive data structure, a client and/or a server stored in one or more non-transitory computer-readable media. At least some may be implemented or performed using one or more processors. The one or more non-transitory computer-readable media may be illustratively software, firmware, hardware, and/or any combination thereof. Further, the functionality of a “module” discussed herein may be implemented in software, firmware, hardware, and/or any combination thereof.

1: 서버
10: 차량
20: 제어기
30: 주제어부
40: 통신부
100: 제1 메모리
200: 제2 메모리
1: Server
10: vehicle
20: controller
30: main fisherman
40: communication department
100: first memory
200: second memory

Claims (16)

구 버전과 신 버전의 데이터를 비교하고, 비교 결과로서 적어도 셋의 서로 다른 종류의 차분 데이터를 포함하는 로우 차분 데이터를 생성하는 단계;
상기 로우 차분 데이터를 메모리 섹터 별로 분할하되, 적어도 둘 이상의 상기 메모리 섹터에 오버랩되는 어느 한 종류의 차분 데이터가 존재하는 경우, 상기 오버랩되는 상기 차분 데이터를 추가 분할하여 분할 차분 데이터를 생성하는 단계; 및
상기 분할 차분 데이터를 이용하여 상기 구 버전을 상기 신 버전으로 업데이트하는 단계;
를 포함하는 차량용 제어기의 차분 업데이트 방법.
comparing the data of the old version and the new version, and generating raw difference data including at least three different types of difference data as a result of the comparison;
dividing the raw difference data for each memory sector, and generating divided difference data by further dividing the overlapping difference data when there is one type of overlapping differential data in at least two or more of the memory sectors; and
updating the old version to the new version using the divided difference data;
A differential update method of a vehicle controller comprising a.
제 1 항에 있어서,
상기 적어도 셋의 서로 다른 종류의 데이터는,
상기 구 버전과 상기 신 버전의 사이즈 정보가 포함되는 동일 데이터, 상기 신 버전의 사이즈 정보와 상기 신 버전의 데이터 정보가 포함되는 추가 데이터, 및 상기 구 버전의 사이즈 정보와 상기 구 버전의 데이터 정보가 포함되는 삭제 데이터를 포함하는 것을 특징으로 하는 차량용 제어기의 차분 업데이트 방법.
The method of claim 1,
The at least three different types of data include:
The same data including the size information of the old version and the new version, additional data including the size information of the new version and data information of the new version, and the size information of the old version and data information of the old version A differential update method of a vehicle controller, characterized in that it includes the included deleted data.
제 1 항에 있어서,
상기 분할 차분 데이터를 생성하는 단계는,
상기 로우 차분 데이터를 섹터 순으로 순차적으로 로드하는 단계,
로드된 상기 로우 차분 데이터의 구 버전 주소와 신 버전 주소를 계산하는 단계, 및
로드된 상기 로우 차분 데이터를 상기 구 버전 주소와 상기 신 버전 주소에 해당하는 메모리 섹터에 이동하는 단계를 포함하는 것을 특징으로 하는 차량용 제어기의 차분 업데이트 방법.
The method of claim 1,
The generating of the divided difference data includes:
sequentially loading the row differential data in sector order;
calculating old version addresses and new version addresses of the loaded raw difference data; and
and moving the loaded raw difference data to memory sectors corresponding to the old version address and the new version address.
제 3 항에 있어서,
상기 분할 차분 데이터를 생성하는 단계는,
상기 메모리 섹터에 이동되는 차분 데이터가 구 버전 주소 또는 신 버전 주소에 해당하는 메모리의 섹터 경계에서 분할되는 경우, 구 버전의 섹터 주소를 구 버전의 참조 위치로 정하고, 신 버전의 섹터 주소를 신 버전의 참조 위치로 정하는 단계를 포함하는 것을 특징으로 하는 차량용 제어기의 차분 업데이트 방법.
4. The method of claim 3,
The generating of the divided difference data includes:
When the differential data moved to the memory sector is divided at the sector boundary of the memory corresponding to the old version address or the new version address, the sector address of the old version is set as a reference location of the old version, and the sector address of the new version is set as the reference position of the new version. A differential updating method of a vehicle controller, comprising the step of determining as a reference position of .
제 3 항에 있어서,
상기 분할 차분 데이터를 생성하는 단계는,
상기 분할 차분 데이터의 생성에 따라 상기 메모리 섹터에 이동되는 데이터 이동을 고려하여, 상기 데이터 이동의 역순으로 섹터별 차분 해제 순서를 정하는 단계를 포함하는 것을 특징으로 하는 차량용 제어기의 차분 업데이트 방법.
4. The method of claim 3,
The generating of the divided difference data includes:
and determining a difference cancellation order for each sector in a reverse order of the data movement in consideration of data movement to the memory sector according to the generation of the divided difference data.
제 5 항에 있어서,
상기 분할 차분 데이터를 생성하는 단계는,
상기 차분 해제 순서와 상기 구 버전과 상기 신 버전의 참조 위치를 상기 분할 차분 데이터에 포함시키는 단계를 포함하는 것을 특징으로 하는 차량용 제어기의 차분 업데이트 방법.
6. The method of claim 5,
The generating of the divided difference data includes:
and including the difference canceling order and reference positions of the old version and the new version in the divided difference data.
제 5 항에 있어서,
상기 분할 차분 데이터를 생성하는 단계는,
상기 차분 데이터의 종류가 ‘동일’인 경우, 구 버전 주소와 사이즈 정보를 상기 구 버전 참조 위치에 저장하고, 신 버전 주소와 사이즈 정보를 상기 신 버전 참조 위치에 저장하고,상기 차분 데이터의 종류가 ‘추가’ 인 경우, 신 버전 주소와 사이즈 정보를 상기 신 버전 참조 위치에 저장하며,상기 차분 데이터의 종류가 ‘삭제’인 경우, 구 버전 주소와 사이즈 정보를 상기 구 버전 참조 위치에 저장하는 것을 특징으로 하는 차량용 제어기의 차분 업데이트 방법.
6. The method of claim 5,
The generating of the divided difference data includes:
When the type of the difference data is 'same', the old version address and size information are stored in the old version reference location, the new version address and size information are stored in the new version reference location, and the type of the difference data is In the case of 'addition', the new version address and size information are stored in the new version reference position, and when the type of difference data is 'delete', the old version address and size information are stored in the old version reference position. A differential update method of a vehicle controller, characterized in that
제 1 항에 있어서,
상기 분할 차분 데이터는,
상기 구 버전 및 상기 로우 차분 데이터가 저장되는 메모리 장치와 다른 메모리 장치에 저장되는 것을 특징으로 하는 차량용 제어기의 차분 업데이트 방법.
The method of claim 1,
The divided difference data is
The differential updating method of the vehicle controller, characterized in that the old version and the raw difference data are stored in a different memory device from that in which the data is stored.
제 5 항에 있어서,
상기 신 버전으로 업데이트하는 단계는,
상기 차분 해제 순서를 고려하여 상기 분할 차분 데이터를 차분 해제하여 상기 구 버전을 상기 신 버전으로 업데이트하는 것을 특징으로 하는 차량용 제어기의 차분 업데이트 방법.
6. The method of claim 5,
The step of updating to the new version is,
and updating the old version to the new version by canceling the divided difference data in consideration of the difference cancellation order.
구 버전에서 신 버전으로 차분 업데이트된 차량용 제어기의 차분 업데이트 롤백 방법에 있어서,
상기 차량용 제어기의 상기 신 버전에 대한 롤백이 요구되는 경우, 상기 차분 업데이트에 이용된 분할 차분 데이터를 이용하여 상기 신 버전을 상기 구 버전으로 롤백하는 단계;
를 포함하는 차량용 제어기의 차분 업데이트 롤백 방법.
In the differential update rollback method of a vehicle controller differentially updated from the old version to the new version,
when rollback of the new version of the vehicle controller is requested, rolling back the new version to the old version by using the divided difference data used for the difference update;
A differential update rollback method of a vehicle controller comprising a.
제 10 항에 있어서,
상기 분할 차분 데이터는,
상기 구 버전과 상기 신 버전의 데이터를 비교하고, 비교 결과로서 적어도 셋의 서로 다른 종류의 차분 데이터를 포함하는 로우 차분 데이터로부터 마련되는 것을 특징으로 하는 차량용 제어기의 차분 업데이트 롤백 방법.
11. The method of claim 10,
The divided difference data is
and comparing data of the old version and the new version, and preparing from raw difference data including at least three different types of difference data as a comparison result.
제 11 항에 있어서,
상기 분할 차분 데이터는,
메모리 섹터 별로 분할된 상기 로우 차분 데이터의 차분 데이터와, 적어도 둘 이상의 상기 메모리 섹터에 오버랩되어 추가 분할된 상기 로우 차분 데이터의 차분 데이터를 포함하여 구성되는 것을 특징으로 하는 차량용 제어기의 차분 업데이트 롤백 방법.
12. The method of claim 11,
The divided difference data is
The differential update rollback method of a vehicle controller, characterized in that it comprises differential data of the row differential data divided for each memory sector and differential data of the row differential data that is further divided by overlapping at least two or more of the memory sectors.
제 12 항에 있어서,
상기 분할 차분 데이터는, 적어도 셋의 서로 다른 종류의 데이터를 포함하여 구성되고,
상기 적어도 셋의 서로 다른 종류의 데이터는, 상기 구 버전과 상기 신 버전의 사이즈 정보가 포함되는 동일 데이터, 상기 신 버전의 사이즈 정보와 상기 신 버전의 데이터 정보가 포함되는 추가 데이터, 및 상기 구 버전의 사이즈 정보와 상기 구 버전의 데이터 정보가 포함되는 삭제 데이터를 포함하는 것을 특징으로 하는 차량용 제어기의 차분 업데이트 롤백 방법.
13. The method of claim 12,
The divided difference data includes at least three different types of data,
The at least three different types of data include the same data including size information of the old version and the new version, additional data including size information of the new version and data information of the new version, and the old version The differential update rollback method of the vehicle controller, characterized in that it includes deleted data including the size information of the old version and the data information of the old version.
제 13 항에 있어서,
상기 롤백하는 단계는,
미리 마련된 섹터별 차분 해제 순서와 역방향의 역차분 해제 순서에 따라 상기 신 버전을 상기 구 버전으로 롤백하는 것을 특징으로 하는 차량용 제어기의 차분 업데이트 롤백 방법.
14. The method of claim 13,
The rollback step includes:
The differential update rollback method of a vehicle controller, characterized in that the new version is rolled back to the old version according to a pre-prepared order for releasing a difference for each sector and a reverse order for releasing a reverse difference for each sector.
제 14 항에 있어서,
상기 차분 해제 순서는,
상기 분할 차분 데이터의 생성시, 상기 메모리 섹터에 이동되는 데이터 이동을 고려하여, 상기 데이터 이동의 역순으로 마련된 것을 특징으로 하는 차량용 제어기의 차분 업데이트 롤백 방법.
15. The method of claim 14,
The difference cancellation order is,
The differential update rollback method of the vehicle controller according to claim 1, wherein when the divided difference data is generated, the data movement to the memory sector is taken into account in a reverse order of the data movement.
제 13 항에 있어서,
상기 롤백하는 단계는,
상기 삭제 데이터의 데이터 정보를 상기 신 버전에 추가하고, 상기 추가 데이터의 데이터 정보를 상기 신 버전으로부터 삭제하는 것을 특징으로 하는 차량용 제어기의 차분 업데이트 롤백 방법.
14. The method of claim 13,
The rollback step includes:
and adding data information of the deleted data to the new version and deleting data information of the additional data from the new version.
KR1020200176494A 2020-12-16 2020-12-16 Difference update method for vehicullr control unit and difference update roll back method KR102452400B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200176494A KR102452400B1 (en) 2020-12-16 2020-12-16 Difference update method for vehicullr control unit and difference update roll back method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200176494A KR102452400B1 (en) 2020-12-16 2020-12-16 Difference update method for vehicullr control unit and difference update roll back method

Publications (2)

Publication Number Publication Date
KR20220086230A true KR20220086230A (en) 2022-06-23
KR102452400B1 KR102452400B1 (en) 2022-10-06

Family

ID=82221822

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200176494A KR102452400B1 (en) 2020-12-16 2020-12-16 Difference update method for vehicullr control unit and difference update roll back method

Country Status (1)

Country Link
KR (1) KR102452400B1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040055602A (en) * 2002-12-16 2004-06-26 후지쯔 가부시끼가이샤 Differential update method, program and apparatus
KR20070038681A (en) * 2005-10-06 2007-04-11 삼성에스디에스 주식회사 Method and system for updating firmware
KR20080083512A (en) * 2007-03-12 2008-09-18 (주)프레스토블루 Firmware over the air system
KR20190074346A (en) 2017-12-20 2019-06-28 현대자동차주식회사 Method for software update for vehicle and the vehicle usiing of the same
KR102088167B1 (en) * 2019-08-27 2020-03-12 루나 주식회사 Apparatus for updating software as an agent and patch method thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040055602A (en) * 2002-12-16 2004-06-26 후지쯔 가부시끼가이샤 Differential update method, program and apparatus
KR20070038681A (en) * 2005-10-06 2007-04-11 삼성에스디에스 주식회사 Method and system for updating firmware
KR20080083512A (en) * 2007-03-12 2008-09-18 (주)프레스토블루 Firmware over the air system
KR20190074346A (en) 2017-12-20 2019-06-28 현대자동차주식회사 Method for software update for vehicle and the vehicle usiing of the same
KR102088167B1 (en) * 2019-08-27 2020-03-12 루나 주식회사 Apparatus for updating software as an agent and patch method thereof

Also Published As

Publication number Publication date
KR102452400B1 (en) 2022-10-06

Similar Documents

Publication Publication Date Title
US7363421B2 (en) Optimizing write/erase operations in memory devices
US7971022B2 (en) Apparatus and method of processing data of non-volatile memory using transaction block
JP2006092169A (en) Memory controller, memory device and control method for memory controller
JPWO2009004674A1 (en) Storage device, disk device, write determination method, control device
US7809878B2 (en) Apparatus and method for controlling flash memory
US9715398B2 (en) Program code loading method of application and computing system using the same
US11650811B2 (en) Method of updating control unit for vehicle
US8527733B2 (en) Memory system
US10942811B2 (en) Data processing method for solid state drive
KR102452400B1 (en) Difference update method for vehicullr control unit and difference update roll back method
JP6575157B2 (en) Firmware download method and firmware embedded device
JP6988445B2 (en) Storage system, control device and control method
US10761892B2 (en) Method and electronic device for executing data reading/writing in volume migration
KR102275140B1 (en) Method for updating vehicular control unit
US20110082995A1 (en) Information processing apparatus
US20170031763A1 (en) Hybrid parity initialization
JP4818453B1 (en) Electronic device and data reading method
JP4910402B2 (en) Nonvolatile memory rewriting device and rewriting method
US20230143921A1 (en) Electronic control system, storage medium storing data structure of software package, and storage medium storing computer program
JP7044403B2 (en) Storage system, storage control method and storage control program
KR102263800B1 (en) Memory management apparatus and control method thereof
US11416372B2 (en) Storage device and method of controlling storage device
WO2020241473A1 (en) Computation processing device, vehicle control device, and update method
CN110018785B (en) Method for executing data reading and writing in data migration between volumes and electronic device
US7996598B2 (en) Memory management module

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant