Control device, control method, and control program

JP7902076B2Active Publication Date: 2026-08-07AZBIL CORP
View PDF 8 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
AZBIL CORP
Filing Date
2022-09-29
Publication Date
2026-08-07

AI Technical Summary

Benefits of technology

【0012】 本発明によれば、バックアップの回数、処理時間、コスト等の制限下、データの整合性を保ちつつミラリングを行うことができるという効果を奏する。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007902076000001
    Figure 0007902076000001
  • Figure 0007902076000002
    Figure 0007902076000002
  • Figure 0007902076000003
    Figure 0007902076000003
Patent Text Reader

Abstract

To provide a control device with which it is possible to perform mirroring while maintaining data consistency under limitations regarding the number of times backed up, a processing time, cost, etc.SOLUTION: A control device comprises an acquisition unit, an SRAM, a DRAM, a determination unit, and a synchronization unit. The acquisition unit acquires an update designation, the SRAM stores data and a checksum value for each data type, and the DRAM stores backup data and a checksum value for each data type. The determination unit determines the type of memory data included in the update designation acquired by the acquisition unit, and the synchronization unit synchronizes the data stored in the SRAM with the backup data stored in the DRAM in accordance with the update designation acquired by the acquisition unit, by a method corresponding to the data type determined by the determination unit, and updates the checksum data in each.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a control device, a control method, and a control program.

Background Art

[0002] There is a technique called mirroring that prevents data loss by writing the same data to multiple storages.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] There are cases where it is difficult to perform mirroring while maintaining data consistency under limitations such as the number of backups, processing time, and cost.

[0005] For example, when using a flash ROM as a non-volatile memory for backing up data for restoration, since there is a limit on the number of write operations, considering the product life, only one data backup can be performed per day.

[0006] When performing a backup in such a situation, since it is restored to the data of the previous day, the integrated value may return to the value of the previous day, the value for which the schedule of the previous day was executed may return, or the operation parameters may return to the settings of the previous day, resulting in operational troubles.

[0007]

[0008] The present invention has been made in view of the above, and aims to provide a control device that can perform mirroring while maintaining data integrity under limitations such as the number of backups, processing time, and cost. [Means for solving the problem]

[0009] The control device according to the present invention comprises an acquisition unit, an SRAM, a DRAM, a determination unit, and a synchronization unit. The acquisition unit acquires update instructions, the SRAM stores checksum values ​​for each data and data type, the DRAM stores backup data and checksum values ​​for each data type, the determination unit determines the type of memory data included in the update instructions acquired by the acquisition unit, and the synchronization unit synchronizes the data stored in the SRAM and the backup data stored in the DRAM according to the update instructions acquired by the acquisition unit, in a manner corresponding to the data type determined by the determination unit, and updates the checksum values ​​in each.

[0010] In the control device described above, if the determination unit determines that the memory data included in the update instruction acquired by the acquisition unit is cumulative value data, it determines whether the data stored in the SRAM and the backup data stored in the DRAM match. If the determination unit determines that they match, the synchronization unit updates the checksum value calculated based on the memory data in the SRAM and the data to be updated according to the update instruction acquired by the acquisition unit. The synchronization unit then synchronizes the updated data and checksum value stored in the SRAM with the backup data and checksum value stored in the DRAM and updates the calculated checksum value.

[0011] In the control device described above, if the determination unit determines that the data is not an integrated value, the synchronization unit updates the memory data in the SRAM according to the update instruction obtained by the acquisition unit, synchronizes the updated data stored in the SRAM with the backup data stored in the DRAM, and updates the checksum value based on the updated data. [Effects of the Invention]

[0012] According to the present invention, it is possible to perform mirroring while maintaining data integrity, even under limitations such as the number of backups, processing time, and cost. [Brief explanation of the drawing]

[0013] [Figure 1] Figure 1 is a configuration diagram of the control device according to the embodiment. [Figure 2] Figure 2 is a diagram showing an overview of the processing performed by the control device according to this embodiment. [Figure 3] Figure 3 shows the repair process performed by the control device according to this embodiment. [Figure 4] Figure 4 is a flowchart showing the processing performed by the control device according to this embodiment. [Figure 5] Figure 5 is a flowchart showing the mirroring database construction process. [Figure 6] Figure 6 is a hardware configuration diagram for realizing the functions of the control device according to the embodiment. [Modes for carrying out the invention]

