DATA OVERWRITING DEVICE AND DATA OVERWRITING METHOD
20190287626 ยท 2019-09-19
Assignee
Inventors
- Takuya KAWASAKI (Kariya-city, JP)
- Sho NAKAMURA (Kariya-city, JP)
- Yuzo HARATA (Kariya-city, JP)
- Kazuhiro UEHARA (Kariya-city, JP)
- Mitsuyoshi NATSUME (Kariya-city, JP)
- Kazuaki HAYAKAWA (Kariya-city, JP)
Cpc classification
G11C16/102
PHYSICS
G11C16/105
PHYSICS
International classification
Abstract
A data overwriting device includes an overwriting unit that overwrites a part of data stored in a memory, the part in which a difference is generated; a first writing unit that writes first information in a first storage unit when a data overwriting process is completed by the overwriting unit; a second writing unit that writes second information in a second storage unit when confirming that the part of the data overwritten by the overwriting unit includes no error; and a deleting unit that clears the first storage unit storing the first information and the second storage unit storing the second information before the overwriting unit starts executing the data overwriting process.
Claims
1. A data overwriting device comprising: an overwriting unit that overwrites a part of data stored in a memory, the part in which a difference is generated; a first writing unit that writes predetermined first information in a first storage unit when a data overwriting process is completed by the overwriting unit; a second writing unit that writes predetermined second information in a second storage unit when confirming that the part of the data overwritten by the overwriting unit includes no error; and a deleting unit that clears the first storage unit storing the first information and the second storage unit storing the second information before the overwriting unit starts executing the data overwriting process.
2. The data overwriting device according to claim 1, wherein: the first storage unit and the second storage unit are disposed at an outside of an overwriting area of the memory in which the part of the data is overwritten.
3. The data overwriting device according to claim 2, wherein: the first storage unit and the second storage unit are separately disposed at the outside of the overwriting area.
4. The data overwriting device according to claim 2, further comprising: an integrated storage unit that includes the first storage unit and the second storage unit and disposed at an outside of the overwriting area.
5. The data overwriting device according to claim 1, wherein: the first storage unit and the second storage unit are disposed in an overwriting area of the memory in which the part of the data is overwritten; and the overwriting unit recognizes the first storage unit storing the first information and the second storage unit storing the second information as the part of the data to be cleared.
6. The data overwriting device according to claim 2, further comprising: a saving unit that temporarily saves the part of the data to be overwritten by the overwriting unit, wherein: the first storage unit and the second storage unit are disposed in the saving unit.
7. A data overwriting method comprising: overwriting a part of data stored in a memory, the part in which a difference is generated; writing predetermined first information in a first storage unit when the overwriting is completed; writing predetermined second information in a second storage unit when confirming that the part of the data overwritten in the overwriting includes no error; and clearing the first storage unit storing the first information and the second storage unit storing the second information before starting the overwriting.
Description
BRIEF DESCRIPTION OF DRAWINGS
[0016] The above and other objects, features and advantages of the present disclosure will become more apparent from the following detailed description made with reference to the accompanying drawings. In the drawings:
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
EMBODIMENTS FOR CARRYING OUT INVENTION
[0027] Hereinafter, embodiments of the present disclosure relating to data overwriting device will be described with reference to attached drawings. In the following embodiments, substantially identical elements will be indicated by the same reference sign and the explanation thereof will not be skipped.
[0028] (Precedent Configuration of Data Overwriting Device)
[0029] The data overwriting device 10 illustrated in
[0030] The overwriting software storage unit 101 stores data overwriting software for controlling the data overwriting device 10 to execute a data overwriting process. The data overwriting software is an example of a data overwriting program. The data storage unit 102, for example, stores data constituting software used by the user and the like. The data storage unit 102 includes a plurality of block areas. The data overwriting device 10 is capable of overwriting the data stored in the data storage unit 102 in units of blocks. When the data overwriting device 10 overwrites the data stored in the data storage unit 102, particularly when only the difference is overwritten, the saving unit 103 is a region for saving temporarily a part of the data as an overwriting object data where the difference is not generated.
[0031] The data overwriting device 10 can save the data until the saving unit 103 for one block is filled with the saving data. Then, the data overwriting device 10 can execute data overwriting processing, more specifically, a generation step and a writing step of new data described later after the save portion 103 is filled with the saving data.
[0032] The data overwriting device 10 virtually realizes the overwriting unit 11, the first writing unit 12, the second writing unit 13, and the deleting unit 14 by executing the data overwriting software read out from the overwriting software storage unit 101. Here, these processing units 11 to 14 may be realized by hardware, or may be realized by a combination of software and hardware.
[0033] The overwriting unit 11 executes the overwriting process for overwriting the data stored in the data storing unit 102. In this case, the data overwriting unit 11 can perform the differential overwriting process for overwriting the data in which the difference is generated from the data written in the data storing unit 102.
[0034] After completing the data overwriting process by the overwriting unit 11, the first writing unit 12 writes the flash status information in the first storage unit 21 described later. The flash status information is an example of the first information. When the flash status information is written in the first storage unit 21, this indicates a state that the data overwriting process is completed. When the flash status information is not written in the first storage unit 21 yet, this indicates a state that the data overwriting process is not completed.
[0035] After completing the data overwriting process by the overwriting unit 11, the second writing unit 13 confirms whether the data written by the overwriting unit 11 includes an error. Then, when confirming that the data written by the overwriting unit 11 includes no error, the second writing unit 13 writes the stamp information in the second storage unit 22, which will be described later. The stamp information is an example of the second information. When the stamp information is written in the second storage unit 22, this indicates that the written data does not include an error. Further, when the stamp information is not written in the second storage unit 22, this indicates that the written data includes an error. As a method for checking whether the written data includes an error, various checking methods such as a well-known CRC method can be adopted.
[0036] Before the overwriting unit 11 starts to execute the data overwriting process, the deleting unit 14 clears the first storage unit 21 that stores the flash status information and the second storage unit 22 that stores the stamp information in block units. Specifically, the deleting unit 14 surely deletes both the flash status information and the stamp information, written in the memory 100 at the completion of the previous data overwriting process, before the current data overwriting process starts. In the data overwriting device 10 having a certain specification, the deleting unit 14 may specify the flash status information stored in the first storage unit 21 and the stamp information stored in the second storage unit 22, and delete these information with surgical precision.
[0037] Next, an operation example of the data overwriting process executed by the data overwriting device 10 will be described. As illustrated in
[0038] The data overwriting device 10 repeatedly executes the steps A 1 to A 5 of the process for all the block areas where the difference has occurred (No at S 6). When overwriting the data in all the block areas where the difference has occurred (Yes at S 6), the data overwriting device 10 stores the flash status information in the first storage unit 21 (at S 7). Then, the data overwriting device 10 checks whether the overwritten data includes an error (at S 8). When confirming that the overwritten data does not include an error (No at S 8), the data overwriting device 10 stores the stamp information in the second storage unit 22 (at S 9), and the process is completed.
[0039] When an error is included in the overwritten data (Yes at S 8), the data overwriting device 10 executes a predetermined error handling process (at S 10). As the error handling process, for example, various processes such as a process of restarting the data overwriting process, a process of notifying by a display or a voice output that the data overwriting process has failed, a process of prohibiting the use of the data and the like can be considered.
[0040] The data overwriting device 10 having the above described prerequisite configuration can be realized in each of multiple embodiments that provide to surely delete the flash status information and the stamp information written at the time of the completion of the previous data overwriting process before starting the current data overwriting process. Each embodiment will be described as follows.
First Embodiment
[0041] As illustrated in
[0042] Then, the data overwriting device 10 deletes the data as the overwriting object data. Then, the data overwriting device 10 stores the new data in the block area in which the data is deleted. After completing the data overwriting process by the data overwriting device 10, the data overwriting device 10 writes the flash status information in the first storage unit 21. Then, the data overwriting device 10 checks whether the overwritten data includes an error. Then, when confirming that the written data does not include an error, the data overwriting device 10 writes the stamp information D 2 in the second storage unit 22.
[0043] According to the present embodiment, the data overwriting device 10 surely deletes the flash status information and the stamp information written at the time of the completion of the previous data overwriting process, and then, starts executing the current data overwriting process. Accordingly, when the process is interrupted during the present data overwriting process, the flash status information and the stamp information are deleted. Therefore, it can be recognized that the overwriting of data is incomplete, and it is possible to avoid using the data.
[0044] Further, the configuration of the present embodiment may be realized by securing two block areas of the block area for the first storage unit 21 and the block area for the second storage unit 22 at the outside of the data storage unit 102. Therefore, it is not necessary to greatly change the prerequisite configuration of the data overwriting device 10, and it is possible to utilize the existing configuration almost as it is.
Second Embodiment
[0045] As illustrated in
[0046] As illustrated in
[0047] Then, the data overwriting device 10 deletes the data as the overwriting object data. Then, the data overwriting device 10 stores the new data in the block area in which the data is deleted. After completing the data overwriting process by the data overwriting device 10, the data overwriting device 10 writes the flash status information in the integrated storage unit 31. Then, the data overwriting device 10 checks whether the overwritten data includes an error. Then, when confirming that the written data does not include an error, the data overwriting device 10 writes the stamp information D 2 in the integrated storage unit 31.
[0048] According to the present embodiment, the data overwriting device 10 surely deletes the flash status information and the stamp information written at the time of the completion of the previous data overwriting process, and then, starts executing the current data overwriting process. Accordingly, when the process is interrupted during the present data overwriting process, the flash status information and the stamp information are deleted. Therefore, it can be recognized that the overwriting of data is incomplete, and it is possible to avoid using the data.
[0049] Further, the configuration of the present embodiment can be realized by securing a block area for the integrated storage unit 31 at the outside of the data storage unit 102. Therefore, it is not necessary to greatly change the prerequisite configuration of the data overwriting device 10, and it is possible to utilize the existing configuration almost as it is.
Third Embodiment
[0050] As illustrated in
[0051] As illustrated in
[0052] Then, the data overwriting device 10 deletes the data as the overwriting object data. Then, the data overwriting device 10 writes new data in a block area, where data is deleted, of an area other than the first storage unit 21 and the second storage unit 22. After completing the data overwriting process by the data overwriting device 10, the data overwriting device 10 writes the flash status information in the first storage unit 21. Then, the data overwriting device 10 checks whether the overwritten new data includes an error. Then, when confirming that the overwritten data does not include an error, the data overwriting device 10 writes the stamp information D 2 in the second storage unit 22.
[0053] According to the present embodiment, the data overwriting device 10 surely deletes the flash status information and the stamp information written at the time of the completion of the previous data overwriting process, and then, starts executing the current data overwriting process. Accordingly, when the process is interrupted during the present data overwriting process, the flash status information and the stamp information are deleted. Therefore, it can be recognized that the overwriting of data is incomplete, and it is possible to avoid using the data.
[0054] Further, the configuration of the present embodiment may be realized by securing two block areas of the block area for the first storage unit 21 and the block area for the second storage unit 22 at the inside of the data storage unit 102. Therefore, it is not necessary to greatly change the prerequisite configuration of the data overwriting device 10, and it is possible to utilize the existing configuration almost as it is. Further, since the existing configuration can be used as it is, it is not necessary to newly form a block area for the first storage unit 21 and a block area for the second storage unit 22. Therefore, it is possible to prevent the memory area for storing the application program from being compressed.
Fourth Embodiment
[0055] As illustrated in
[0056] Then, the data overwriting device 10 saves a part of the data, where no difference is generated, among the data as the overwriting object data, into the saving unit 103 as the saving data D3. Then, the data overwriting device 10 deletes the data as the overwriting object data. Then, the data overwriting device 10 combines the difference data with the saved data D 3 saved in the saving unit 103 to generate new data. Then, the data overwriting device 10 stores the new data in the block area in which the data is deleted. After completing the data overwriting process, the data overwriting device 10 writes the flash status information D1 in the saving unit 103. Then, the data overwriting device 10 checks whether the overwritten new data includes an error. Then, when confirming that the overwritten data does not include an error, the data overwriting device 10 writes the stamp information D 2 in the saving unit 103.
[0057] According to the present embodiment, the data overwriting device 10 surely deletes the flash status information and the stamp information written at the time of the completion of the previous data overwriting process, and then, starts executing the current data overwriting process. Accordingly, when the process is interrupted during the present data overwriting process, the flash status information and the stamp information are deleted. Therefore, it can be recognized that the overwriting of data is incomplete, and it is possible to avoid using the data.
[0058] Further, the configuration of the present embodiment can be realized by securing the first storage unit 21 and the second storage unit 22 in the save unit 103. Therefore, it is not necessary to greatly change the prerequisite configuration of the data overwriting device 10, and it is possible to utilize the existing configuration almost as it is. Further, since the existing configuration can be used as it is, it is not necessary to newly form a block area for the first storage unit 21 and a block area for the second storage unit 22. Therefore, it is possible to prevent the memory area for storing the application program from being compressed.
[0059] In the present embodiment, at least one of the same data string as the flash status information and the same data string as the stamp information is accidentally included in the data D 3 saved in the saving unit 103 may also occur. Therefore, the data overwriting device 10 may have a configuration with a function for checking whether the same data string as the flash status information D 1 and the same data string as the stamp information D 2 are included in the data D 3 to be saved in the saving unit 103.
OTHER EMBODIMENTS
[0060] The present disclosure is not limited to the embodiments described above, and various modifications may be adopted within the scope of the present disclosure without departing from the spirit of the disclosure. For example, a plurality of the above-described embodiments may be combined as appropriate.
[0061] Although the present disclosure is described based on the above embodiment, the present disclosure is not limited to the embodiment and the structure. The present disclosure may cover various modification examples and equivalent arrangements. Furthermore, various combinations and formations, and other combinations and formations including one or more than one or less than one element may be included in the scope and the spirit of the present disclosure.