# US 2019/0171445 A1 · Vehicle-mounted control device, program writing device, program generating device and program

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2019/0171445 A1
- Document ID: US20190171445A1
- Status: Published application
- Kind: A1
- Application number: 16/270,781
- Filed: 2019-02-08
- Published: 2019-06-06
- Earliest claimed: 2015-01-26
- Assignees: Hitachi Automotive Systems, Ltd.
- Applicants: Hitachi Automotive Systems, Ltd.
- Inventors: Kenichi KUROSAWA; Hidetoshi TERAOKA; Fumiharu NAKAHARA
- Web page: https://patentgrep.com/patent/US20190171445A1

## CPC

- G06F 8/71: Version control (security arrangements therefor G06F21/57); Configuration management
- B60R 16/02: electric {constitutive elements}
- B60R 16/0231: {Circuits relating to the driving or the functioning of the vehicle (monitoring tyres B60C23/00; indicating overspeed B60K31/00; for dash boards B60K37/00, B60Q3/10; for indicating emergencies B60Q1/52; brake control systems B60T; registering or indicating the working of vehicles G07C5/00; measuring distance G01C, e.g. combinations of speed and distance G01C23/00; engine indicators G01L; measuring speed or acceleration G01P)}
- G06F 3/0608: {Saving storage space on storage systems}
- G06F 3/064: {Management of blocks}
- G06F 3/0673: {Single storage device}
- G06F 8/658: Incremental updates; Differential updates
- G06F 11/00: Error detection; Error correction; Monitoring (error detection, correction or monitoring in information storage based on relative movement between record carrier and transducer G11B20/18; monitoring, i.e. supervising the progress of recording or reproducing G11B27/36; in static stores G11C29/00)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- B60R: VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR

## Abstract

The present invention provides a vehicle-mounted control device, a program writing device, a program generating device, and a program, which are capable of quickly and easily carrying out reprogramming. An ECU 300 is provided with: a microcomputer 301, an SRAM 302, a flash memory 303, and a communication device 305. The flash memory 303 is configured from a plurality of blocks and stores older versions of the program. The communication device 305 receives (S250) a frame including block data, the type of the block data, and an address of a block in which the block data is to be written. The microcomputer 301 restores (S260) a new program from the block data in the SRAM 302 according to the type of the block data (S255, S260) and writes (S265, S270) one piece of the restored new program in a block corresponding to the address.

## Claims

### Claim at position 1

1-20. (canceled)

### Claim 21

A vehicle-mounted control device comprising:
a non-volatile memory configured to include a plurality of blocks and store an older version of a program;
a volatile memory;
a communication interface configured to receive compressed difference data or block data and a frame, the compressed difference data in which a difference between first data including at least one piece of data obtained by dividing the older version of the program into a size of the blocks and second data including one piece of data obtained by dividing a new program into the block size is compressed,
microcomputer configured to restore the second data in the volatile memory according to the type of the block data and write the restored second data to the write address of the block,
wherein the compressed difference data comprises data in which the difference between the first data and the second data of different blocks is compressed.

### Claim 22 (depends on 21)

The vehicle-mounted control device according to claim 21, wherein the compressed difference data comprises data in which a difference in a size equal to or smaller than a reference value among the differences between the first data and second data, is compressed.

### Claim 23 (depends on 21)

The vehicle-mounted control device according to claim 21, wherein the compressed difference data comprises data in which a difference between the first data corresponding to more than one of the blocks and the second data corresponding to one of the blocks is compressed.

### Claim 24 (depends on 23)

The vehicle-mounted control device according to claim 23, wherein the first data includes the older version of the program stored in more than one of the blocks from a first block to the one block.

### Claim 25 (depends on 23)

The vehicle-mounted control device according to claim 23, wherein the first data includes the older version of the program stored in more than one of the blocks from the one block to a last block.

### Claim 26 (depends on 21)

The vehicle-mounted control device according to claim 21, wherein the compressed difference data is data in which a difference between the first data and second data in different blocks is compressed.

### Claim 27 (depends on 21)

The vehicle-mounted control device according to claim 21, wherein the first data includes the older version of the program stored in more than one of the blocks from a first block to one block.

### Claim 28 (depends on 21)

The vehicle-mounted control device according to claim 21, wherein the first data includes the older version of the program stored in more than one of the blocks from one block to a last block.

### Claim 29 (depends on 21)

The vehicle-mounted control device according to claim 21, wherein the compressed difference data comprises data in which a difference between a predetermined number of pieces of the first data and a predetermined number of pieces of the second data is compressed.

### Claim 30

A vehicle-mounted control device comprising:
a non-volatile memory configured to include a plurality of blocks and store an older version of a program;
a volatile memory;
a communication interface configured to receive a frame including a compressed difference data and a write address of the block, the compressed difference data in which a difference between first data including at least one piece of data obtained by dividing the older version of the program into a size of the blocks and second data including one piece of data obtained by dividing a new program into the block size is compressed,
microcomputer configured to restore the second data in the volatile memory from the compressed difference data and write the restored second data to the write address of the block,
wherein each number is given to each of the blocks of the older version of the program and the new program,
the compressed difference data is generated in ascending order of the number assigned to the block if a large addition is done to the data of the block of the new program, and
the compressed difference data is generated in descending order of the number assigned to the block if a large deletion is done to the data of the block.