[0014] [Control device configuration] First, the configuration of the control device 100 will be explained using Figure 1. Figure 1 is a diagram showing an example of the configuration of the control device 100 according to this embodiment. As shown in Figure 1, the control device 100 includes a communication unit 110, a control unit 120, an SRAM 130, and a DRAM 140. Note that each of these units may be distributed and held by multiple devices. The processing of each of these units will be explained below.

[0015] The communication unit 110 is implemented using a NIC (Network Interface Card) or the like, and enables communication between the control unit 120 and external devices via telecommunication lines such as a LAN (Local Area Network) or the Internet. For example, the communication unit 110 enables communication between an external device and the control unit 120.

[0016] SRAM130 is a SRAM (Static Random Access Memory). SRAM130 stores checksum values for each data and data type. For example, SRAM130 stores runtime data, parameters, integrated value data, and checksum values.

[0017] DRAM140 is a DRAM (Dynamic Random Access Memory). DRAM140 stores checksum values for each backup data and data type. For example, DRAM140 stores runtime data, parameters, integrated value data, and checksum values. The control device 100 may use a DRAM such as SDRAM (Synchronous Dynamic Random Access Memory) as DRAM140.

[0018] The control unit 120 is implemented using a CPU (Central Processing Unit), NP (Network Processor), FPGA (Field Programmable Gate Array), etc., and executes a processing program stored in the memory. As shown in FIG. 1, the control unit 120 includes an acquisition unit 121, a determination unit 122, a synchronization unit 123, a diagnosis unit 124, and a repair unit 125. Hereinafter, each unit included in the control unit 120 will be described.

[0019] The acquisition unit 121 acquires an update instruction. For example, the acquisition unit 121 acquires memory data related to the runtime data included in the update instruction from the application. Also, for example, the acquisition unit 121 acquires memory data related to the integrated value data included in the update instruction from the application. Note that the integrated value data refers to continuous data that is updated by processes such as addition, subtraction, multiplication, and division based on values stored in a storage such as SRAM130 or DRAM140.

[0020] The determination unit 122 determines the type of memory data included in the update instruction acquired by the acquisition unit 121. For example, the determination unit 122 determines that the memory data included in the update instruction acquired by the acquisition unit 121 is runtime data. Also, for example, the determination unit 122 determines that the memory data included in the update instruction acquired by the acquisition unit 121 is integrated value data. Also, for example, the determination unit 122 determines that the memory data included in the update instruction acquired by the acquisition unit 121 is a parameter.

[0021] Also, when the determination unit 122 determines that the memory data included in the update instruction acquired by the acquisition unit 121 is integrated value data, the determination unit 122 determines whether the data stored in the SRAM 130 matches the backup data stored in the DRAM 140. That is, when there is an update for the integrated value data, the determination unit 122 compares the data stored in the SRAM 130 and the DRAM 140.

[0022] The synchronization unit 123 synchronizes the data stored in the SRAM 130 and the backup data stored in the DRAM 140 according to the update instruction acquired by the acquisition unit 121 by a method corresponding to the data type determined by the determination unit 122, and updates the checksum value for each.

[0023] For example, when the synchronization unit 123 determines that they match by the determination unit 122, the synchronization unit 123 updates the checksum value calculated based on the memory data and the data to be updated in the SRAM 130 according to the update instruction acquired by the acquisition unit 121, synchronizes the data stored in the updated SRAM 130 and the backup data stored in the DRAM 140, and updates the calculated checksum value. That is, when it is integrated value data and the data in the SRAM 130 and the DRAM 140 match, the synchronization unit 123 performs update, synchronization, and checksum update.

