Rewriting system for rewriting a memory on a vehicle controller
Summary by NHIP
Vehicle Memory Rewriting Device
The device rewrites data in a vehicle controller's non-volatile memory by detecting offline communication states. It prohibits offline determination until a second time elapses during deletion or writing, where this second duration exceeds the first and often matches the required operation time.
Claim Score by NHIP
Abstract
The rewriting device for rewriting data stored in a memory of a vehicle controller with new data is provided. The rewriting device is capable of communicating with the vehicle controller. When deleting or writing operation on the memory is not being performed, the rewriting device determines that communication between the rewriting device and the vehicle controller is offline if no response from the vehicle controller within a first determination time. When deleting operation or writing operation on the memory is being performed, the determination of offline is prohibited until a second determination time has elapsed. The second determination time is greater than the first determination time. It is preferable that the second determination time for deleting operation is the time necessary to delete the data stored in the memory, and that the second determination time for writing operation is the time necessary to write the new data into the memory.

Term
Term ended
Expired 25 March 2022, 4.5 years ago.
- Priority
- Filed
- Granted
- Expired
- Today
26 claims: 5 independent, 21 dependent
- 1A rewriting device for rewriting data stored in a non-volatile memory of a vehicle controller;the rewriting device capable of communicating with the vehicle controller and configured to determine that communication between the rewriting device and the vehicle controller is offline when no response is received from the vehicle controller within a first determination time from the time at which the rewriting device transmits to the vehicle controller a request for a deleting operation of the data;wherein, when the deleting operation of the data is being performed, the rewriting device is configured to prohibit the determination of offline until a second determination time elapses from the time at which the rewriting device transmits to the vehicle controller a request for a result of the deleting operation, the second determination time being greater than the first determination time.
- 8A rewriting device for rewriting data stored in a non-volatile memory of a vehicle controller with new data;the rewriting device capable of communicating with the vehicle controller and configured to determine that communication between the rewriting device and the vehicle controller is offline when no response is received from the vehicle controller within a first determination time from the time at which the rewriting device transmits to the vehicle controller a request for a writing operation of new data;and wherein, when the writing operation of the new data is being performed, the rewriting device is configured to prohibit the determination of offline until a second determination time elapses from the time at which the rewriting device transmits to the vehicle controller a request for a result of the writing operation, the second determination time being greater than the first determination time.
- 15A rewriting system for rewriting data stored in a memory of a vehicle controller with new data, the system comprising:a rewriting device capable of communicating with the vehicle controller, the rewriting device configured to determine that communication between the rewriting device and the vehicle controller is offline if no response is received from the vehicle controller within a first determination time from the time at which the rewriting device transmits to the vehicle controller a request for a deleting or writing operation of the data;and wherein, when the deleting or writing operation on the memory is being performed, the determination of offline is prohibited until a second determination time elapses from the time at which the rewriting device transmits to the vehicle controller a request for a result of the deleting or writing operation, the second determination time being greater than the first determination time.
- 23Broadest claimClaim Score 73, broad(NHIP)A method for rewriting data stored in a memory of a vehicle controller, the method comprising:sending a request asking the vehicle controller to delete the data in the memory;determining that communication with the vehicle controller is offline if there is no response from the vehicle controller within a reference time from the time at which the request asking the vehicle controller to delete the data is sent: starting operation for deleting the data stored in the memory;sending to the vehicle controller a request for a result of the operation for deleting;and determining that communication with the vehicle controller is offline if there is no response from the vehicle controller within a determination time from the time at which the request for the result of the operation for deleting is sent;and wherein the determination time is greater than the reference time.
- 25A method for rewriting data stored in a memory of a vehicle controller with new data, the method comprising:sending a request asking the vehicle controller to write the new data into the memory;determining that communication with the vehicle controller is offline if there is no response from the vehicle controller within a reference time from the time at which the request asking the vehicle controller to write the new data is sent;starting operation for writing the new data into the memory;sending to the vehicle controller a request for a result of the operation for writing: and determining that communication with the vehicle controller is offline if there is no response from the vehicle controller within a determination time from the time at which the request for the result of the operation for writing is sent;and wherein the determination time is greater than the reference time.
Independent claims5
76 paragraphs in 5 sections, as filed
FIELD OF THE INVENTION
0001The present invention relates to a system for rewriting a program or data stored in a memory of a vehicle controller with other program or data transferred from an external rewriting device.
BACKGROUND OF THE INVENTION
0002Vehicles are subjected to various types of control by an electronic control unit (hereafter referred to as “ECU”). Such control includes engine-related control of an air fuel ratio, fuel injection amount, and emission as well as body-related control of a power window, an air bag, and an ABS. The ECU provides various types of control for the vehicle based on current conditions and traveling conditions of the vehicle sensed by various sensors mounted on the vehicle.
0003The ECU comprises a central processing unit (CPU), a ROM (Read Only Memory) that stores programs and data to be executed, a RAM (Random Access Memory) which provides a work area for execution and which stores results of computation, and an I/O interface for receiving signals from various sensors and transmitting control signals to various parts of the engine.
0004A system is known wherein a rewritable and non-volatile memory, such as a flash memory, an EEPROM, or an EPROM, is used as the ROM to allow a program or data to be rewritten through serial communication. Such a system typically comprises a rewriting device, an ECU and a serial communication path connecting them together. Rewriting is achieved by deleting data stored in the rewritable memory mounted on the ECU and writing new data transferred from the rewriting device via serial communication into the memory. By way of example, Japanese Patent Application Laid-Open No. 63-223901 describes a method for changing a program stored in the EEPROM of the ECU in response to a request from an external device via a SCI (Serial Communication Interface) terminal with the ECU being mounted on the vehicle.
0005Generally, deleting and writing operation on a non-volatile memory such as a flash memory and EEPROM requires a relatively large amount of time. The ECU may be busy during deleting or writing operation. As a result, the ECU may not be able to respond to the rewriting device. When there is no response from the ECU for a predetermined period, the rewriting device determines that communication between the ECU and the rewriting device is offline.
0006<figref idref="DRAWINGS">FIGS. 5 and 6</figref> show a typical method for rewriting a program stored in a memory of the ECU. <figref idref="DRAWINGS">FIG. 5</figref> is a flow chart showing the process performed by the rewriting device, and <figref idref="DRAWINGS">FIG. 6</figref> is a flow chart showing the process performed by the ECU.
0007In response to a request for deleting operation from the rewriting device (<b>501</b>), the ECU sends a signal to the rewriting device indicative of start of deleting operation (<b>552</b>) and deletes a program stored in a memory of the ECU (<b>553</b>). In response to the signal indicative of start of deleting operation, the rewriting device requests the result of the deleting operation (<b>505</b>). If the deleting operation has not been completed, the ECU sends a signal to the rewriting device indicating that the deleting operation is in progress (<b>556</b>). If the deleting operation has been completed, the ECU sends a signal indicative of completion of the deleting operation (<b>557</b>).
0008Similarly, writing operation is carried out. In response to a request for writing operation from the rewriting device (<b>521</b>), the ECU sends a signal to the rewriting device indicative of start of writing operation (<b>562</b>) and writes a new program to the memory of the ECU (<b>563</b>). In response to the signal indicative of start of writing operation, the rewriting device requests the result of the writing operation (<b>525</b>). If the writing operation has not been completed, the ECU sends a signal to the rewriting device indicating that the writing operation is in progress (<b>566</b>). If the writing operation has been completed, the ECU sends a signal indicative of completion of the writing operation (<b>567</b>).
0009At step <b>509</b> or <b>529</b>, if the response from the ECU indicates that the deleting or writing operation is in progress, the process returns to step <b>505</b> or <b>525</b>. If the response from the ECU indicates that the deleting or writing operation has been completed, the process proceeds to the following step <b>510</b> or <b>530</b>. In this way, the rewriting device determines whether deleting or writing operation is being performed or has been completed by sending a request for the result of the deleting or writing operation and by receiving a response to the request. Even if the deleting or writing operation is being performed, an erroneous determination of offline is not made as long as there is a response from the ECU.
0010<figref idref="DRAWINGS">FIG. 7</figref> shows typical two forms of a non-volatile memory mounted on the ECU. <figref idref="DRAWINGS">FIG. 7A</figref> shows a form in which a flash memory <b>216</b>, which is a non-volatile memory, is provided independently of a CPU <b>214</b>. In other words, the flash memory <b>216</b> is mounted on a chip different from the CPU <b>214</b>. The flash memory <b>216</b> is coupled to a chip of a microcomputer where the CPU is mounted via an external bus <b>205</b>. When the ECU <b>210</b> receives a request for deleting or writing operation on the flash memory <b>216</b> from the rewriting device <b>211</b>, the operation is performed by an input/output controller (not shown) that controls input/output through the external bus <b>205</b>. In this way, since deleting or writing control on the flash memory <b>216</b> is performed independently of the CPU, the CPU does not become busy during deleting or writing operation.
0011<figref idref="DRAWINGS">FIG. 7B</figref> shows another form in which the flash memory <b>216</b> and the CPU <b>214</b> are provided on a single chip to constitute one chip microcomputer. The flash memory <b>216</b> is coupled to the CPU <b>214</b> via an internal bus <b>207</b>. Deleting or writing operation is performed by an interface means incorporated in the CPU <b>214</b> as a function. In this case, the CPU may become busy during deleting or writing operation. When the CPU is busy, the ECU <b>210</b> may be unable to communicate with the rewriting device <b>211</b>.
0012Recently, in order to reduce costs relating to the ECU, a microcomputer including a non-volatile memory, as shown in <figref idref="DRAWINGS">FIG. 7B</figref>, has been increasingly employed. As described above, in this form, a CPU may become busy during deleting or writing operation on a non-volatile memory. When the ECU is busy, it may not respond to a request for the result of deleting or writing operation from the rewriting device. As a result, even though communication between the ECU and the rewriting device is normal, the rewriting device may determine that the communication is offline if a response from the ECU has not been received within a predetermined period. Thus, when the CPU of the ECU is busy, the rewriting device may made an erroneous determination of offline.
SUMMARY OF THE INVENTION
0013It is an object of the invention to provide a rewriting system capable of avoiding an erroneous determination of offline when deleting or writing operation on a non-volatile memory is being performed in the ECU.
0014According to one aspect of the invention, a rewriting device for rewriting data stored in a memory of a vehicle controller with new data is provided. The rewriting device is capable of communicating with the vehicle controller. When deleting or writing operation on the memory is not being performed, the rewriting device determines that communication between the rewriting device and the vehicle controller is offline if no response is received from the vehicle controller within a first determination time. When deleting or writing operation on the memory is being performed, the determination of offline is prohibited until a second determination time elapses. The second determination time is greater than the first determination time. Because the second determination time is greater than the first determination time, an erroneous determination of offline due to a busy state of the CPU in the vehicle controller is avoided when deleting or writing operation is being carried out.
0015According to one embodiment of the invention, the second determination time for deleting operation is the time necessary to delete the data stored in the memory. Similarly, the second determination time for writing operation is the time necessary to write the new data into the memory. The deleting time and writing time depend on the specification of the memory. Thus, the second determination time is optimized in accordance with the specification of the memory.
0016According to another embodiment of the invention, the deleting time is calculated based on the size of the data and the specification of the memory, and the writing time is calculated based on the size of the new data and the specification of the memory. The calculation is implemented in the vehicle controller.
0017According to another embodiment of the invention, the rewriting device acquires the deleting time from the vehicle controller and sets it in the second determination time for deleting operation. Similarly, the rewriting device acquires the writing time from the vehicle controller and sets it in the second determination time for writing operation. When deleting operation is being performed, the rewriting device determines that the communication is offline if no response is received from the vehicle controller within the second determination time that is set according to the deleting time. Similarly, when writing operation is being performed, the rewriting device determines that the communication is offline if no response is received from the vehicle controller within the second determination time that is set according to the writing time.
0018According to another embodiment of the invention, the rewriting device exchanges no message with the vehicle controller until the first determination time elapses from the time at which a request of the result of deleting or writing operation is sent to the vehicle controller. This reduces the overhead of response by the vehicle controller.
BRIEF DESCRIPTION OF THE DRAWINGS
0019<figref idref="DRAWINGS">FIG. 1</figref> is a block diagram showing functional blocks of a rewriting system in one embodiment of the invention;
0020<figref idref="DRAWINGS">FIG. 2</figref> shows an operational procedure of a rewriting system in one embodiment of the invention;
0021<figref idref="DRAWINGS">FIG. 3</figref> is a flow chart showing deleting and writing operation in a rewriting device in one embodiment of the invention;
0022<figref idref="DRAWINGS">FIG. 4</figref> is a flow chart showing deleting and writing operation in a vehicle controller in one embodiment of the invention;
0023<figref idref="DRAWINGS">FIG. 5</figref> is a flow chart showing conventional deleting and writing operation in a rewriting device;
0024<figref idref="DRAWINGS">FIG. 6</figref> is a flow chart showing conventional deleting and writing operation in a vehicle controller; and
0025<figref idref="DRAWINGS">FIG. 7</figref> shows a typical form of a CPU and a memory in a vehicle controller.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
0026A system for rewriting a program stored in a non-volatile memory of a vehicle controller will be described referring to attached drawings. The present invention, however, is not limited to the system but is applicable to various systems for rewriting data stored in a memory.
0027<figref idref="DRAWINGS">FIG. 1</figref> shows a general functional block diagram of a rewriting system according to the invention. The rewriting system comprises an ECU <b>10</b> and a rewriting device <b>11</b>. The rewriting device <b>11</b> is a rewriting device authorized by a manufacturer of vehicles on which the ECU <b>10</b> is mounted. By connecting the rewriting device <b>11</b> to the ECU <b>10</b> via a serial communication bus and operating the rewriting device <b>11</b>, security for preventing a program or data stored in the ROM <b>16</b> of the ECU <b>10</b> from being rewritten without proper authorization is released. Thus, the rewriting device <b>11</b> is allowed to rewrite a program or data stored in the ROM <b>16</b>.
0028The ECU <b>10</b> comprises a central processing unit <b>14</b> (hereafter referred to as a “CPU”) including a microcomputer and associated circuit elements, ROMs <b>16</b> and <b>17</b> which are non-volatile memories and which store programs and data, a RAM <b>15</b> (Random Access Memory) which provides a work area for execution and which stores results of computations, and an I/O interface <b>18</b> for receiving signals from various sensors <b>19</b> and transmitting control signals to various parts of the engine.
0029Signals from various sensors <b>39</b> include an engine rotation speed (Ne), an engine water temperature (Tw), an intake air temperature (Ta), a battery voltage (VB), and an ignition switch (IGSW). Thus, based on a signal input from the I/O interface <b>18</b>, the CPU <b>14</b> invokes a control program and data from the ROMs <b>16</b> and <b>17</b> to execute computations, and outputs the results to various parts of the vehicle via the I/O interface <b>18</b> to control various functions of the vehicle.
0030The ECU <b>10</b> also comprises an interface <b>12</b>. The interface <b>12</b> has a protocol for communication with the rewriting device <b>11</b> to enable serial communication between the ECU <b>10</b> and the rewriting device <b>11</b>.
0031The rewritable ROM <b>16</b> is a non-volatile memory from which stored data can be deleted and to which new data can be written. The rewritable ROM <b>16</b> can be, for example, a flash memory or an EEPROM. The non-rewritable ROM <b>17</b> is a non-volatile memory. The non-rewritable ROM <b>17</b> can be implemented by specifying a part of the memory area of a rewritable ROM as an unchangeable area, or by using a mask ROM for which data is fixed during manufacturing and from or to which data can subsequently not be deleted or written. Alternatively, the ROM <b>17</b> can be implemented with a PROM to which data can be written only once.
0032The ROMs <b>16</b> and <b>17</b> can be implemented as two memories that are physically separated. Alternatively, the memory area of a single memory may be divided into two areas so that one of the areas is used as a rewritable area, while the other is used as a non-rewritable area. For example, after a non-rewritable area in which a program or the like is stored has been specified in an EEPROM, a rewritable area is specified with start and end addresses in the unfilled space of the memory.
0033A program P<b>1</b>, which is to be rewritten by the rewriting device <b>11</b>, is stored in the rewritable ROM <b>16</b>. Programs that implement an authentication part <b>33</b>, an initialization part <b>34</b>, a deleting part <b>35</b> and a writing part <b>36</b> are stored in the non-rewritable ROM <b>17</b>. The authentication part <b>33</b> judges whether the rewriting device <b>11</b> is authentic. If it is judged that the rewriting device is authentic, the authentication part <b>33</b> releases the security that prevents data stored in the ROM <b>16</b> from being changed without proper authorization.
0034The initialization part <b>34</b> performs an initialization process for starting deleting and writing operation. The deleting part <b>35</b> deletes the program P<b>1</b>. The writing part <b>36</b> serially receives data blocks representative of a new program P<b>2</b> from the rewriting device <b>11</b>. The data blocks are assembled from program code of the new program P<b>2</b>. The writing part <b>36</b> writes a partial program code included in each data block into the ROM <b>16</b>.
0035The rewriting device <b>11</b> comprises a security release requesting part <b>20</b>, a rewriting initialization part <b>21</b>, a deleting requesting part <b>23</b> and a deleting result requesting part <b>25</b>, which are stored in a memory of the rewriting device <b>11</b> as programs. The security release requesting part <b>20</b> requests the ECU <b>10</b> to release the security so that rewriting to the rewritable ROM <b>16</b> of the ECU <b>10</b> is permitted. The rewriting initialization part <b>21</b> performs an initialization process for starting deleting and writing operation. The deleting requesting part <b>23</b> requests the ECU <b>10</b> to delete the program P<b>1</b> in the ROM <b>16</b>. The deleting result requesting part <b>25</b> requests the result of the deleting operation from the ECU <b>10</b> to determine whether the deleting operation is in progress or has been completed.
0036The rewriting device <b>11</b> also comprises a writing requesting part <b>27</b>, a writing result requesting part <b>29</b> and a data block assembling part <b>30</b>, which are stored in a memory as programs. The data block assembling part <b>30</b> assembles data blocks from the new program P<b>2</b>. Each data block includes a program code field for a partial program code of the new program P<b>2</b> and an address field for a leading address of the ROM <b>16</b> in which the partial program code is to be stored. For example, each partial program code has a length of eight bits. The data blocks assembled are serially sent to the ECU <b>10</b> via serial communication by the writing requesting part <b>27</b>.
0037The writing requesting part <b>27</b> requests the ECU <b>10</b> to write a partial program code of each data block in an address of the ROM <b>16</b> that is indicated by an address value in the address field of each data block. The writing result requesting part <b>29</b> requests the result of the writing operation from the ECU <b>10</b> to determine whether the writing operation is in progress or has been completed.
0038The rewriting device <b>11</b> comprises an offline determining part <b>31</b>. The offline determining part <b>31</b> judges whether communication between the rewriting device <b>11</b> and the ECU <b>10</b> is offline. More specifically, if no response is received from the ECU <b>10</b> until a predetermined first determination time DT<b>1</b> has elapsed from the time at which a request for the deleting time DT is sent, the offline determining part <b>31</b> determines that the communication is offline. Similarly, if no response is received from the ECU <b>10</b> until the first determination time DT<b>1</b> has elapsed from the time at which a request for deleting operation is sent, the offline determining part <b>31</b> determines that the communication is offline.
0039In addition, if no response is received from the ECU <b>10</b> until a predetermined second determination time DT<b>2</b> has elapsed from the time at which a request for the result of deleting operation is sent, the offline determining part <b>31</b> determines that the communication is offline. The second determination time DT<b>2</b> is greater than the first determination time DT<b>1</b>. In other words, when deleting operation is being performed in the ECU <b>10</b>, the offline determining part <b>31</b> prohibits the determination of offline until the second determination time DT<b>2</b> has elapsed. As a result, an erroneous determination of offline due to a busy state of the CPU <b>14</b> in the ECU <b>10</b> can be avoided.
0040In a similar way, if no response is received from the ECU <b>10</b> until a predetermined first determination time WT<b>1</b> has elapsed from the time at which a request for the writing time WT is sent and from the time at which a request for writing operation is sent, respectively, the offline determining part <b>31</b> determines that the communication is offline. The value of the first determination time WT<b>1</b> may be consistent with or different from the value of the first determination time DT<b>1</b>.
0041In addition, if no response is received from the ECU <b>10</b> until a predetermined second determination time WT<b>2</b> has elapsed from the time at which a request for the result of the writing operation is sent, the offline determining part <b>31</b> determines that the communication is offline. The second determination time WT<b>2</b> is greater than the first determination time WT<b>1</b>. In other words, when writing operation is being performed in the ECU <b>10</b>, the offline determining part <b>31</b> prohibits the determination of offline until the second determination time WT<b>2</b> has elapsed. As a result, an erroneous determination of offline due to a busy state of the CPU <b>14</b> in the ECU <b>10</b> can be avoided.
0042The ECU <b>10</b> also comprises a deleting time calculating part <b>37</b> and a writing time calculating part <b>38</b>. The deleting time calculating part <b>37</b> calculates the time DT necessary to delete the program P<b>1</b>. A unit time of deletion, which can be expressed, for example, in blocks or bytes, depends on the type of the ROM <b>16</b>. That is, a unit time of deletion is predetermined in accordance with the specification of the ROM <b>16</b>. The deleting time calculating part <b>37</b> calculates the deleting time DT based on the size of the program P<b>1</b> and a unit time of deletion specific to the ROM <b>16</b>.
0043The writing time calculating part <b>38</b> calculates the time WT necessary to write a partial program code of the new program P<b>2</b> received from the rewriting device <b>11</b>. As is the case for deletion, a unit time of writing depends on the type of the ROM <b>16</b>, and is predetermined in accordance with the specification of the ROM <b>16</b>. The writing time calculating part <b>38</b> calculates the writing time WT based on the size of a partial program code of the program P<b>2</b> and a unit time of writing specific to the ROM <b>16</b>. In this way. the writing time WT is calculated in accordance with the amount of data written into the ROM <b>16</b> at a time by the writing part <b>36</b>.
0044In another embodiment, the deleting and writing time calculating parts <b>37</b> and <b>38</b> may be provided in the rewriting device <b>11</b>. The rewriting device <b>11</b> may have a unit time of deletion and writing specific to the ROM <b>16</b> in advance. Alternatively, the rewriting device <b>11</b> may request a unit time of deletion and writing from the ECU <b>10</b>. Thus, the deleting time DT and the writing time WT are calculated in the rewriting device <b>11</b>.
0045The rewriting device <b>11</b> preferably comprises a deleting time acquiring part <b>22</b> and a writing time acquiring part <b>26</b>. Before or when the deleting requesting part <b>23</b> requests the ECU <b>10</b> to delete the program P<b>1</b>, the deleting time acquiring part <b>22</b> acquires from the ECU <b>10</b> the deleting time DT calculated by the deleting time calculating part <b>37</b>. The deleting time acquiring part <b>22</b> sets the acquired deleting time DT in the second determination time DT<b>2</b>. Similarly, before or when the writing requesting part <b>27</b> requests the ECU <b>10</b> to write a partial program code of the new program P<b>2</b>, the writing time requesting part <b>26</b> acquires from the ECU <b>10</b> the writing time WT calculated by the writing time calculating part <b>38</b>. The writing time acquiring part <b>26</b> sets the acquired writing time WT in the second determination time WT<b>2</b>.
0046Thus, when deleting and writing operation is being performed, the determination of offline is made based on the deleting time DT and writing time WT, respectively, the second determination time being optimized in accordance with the specification of the ROM <b>16</b>. Alternatively, as is the case for the first determination time DT<b>1</b> and WT<b>1</b>, the second determination time DT<b>2</b> and WT<b>2</b> may also be predetermined as fixed values.
0047<figref idref="DRAWINGS">FIG.2</figref> shows rewriting operation according to the rewriting system shown in FIG. <b>1</b>. The rewriting operation is initiated, for example, by operating the rewriting device <b>11</b> after it has been connected to the ECU <b>10</b>. Alternatively, the rewriting operation may be initiated by operating the ECU <b>10</b>.
0048At step <b>41</b>, the security release requesting part <b>20</b> of the rewriting device <b>11</b> sends a signal to the ECU <b>10</b> indicative of a request for releasing security. The ECU <b>10</b> responds to the signal and invokes the authentication part <b>33</b>. The authentication part <b>33</b> initiates an authentication process for confirming that the authorized rewriting device is connected.
0049The authentication process can be carried out in an arbitrary manner. For example, the rewriting device <b>11</b> and the ECU <b>10</b> have security functions, respectively. The rewriting device <b>11</b> calculates its own function value for a given number and sends the calculated value to the ECU <b>10</b>. On the other hand, the ECU <b>10</b> calculates its own function value for the same number. The ECU <b>10</b> compares the value calculated by itself with the value received from the rewriting device <b>11</b>. The ECU <b>10</b> determines that the rewriting device is authentic if the two values are the same. The ECU <b>10</b> sends a signal to the rewriting device <b>11</b> indicative of a permission of rewriting. Thus, the security is released.
0050If the ECU <b>10</b> authenticates the rewriting device <b>11</b> and permits it to rewrite to the ROM <b>16</b>, the process proceeds to step <b>42</b>. The rewriting initialization part <b>21</b> of the rewriting device <b>11</b> sends a signal to the ECU <b>10</b> indicative of start of rewriting. The initialization part <b>34</b> of the ECU <b>10</b> returns a signal indicative of a permission of rewriting when ready for rewriting.
0051At step <b>43</b>, the rewriting device <b>11</b> sends a request to the ECU <b>10</b> for shifting to a rewriting operation mode. The initialization part <b>34</b> of the ECU <b>10</b> executes a process of shifting to the rewriting operation mode. At step <b>44</b>, the rewriting initialization part <b>21</b> of the rewriting device <b>11</b> queries the ECU <b>10</b> if the shift has been completed. If the shift has been completed, the rewriting initialization part <b>34</b> of the ECU <b>10</b> sends a signal to the rewriting device <b>11</b> indicative of completion of the shift.
0052At step <b>45</b>, the deleting time acquiring part <b>22</b> of the rewriting device <b>11</b> requests the time necessary to delete the program P<b>1</b>. In response to the request, the deleting time calculating part <b>37</b> of the ECU <b>10</b> calculates the deleting time DT and sends it to the rewriting device <b>11</b>. The deleting time acquiring part <b>22</b> sets the acquired deleting time DT in the second determination time DT<b>2</b>. If the deleting time acquiring part <b>22</b> receives no response to the deleting time request within the first determination time DT<b>1</b>, the offline determining part <b>31</b> of the rewriting device <b>11</b> determines that communication between the rewriting device <b>11</b> and the ECU <b>10</b> is offline.
0053At step <b>46</b>, the deleting requesting part <b>23</b> of the rewriting device <b>11</b> requests the ECU <b>10</b> to delete the program P<b>1</b>. In response to the request, the deleting part <b>35</b> of the ECU <b>10</b> sends a signal indicative of start of deleting operation. If the deleting requesting part <b>23</b> receives no response to the deleting request within the first determination time DT<b>1</b>, the offline determining part <b>31</b> determines that the communication is offline.
0054At step <b>47</b>, the deleting result requesting part <b>25</b> of the rewriting device <b>11</b> requests the result of the deleting operation. When the deleting operation of the program P<b>1</b> has been completed, in response to the request, the deleting part <b>35</b> of the ECU <b>10</b> sends a signal to the rewriting device <b>11</b> indicative of completion of the deleting operation. If the deleting result requesting part <b>25</b> receives no response to the deleting result request within the second determination time DT<b>2</b>, the offline determining part <b>31</b> determines that the communication is offline.
0055In the rewriting device <b>11</b>, the new program P<b>2</b> has been prepared by the data block assembling part <b>30</b> as data blocks. Assembling of the data blocks from the program P<b>2</b> is typically performed before the security release request or the rewriting start signal is sent to the ECU <b>10</b>. Alternatively, it may be performed immediately before step <b>47</b> or <b>48</b>.
0056At step <b>48</b>, the writing time acquiring part <b>26</b> of the rewriting device <b>11</b> requests the time necessary to write the new program P<b>2</b>. In response to the request, the writing time calculating part <b>38</b> of the ECU <b>10</b> calculates the writing time WT and sends it to the rewriting device <b>11</b>. The writing time acquiring part <b>26</b> sets the writing time WT in the second determination time WT<b>2</b>. If the writing time acquiring part <b>26</b> receives no response to the writing time request within the first determination time WT<b>1</b>, the offline determining part <b>31</b> determines that the communication is offline.
0057At step <b>49</b>, the writing requesting part <b>27</b> of the rewriting device <b>11</b> transfers a data block including a partial program code of the new program P<b>2</b> to the ECU <b>10</b> together with a signal indicative of a request for writing operation. In response to the request, the writing part <b>36</b> of the ECU <b>10</b> sends a signal to the rewriting device <b>11</b> indicative of start of writing operation. If the writing requesting part <b>27</b> receives no response to the writing request within the first determination time WT<b>1</b>, the offline determining part <b>31</b> determines that the communication is offline.
0058The writing part <b>36</b> writes the partial program code included in the data block to the ROM <b>16</b>. The partial program code is written in an address of the ROM <b>16</b> that is indicated by the address field of the data block. A check mechanism may be provided for determining whether the address value in the address field of the data block is included in addresses of data deleted by the deleting part <b>35</b>.
0059At step <b>50</b>, the writing result requesting part <b>29</b> of the rewriting device <b>11</b> requests the result of the writing operation. When the writing operation has been completed, the writing part <b>36</b> sends a signal to the rewriting device <b>11</b> indicative of completion of the writing operation. If the writing result requesting part <b>29</b> receives no response to the writing result request within the second determination time WT<b>2</b>, the offline determining part <b>31</b> determines that the communication is offline.
0060The writing requesting part <b>27</b> transfers a next data block to the ECU <b>10</b> if the completion signal indicates a normal end. The steps <b>49</b> and <b>50</b> are repeated until all the program code of the program P<b>2</b> is written into the ROM <b>16</b>. When writing of all the program code has been completed, the writing requesting part <b>27</b> requests the ECU <b>10</b> to release the rewriting operation mode (step <b>51</b>). In response to the request, the writing part <b>36</b> releases the rewriting operation mode.
0061<figref idref="DRAWINGS">FIG. 3</figref> is a flow chart of deleting and writing operations carried out in the rewriting device <b>11</b>. At step <b>60</b>, the rewriting device <b>11</b> sends a signal indicative of a request for the deleting time to the ECU <b>10</b>. When the deleting time DT is received from the ECU (step <b>61</b>), the deleting time DT is set in the second determination time DT<b>2</b> (step <b>64</b>). The rewriting device <b>11</b> sends a signal to the ECU <b>10</b> indicative of a request for deleting operation (step <b>65</b>).
0062If there is no response from the ECU <b>10</b> at step <b>61</b>, it is determined whether the predetermined first determination time DT<b>1</b> (for example, 30 milliseconds) has elapsed from the time at which the request is sent at step <b>60</b> (step <b>62</b>). Similarly, if there is no response from the ECU <b>10</b> at step <b>66</b>, it is determined whether the predetermined first determination time DT<b>1</b> has elapsed from the time at which the request is sent at step <b>65</b> (step <b>67</b>). If the first determination time DT<b>1</b> has not elapsed, the process returns to steps <b>61</b> and <b>66</b>, respectively, and rewriting device <b>11</b> waits a response from the ECU <b>10</b> again. If the first determination time DT<b>1</b> has elapsed, it is determined that communication between the rewriting device <b>11</b> and the ECU <b>10</b> is offline (steps <b>63</b> and <b>68</b>).
0063If there is a response from the ECU <b>10</b> at step <b>66</b>, the rewriting device <b>11</b> sends a signal to the ECU <b>10</b> indicative of a request for the result of the deleting operation (step <b>70</b>). If there is a response from the ECU <b>10</b> (step <b>71</b>), it is checked whether the response indicates completion of the deleting operation (step <b>72</b>). If the response indicates completion of the deleting operation, the process proceeds to step <b>76</b>. If the deleting operation is in progress, the process returns to step <b>70</b>, and the signal indicative of a request for the result of the deleting operation is sent to the ECU <b>10</b> again. Alternatively, the return to step <b>70</b> may be made after a predetermined period.
0064At step <b>71</b>, if there is no response from the ECU <b>10</b>, it is checked whether the first determination time DT<b>1</b> has elapsed from the time at which the request is sent at step <b>70</b> (step <b>73</b>). If the first determination time DT<b>1</b> has not elapsed, the process returns to step <b>71</b>, and the rewriting device <b>11</b> waits a response from the ECU <b>10</b> again. If the first determination time DT<b>1</b> has elapsed, it is checked whether the second determination time DT<b>2</b> (for example, 400 milliseconds) has elapsed from the time at which the first request is sent at step <b>70</b> (step <b>74</b>). In other words, the elapsed time of the second determination time DT<b>2</b> is measured from the time at which step <b>70</b> is first processed. At step <b>74</b>, if the second determination time DT<b>2</b> has not elapsed, the process returns to the step <b>70</b>. Alternatively, the process may return to the step <b>71</b>. If there is no response until the second determination time DT<b>2</b> has elapsed, it is determined that the communication is offline (step <b>75</b>).
0065In another embodiment, the elapsed time of the first determination time at step <b>73</b> and second determination time at step <b>74</b> are measured from the time at which the response from the ECU <b>10</b> is received at step <b>66</b>.
0066Thus, when deleting operation is being performed, the determination of offline is made based on the second determination time that is longer than the first determination time. As a result, an erroneous determination of offline due to a busy state of the ECU can be avoided. In addition, the determination of offline can be made more accurately since the second determination time is predetermined in accordance with the specification of the ROM.
0067At step <b>76</b>, if the deleting operation ends normally, the process proceeds to step <b>80</b> in FIG. <b>3</b>B. If the deleting operation does not end normally, the process exits from this routine.
0068At step <b>80</b>, a signal indicative of a request for the writing time is sent to the ECU <b>10</b>. The rewriting device <b>11</b> receives the writing time WT and sets it in the second determination time WT<b>2</b> (step <b>84</b>). The process proceeds to step <b>85</b>, and a data block including a partial program code of the new program P<b>2</b> is transferred to the ECU <b>10</b>.
0069If there is no response from the ECU <b>10</b> at step <b>81</b>, it is determined whether the predetermined first determination time WT<b>1</b> (for example, 30 milliseconds) has elapsed from the time at which the request is sent at step <b>80</b> (step <b>82</b>). Similarly, if there is no response from the ECU <b>10</b> at step <b>86</b>, it is determined whether the predetermined first determination time WT<b>1</b> has elapsed from the time at which the request is sent at step <b>85</b> (step <b>87</b>). If the first determination time WT<b>1</b> has not elapsed, the process returns to steps <b>81</b> and <b>86</b>, respectively, and rewriting device <b>11</b> waits a response from the ECU <b>10</b> again. If the first determination time WT<b>1</b> has elapsed, it is determined that the communication is offline (steps <b>83</b> and <b>88</b>).
0070If there is a response from the ECU <b>10</b> at step <b>86</b>, a signal indicative of a request for the result of the writing operation is sent to the ECU <b>10</b> (step <b>90</b>). The process proceeds to step <b>92</b>, and it is checked whether the response indicates completion of the writing operation. If the response indicates completion of the writing operation, the process proceeds to step <b>96</b>. If the writing operation is in progress, the process returns to step <b>90</b>, and the rewriting device <b>11</b> sends the signal to the ECU <b>10</b> indicative of a request for the result of the writing operation again. The return to step <b>90</b> may be made after a predetermined period.
0071If there is no response from the ECU <b>10</b> at step <b>91</b>, it is checked whether the first determination time WT<b>1</b> has elapsed from the time at which the request is sent at step <b>90</b> (step <b>93</b>). If the first determination time WT<b>1</b> has not elapsed, the process returns to step <b>91</b>, and the rewriting device <b>11</b> waits a response from the ECU <b>10</b> again. If the first determination time WT<b>1</b> has elapsed, it is checked whether the second determination time WT<b>2</b> (for example, 400 milliseconds) has elapsed from the time at which the first request is sent at step <b>90</b> (step <b>94</b>). In other words, the elapsed time of the second determination time WT<b>2</b> is measured from the time at which step <b>90</b> is first processed. At step <b>94</b>, if the second determination time WT<b>2</b> has not elapsed, the process returns to the step <b>90</b>. Alternatively, the process may return to the step <b>91</b>. If there is no response until the second determination time WT<b>2</b> has elapsed, it is determined that the communication is offline (step <b>95</b>).
0072In another embodiment, the elapsed time of the first determination time at step <b>93</b> and second determination time at step <b>94</b> are measured from the time at which the response from the ECU <b>10</b> is received at step <b>86</b>.
0073Thus, when writing operation is being performed, the determination of offline is made based on the second determination time that is longer than the first determination time. As a result, an erroneous determination of offline due to a busy state of the ECU can be avoided. In addition, the determination of offline can be made more accurately because the second determination time is predetermined in accordance with the specification of the ROM.
0074At step <b>96</b>, if it is determined that the writing operation ends normally, the process proceeds to step <b>97</b>. If all the program code of the new program P<b>2</b> has not been sent to the ECU <b>10</b>, the process returns to step <b>80</b> to send a next data block. If all the program code of the new program P<b>2</b> is sent to the ECU <b>10</b>, the process exits from this routine.
0075<figref idref="DRAWINGS">FIG. 4</figref> shows a flow chart of deleting and writing operation carried out by the ECU <b>10</b>. If a signal indicative of a request for the deleting time is received at step <b>101</b>, the deleting time DT is sent to the rewriting device <b>11</b> (step <b>102</b>). If a signal indicative of a request for deleting operation is received at step <b>103</b>, a signal indicative of start of the deleting operation is sent to the rewriting device <b>11</b> (step <b>104</b>), and deleting operation is performed (step <b>105</b>). When a signal indicative of a request for the result of the deleting operation is received from the rewriting device <b>11</b> (step <b>106</b>), a signal indicative of the result of the deleting operation is sent to the rewriting device <b>11</b> (step <b>107</b>). The result signal shows the state of the deleting operation, in such a manner that a value “1” indicates completion of the deleting operation and a value “0” indicates that the deleting operation is in progress.
0076In a similar way, if a signal indicative of a request for the writing time is received from the rewriting device <b>11</b> (step <b>111</b>), the writing time WT is calculated and is sent to the rewriting device <b>11</b> (step <b>112</b>). If a data block of the new program P<b>2</b> is received from the rewriting device <b>11</b> at step <b>113</b>, a signal indicative of start of writing operation is sent to the rewriting device <b>11</b> (step <b>114</b>), and a partial program code included in the received data block is written into the ROM <b>16</b> (step <b>115</b>). If a signal indicative of a request for the result of the writing operation is received from the rewriting device <b>11</b> (step <b>116</b>), the result of the writing operation is sent to the rewriting device <b>11</b> (step <b>117</b>). The writing result signal shows the state of the writing operation, in such a manner that a value “1” indicates completion of the writing operation and a value “0” indicates that the writing operation is in progress. The transfer of the new program P<b>2</b> from the rewriting device <b>11</b> to the ECU <b>10</b> is executed for each data block. Therefore, steps <b>113</b> through <b>117</b> are repeated until all the data blocks of the new program P<b>2</b> are received (step <b>118</b>).
Contents5
9 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US9158926B2 | Cited by | United States of America | Applicant |
| EP0941910A1 | Cites | European Patent Office (EPO) | Applicant |
| DE19642737A1 | Cites | Germany | Applicant |
| DE19850133A1 | Cites | Germany | Applicant |
| JP2000089822A | Cites | Japan | Applicant |
| US2003012212A1 | Cites | United States of America | Search report |
| US4091448A | Cites | United States of America | Search report |
| US5523948A | Cites | United States of America | Applicant |
| US5862326A | Cites | United States of America | Search report |
| US6044014A | Cites | United States of America | Applicant |
| US6256226B1 | Cites | United States of America | Search report |
| US6321263B1 | Cites | United States of America | Search report |
| US6341239B1 | Cites | United States of America | Search report |
| US6609165B1 | Cites | United States of America | Search report |
| JPH03238541A | Cites | Japan | Applicant |
| JPS63223901A | Cites | Japan | Applicant |
8 members in 4 offices
Priority claims5
| Document | Office | Kind | Date |
|---|---|---|---|
| 2000112125 | Japan | – | |
| 2000112125 | Japan | A | |
| 2000112125 | Japan | A | |
| 2000112125 | – | – | – |
| JP20000112125 | – | – | – |
Members8
| Document | Office | Kind | |
|---|---|---|---|
| EP1145911A1 | European Patent Office (EPO) | A1 | |
| US2001032288A1 | United States of America | A1 | |
| JP2001297009A | Japan | A | |
| US6907495B2This record | United States of America | B2 | |
| EP1145911B1 | European Patent Office (EPO) | B1 | |
| DE60112643D1 | Germany | D1 | |
| DE60112643T2 | Germany | T2 | |
| JP3835969B2 | Japan | B2 |
52 transactions on the USPTO file
Allowed after 3 non-final rejections and 1 final rejection.
- Non-final rejections
- 3
- Final rejections
- 1
- RCEs
- 0
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | |
|---|---|
| Expire Patent | |
| Correspondence Address Change | |
| Recordation of Patent Grant Mailed | |
| Patent Issue Date Used in PTA CalculationAllowed | |
| Issue Notification MailedAllowed | |
| Receipt into Pubs | |
| Dispatch to FDC | |
| Application Is Considered Ready for Issue | |
| Issue Fee Payment Verified | |
| Issue Fee Payment Received | |
| Receipt into Pubs | |
| Workflow - File Sent to Contractor | |
| Mail Notice of AllowanceAllowed | |
| Notice of Allowance Data Verification CompletedAllowed | |
| IFW TSS Processing by Tech Center Complete | |
| Date Forwarded to Examiner | |
| Response after Final Action | |
| Workflow incoming amendment IFW | |
| Mail Final Rejection (PTOL - 326)Final rejection | |
| Final RejectionFinal rejection | |
| Request for Refund | |
| Date Forwarded to Examiner | |
| Response after Non-Final Action | |
| Workflow incoming amendment IFW | |
| Mail Non-Final RejectionNon-final rejection | |
| Non-Final RejectionNon-final rejection | |
| Date Forwarded to Examiner | |
| Correspondence Address Change | |
| Certified Translation of Specification Filed | |
| Response after Non-Final Action | |
| Request for Extension of Time - Granted | |
| Mail Non-Final RejectionNon-final rejection | |
| Non-Final RejectionNon-final rejection | |
| Date Forwarded to Examiner | |
| Response after Non-Final Action | |
| Request for Extension of Time - Granted | |
| Mail Non-Final RejectionNon-final rejection | |
| Non-Final RejectionNon-final rejection | |
| Case Docketed to Examiner in GAU | |
| Reference capture on IDS | |
| Information Disclosure Statement (IDS) Filed | |
| Information Disclosure Statement (IDS) Filed | |
| Request for Foreign Priority (Priority Papers May Be Included) | |
| Information Disclosure Statement (IDS) Filed | |
| Information Disclosure Statement (IDS) Filed | |
| Case Docketed to Examiner in GAU | |
| Transfer Inquiry | |
| Transfer Inquiry | |
| Application Dispatched from OIPE | |
| Correspondence Address Change | |
| IFW Scan & PACR Auto Security Review | |
| Initial Exam Team nn |
7 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Lapsed due to failure to pay maintenance feeLapsedFP | FP | |
| Information on status: patent discontinuationPATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362STCH | STCH | |
| Lapse for failure to pay maintenance feesLapsedLAPS | LAPS | |
| Maintenance fee reminder mailedREMI | REMI | |
| Fee paymentFPAY | FPAY | |
| Fee paymentFPAY | FPAY | |
| AssignmentAS | AS |
Numbers
- Publication
- 06907495
- Publication, DOCDB
- 6907495
- Publication, EPODOC
- US6907495
- Application
- 9835042
- Application, DOCDB
- 83504201
- Application, EPODOC
- US20010835042
Titles
- English
- Rewriting system for rewriting a memory on a vehicle controller
Patent term adjustment
- A delay
- +222 daysthe office missed an examination deadline
- B delay
- +205 dayspendency past three years
- Applicant delay
- −81 days
- Net adjustment
- 346 days
Classification
- CPC, 1
- G06F8/65
- IPC, 4
- F02D45 00
- B60R16 02
- G06F9 445
- G06F11 00
- USPC, 2
- 711103000
- 711154000