[0024] Furthermore, for example, if the determination unit 122 determines that the data is not an integrated value, the synchronization unit 123 updates the memory data in the SRAM 130 according to the update instruction acquired by the acquisition unit 121, synchronizes the updated data stored in the SRAM 130 with the backup data stored in the DRAM 140, and updates the checksum value in each. In other words, if the data is not an integrated value, the synchronization unit 123 performs the update and synchronization without comparing the data in the SRAM 130 and the DRAM 140.

[0025] The diagnostic unit 124 alternately diagnoses corruption of the data in the SRAM 130 and the DRAM 140 at predetermined intervals. For example, at one-minute intervals, the diagnostic unit 124 diagnoses whether or not there is corruption in the SRAM 130 or DRAM 140 by comparing the checksum value calculated from the data stored and recorded in the SRAM 130 with the checksum value recorded in the SRAM 130, and the checksum value calculated from the data stored and recorded in the DRAM 140 with the checksum value recorded in the DRAM 140.

[0026] If the repair unit 125 diagnoses that there is corruption in the data of the SRAM 130, it performs repair using the data of the DRAM 140, and if it diagnoses that there is corruption in the data of the DRAM 140, it performs repair using the data of the SRAM 130.

[0027] [Process Overview] Next, an overview of the processing performed by the control device 100 will be explained using Figure 2. The interface in Figure 2 corresponds to the acquisition unit 121. The memory data management unit in Figure 2 corresponds to the determination unit 122 and the synchronization unit 123. The SRAM in Figure 2 corresponds to the SRAM 130. The DRAM in Figure 2 corresponds to the DRAM 140.

[0028] First, the acquisition unit 121 acquires an update instruction. In other words, the control device 100 does not update the data directly from the application, but updates the memory data through an API provided by the memory data management unit (determination unit 122, synchronization unit 123). The SRAM 130 stores the data and checksum values ​​calculated for each data type. The DRAM 140 stores the backup data and checksum values ​​calculated for each data type.

[0029] Next, the determination unit 122 determines the type of memory data included in the update instruction. Then, the synchronization unit 123 synchronizes the SRAM 130 and DRAM 140 according to the data type determined by the determination unit 122.

[0030] For example, if the determination unit 122 determines that the type of memory data included in the update instruction is runtime data, the synchronization unit 123 updates the SRAM 130 according to the update instruction (1) and synchronizes the updated SRAM 130 with the DRAM 140 (2).

[0031] Furthermore, if the determination unit 122 determines, for example, that the type of memory data included in the update instruction is a parameter, the synchronization unit 123 performs the same process. The synchronization unit 123 updates the SRAM 130 according to the update instruction (3) and synchronizes the updated SRAM 130 with the DRAM 140 (4).

[0032] Furthermore, for example, if the determination unit 122 determines that the type of memory data included in the update instruction is cumulative value data, the determination unit 122 then compares the data stored in the SRAM 130 and the DRAM 140 (5). If the determination unit 122 determines that the data stored in the SRAM 130 and the DRAM 140 match, the synchronization unit 123 updates the SRAM 130 according to the update instruction (6) and synchronizes the updated SRAM 130 and the DRAM 140 (7).

[0033] Through the above-described process, the control device 100 can prevent application malfunctions and data-based duplication due to soft errors. For example, the control device 100 can prevent updates that add incorrect values ​​to accumulated value data.

[0034] [Repair process] Next, the repair process by the control device 100 will be explained using Figure 3. The memory data management unit in Figure 3 corresponds to the acquisition unit 121, the determination unit 122, the synchronization unit 123, and the repair unit 125. The SRAM in Figure 3 corresponds to the SRAM 130. The DRAM in Figure 3 corresponds to the DRAM 140. The memory data diagnostic unit in Figure 3 corresponds to the diagnostic unit 124.

[0035] If the application is functioning correctly, processing will proceed according to the flow described in Figure 2 above. However, for example, if the application malfunctions, the memory data in SRAM 130 may be corrupted, or bit corruption may occur in the memory data of SRAM 130 due to a soft error. In this case, the diagnostic unit 124 diagnoses damage to SRAM 130. Subsequently, the repair unit 125 repairs SRAM 130 using the data stored in DRAM 140.

[0036] On the other hand, if the memory data of the DRAM 140 is corrupted, the diagnostic unit 124 diagnoses the damage to the DRAM 140. Subsequently, the repair unit 125 repairs the DRAM 140 using the data stored in the SRAM 130.

[0037] Furthermore, even if bit corruption occurs due to a soft error in the cumulative value data stored in SRAM130, it will not affect the data on the DRAM140 side. As explained in Figure 2 above, the determination unit 122 and the synchronization unit 123 determine that if the memory data stored in SRAM130 and DRAM140 do not match, synchronization to DRAM140 will not be performed.

[0038] [flowchart] Next, the processing performed by the control device 100 with the above configuration will be explained with reference to the flowchart in Figure 4. First, the acquisition unit 121 acquires an update instruction (step S101). For example, the acquisition unit 121 acquires memory data related to runtime data included in the update instruction from the application. Also, for example, the acquisition unit 121 acquires memory data related to cumulative value data included in the update instruction from the application.

[0039] Next, the determination unit 122 determines the type of memory data included in the update instruction acquired by the acquisition unit 121 (step S102). For example, the determination unit 122 determines that the memory data included in the update instruction acquired by the acquisition unit 121 is runtime data. Alternatively, for example, the determination unit 122 determines that the memory data included in the update instruction acquired by the acquisition unit 121 is cumulative value data.

[0040] Then, if the determination unit 122 determines that the memory data included in the update instruction acquired by the acquisition unit 121 is cumulative value data (step S102 "YES"), it determines whether the data stored in the SRAM 130 matches the backup data stored in the DRAM 140 (step S103).

[0041] Then, if the determination unit 122 determines that they match (step S103 "YES"), the synchronization unit 123 updates the memory data of the SRAM 130 and calculates a checksum value and updates the checksum value according to the update instruction acquired by the acquisition unit 121 (step S104). By synchronizing the updated data stored in the SRAM 130 with the backup data stored in the DRAM 140, the synchronization unit 123 updates the data in the DRAM 140 and calculates a checksum value and updates the checksum value (step S105). If the determination unit 122 determines that they do not match (step S103 "NO"), the synchronization unit 123 does not perform the synchronization process.

[0042] On the other hand, if the determination unit 122 determines that the data is not an integrated value (step S102 "NO"), the synchronization unit 123 updates the memory data of the SRAM 130 according to the update instruction acquired by the acquisition unit 121 (step S106), and updates the data of the DRAM 140 by synchronizing the updated data stored in the SRAM 130 with the backup data stored in the DRAM 140 (step S107).

[0043] [flowchart] Next, the mirroring database construction process will be explained with reference to the flowchart in Figure 5. The mirroring database construction process is the process of constructing a database in the DRAM 140 with the same configuration as the data initially placed in the SRAM 130. The mirroring database construction process can be performed by the control device 100.

[0044] First, the control device 100 performs a hardware diagnosis of the SRAM 130 and DRAM 140 (step S201). Next, the control device 100 determines whether or not there is a hardware abnormality (step S202). If it is determined that there is no hardware abnormality (step S202 "NO"), the control device 100 loads the data from the SRAM 130 (step S203) and performs a RAM corruption diagnosis (step S204) to determine whether or not there is RAM corruption (step S205).

[0045] If it is determined that there is no RAM corruption (step S205 "NO"), the control device 100 builds a mirroring database of the SRAM 130 in the DRAM 140 (S206).

[0046] On the other hand, if it is determined that RAM corruption exists (step S205 "YES"), the control device 100 loads the backup database of the flash ROM as data for the SRAM 130 (step S207) and determines again whether RAM corruption exists (step S208). If it is determined that there is no RAM corruption (step S208 "NO"), the control device 100 builds a mirroring database of the SRAM 130 in the DRAM 140 (step S209).

[0047] On the other hand, if the determination of whether or not RAM corruption has occurred again determines that RAM corruption exists (step S208 "YES"), the control device 100 loads initial values ​​into SRAM 130 (step S210). Then, the control device 100 builds a mirroring database of SRAM 130 in DRAM 140 (step S211).

[0048] If a hardware abnormality is detected (step S202 "YES"), the control device 100 loads initial values ​​into the SRAM 130 (step S212) and builds a mirroring database of the SRAM 130 in the DRAM 140 (step S213). Then, it shuts down as a serious fault (step S214).

[0049] [effect] As described above, the control device 100 according to the embodiment includes an acquisition unit 121, an SRAM 130, a DRAM 140, a determination unit 122, and a synchronization unit 123. The acquisition unit 121 acquires update instructions. The SRAM 130 stores checksum values ​​for each data and data type. The DRAM 140 stores checksum values ​​for each backup data and data type. The determination unit 122 determines the type of memory data included in the update instructions acquired by the acquisition unit 121. The synchronization unit 123 synchronizes the data stored in the SRAM 130 and the backup data stored in the DRAM 140 according to the update instructions acquired by the acquisition unit 121, using a method corresponding to the data type determined by the determination unit 122, and updates the checksum values ​​for each.

[0050] As a result, the control device 100 according to the embodiment can perform mirroring while maintaining data integrity, under limitations such as the number of backups, processing time, and cost, using a synchronization method corresponding to the type of memory data.

[0051] Furthermore, in the control device 100 according to the embodiment, the determination unit 122 determines whether the data stored in the SRAM 130 and the backup data stored in the DRAM 140 match if the type of memory data included in the update instruction acquired by the acquisition unit 121 is cumulative value data. The synchronization unit 123, if determined by the determination unit 122 to match, updates the checksum value calculated based on the memory data in the SRAM 130 and the data to be updated, in accordance with the update instruction acquired by the acquisition unit 121. The synchronizer unit 123 then synchronizes the updated data stored in the SRAM 130 with the backup data stored in the DRAM 140 and updates the calculated checksum value.

[0052] As a result, the control device 100 according to the embodiment can perform mirroring while maintaining data integrity, under limitations such as the number of backups, processing time, and cost, using a synchronization method corresponding to the accumulated value data.

[0053] Furthermore, in the control device 100 according to the embodiment, if the determination unit 122 determines that the data is not an integrated value, the synchronization unit 123 updates the memory data of the SRAM 130 according to the update instruction acquired by the acquisition unit 121, synchronizes the updated data stored in the SRAM 130 with the backup data stored in the DRAM 140, and updates the checksum value in each case.

[0054] As a result, the control device 100 according to the embodiment can perform mirroring while maintaining data integrity, under limitations such as the number of backups, processing time, and cost, by using a synchronization method that corresponds to data other than the cumulative value data.

[0055] [Hardware configuration] Figure 6 illustrates an example of hardware configuration. As shown in Figure 6, the control device 100 includes a communication device 100a, an HDD (Hard Disk Drive) 100b, memory 100c, and a processor 100d. Furthermore, the components shown in Figure 6 are interconnected by a bus or the like.

[0056] The communication device 100a is a network interface card or the like, and communicates with other devices. The HDD 100b stores programs and databases that operate the functions shown in Figure 1.

[0057] The processor 100d operates the processes that perform the functions described in Figure 1 by reading programs that perform the same processing as each processing unit shown in Figure 1 from the HDD 100b or the like and loading them into memory 100c. For example, taking the control device 100 as an example, this process performs the same functions as each processing unit of the control device 100. Specifically, the processor 100d executes processes that perform the same processing as the acquisition unit 121, determination unit 122, synchronization unit 123, diagnosis unit 124, and repair unit 125.

[0058] Thus, the control device 100 operates as a control device that executes various control methods by reading and executing a program. Furthermore, the control device 100 can also achieve the same functionality as the embodiment described above by reading the program from the recording medium using a media reader and executing the read program. Note that the program referred to in this other embodiment is not limited to being executed by the control device 100. For example, the above embodiment may also be applied to cases where another computer or server executes the program, or where they cooperate to execute the program.

[0059] This program may be distributed via a network such as the Internet. Alternatively, this program may be recorded on a computer-readable recording medium such as a hard disk, flexible disk (FD), CD-ROM, MO (Magneto-Optical disk), or DVD (Digital Versatile Disc), and executed by being read from the recording medium by a computer.

[0060] [others] Up to this point, an example of an embodiment of the present invention has been described, but the present invention is not limited to the above embodiment. That is, those skilled in the art can carry out various modifications in accordance with conventionally known knowledge, without departing from the core of the present invention. As long as such modifications still provide the control device of the present invention, they are of course included within the scope of the present invention. [Explanation of symbols]

[0061] 100 Control device 110 Communications Department 120 Control Unit 121 Acquisition Department 122 Judgment section 123 Classmates 124 Diagnostic Department 125 Restoration Section 130 SRAM 140 DRAM

Claims

1. An acquisition unit that acquires update instructions, SRAM that stores checksum values ​​for each data type, A DRAM that stores checksum values ​​as backup data for each data type, A determination unit that determines the type of memory data included in the update instruction acquired by the acquisition unit, A synchronization unit synchronizes the data stored in the SRAM and the backup data stored in the DRAM, and updates the checksum value in each, in accordance with the update instruction acquired by the acquisition unit, using a method corresponding to the data type determined by the determination unit. It has, The determination unit, If the acquisition unit determines that the memory data included in the update instruction is cumulative value data, it determines whether the data stored in the SRAM matches the backup data stored in the DRAM. The aforementioned synchronization unit, If the determination unit determines that they match, the acquisition unit updates the checksum value calculated based on the SRAM memory data and the data to be updated, according to the update instruction acquired by the acquisition unit. The updated data stored in the SRAM is then synchronized with the backup data stored in the DRAM, and the calculated checksum value is updated. A control device characterized by the following features.

2. The aforementioned synchronization unit, If the determination unit determines that the data is not an integrated value, the acquisition unit updates the memory data in the SRAM according to the update instruction obtained, synchronizes the updated data stored in the SRAM with the backup data stored in the DRAM, and updates the checksum value in each case. The control device according to feature 1.

3. A method performed by a control device, The control device is SRAM that stores checksum values ​​for each data type, It has a DRAM that stores checksum values ​​as backup data for each data type, The acquisition process for obtaining update instructions, A determination step that determines the type of memory data included in the update instruction acquired by the acquisition step, A synchronization step in which, in accordance with the update instruction obtained in the acquisition step, the data stored in the SRAM and the backup data stored in the DRAM are synchronized and the checksum value is updated in each case, using a method corresponding to the data type determined in the determination step. Includes, The aforementioned determination step is, If it is determined that the memory data included in the update instruction acquired through the acquisition process is cumulative value data, then it is determined whether the data stored in the SRAM matches the backup data stored in the DRAM. The aforementioned synchronization process is If the determination step determines that they match, the checksum value calculated based on the SRAM memory data and the data to be updated, according to the update instruction obtained in the acquisition step, is updated, the updated data stored in the SRAM is synchronized with the backup data stored in the DRAM, and the calculated checksum value is updated. A control method characterized by the following:

4. The acquisition step for obtaining update instructions, A determination step to determine the type of memory data included in the update instruction acquired in the acquisition step, A synchronization step in which, in accordance with the update instruction obtained in the acquisition step, the data stored in the SRAM that stores the checksum value for each data type and the backup data stored in the DRAM that stores the checksum value for each data type as backup data are synchronized and the checksum value is updated in each case, using a method corresponding to the data type determined in the determination step, Have the computer run it, The aforementioned determination step is, If it is determined that the memory data included in the update instruction acquired in the acquisition step is cumulative value data, then it is determined whether the data stored in the SRAM matches the backup data stored in the DRAM. The aforementioned synchronization step is If a match is determined in the determination step, the checksum value calculated based on the SRAM memory data and the data to be updated, according to the update instruction obtained in the acquisition step, is updated, the updated data stored in the SRAM is synchronized with the backup data stored in the DRAM, and the calculated checksum value is updated. A control program characterized by the following features.

Citation Information

Patent Citations

  • Cache memory control method

    JP1995191910A

  • Device and method for memory control and computer-readable storage medium having stored program

    JP1999328039A

  • Process controller and diagnosis method of control data of the same

    JP2006003929A

  • Vehicular control device

    JP2008077221A

  • Device

    JP2009187049A