Program, raid driver program, controller, electronic apparatus, and automatic transaction device

The program addresses the long rebuild times in RAID1 systems by executing the rebuild during startup, ensuring that other application programs can maintain their processing speed even when an abnormality is detected.

JP2025080310APending Publication Date: 2025-05-26OKI ELECTRIC INDUSTRY CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2023193385
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-11-14
Publication Date
2025-05-26

AI Technical Summary

Technical Problem

Rebuilding in RAID1 systems takes a long time, which can prevent or slow down the execution of other application programs when an abnormality is detected in a non-volatile storage unit.

Method used

A program that mediates between the RAID driver and application programs, allowing the rebuild process to be executed using data from a normal non-volatile storage unit during startup, rather than during active application execution.

Benefits of technology

This approach maintains the execution processing speed of other application programs even when an abnormality is detected, by deferring the rebuild process to startup when it won't impact application performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025080310000001_ABST
    Figure 2025080310000001_ABST
Patent Text Reader

Abstract

To maintain an execution processing speed of another application program even in a case of the detection of an abnormality of any SSD.SOLUTION: A program causes a control unit to execute control between a RAID driver program for storing data of the same content in a plurality of SSDs and an application program. When detecting an abnormality of any SSD during the last execution of its program (Yes in S2), the execution control program causes the abnormality SSD to execute a rebuild using data of the other normal SSD (S6) at the starting time of this occasion. When detecting an abnormality of any SSD during that execution (Yes in S4), the program causes processing to continue using data of the other normal SSD without performing the rebuild (S5).SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a program, a RAID driver program, a control device, an electronic device, and an automatic trading device, and more particularly to a service program for controlling a plurality of non-volatile storage units controlled by RAID1.

Background Art

[0002] There is known a RAID1 technique in which the same data is stored in a plurality of non-volatile storage units so that even if any one of the non-volatile storage units fails, it can be driven using the data stored in other non-volatile storage units. Patent Document 1 describes "executing mirroring by the RAID1 method" and "executing a rebuild process when it is shown that the verification process result is abnormal".

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] Rebuilding takes a long time (several minutes to one hour, and in some cases several hours to several days). Therefore, when the verification process by mirroring is abnormal as in Patent Document 1, immediately executing the rebuild may prevent other application programs from being executed or may slow down the execution processing speed.

[0005] The present invention has been made to solve such problems, and an object of the present invention is to provide a program, a RAID driver program, a control device, an electronic device, and an automatic trading device that can maintain the execution processing speed of other application programs even when an abnormality in any non-volatile storage unit is detected.

Means for Solving the Problem

[0006] To achieve the above object, the program of the present invention is a program (for example, a resident RAID service program 6) that mediates between a RAID driver program (5) that causes a control unit (CPU1) to execute control for storing data of the same content in a plurality of non-volatile storage units (SSD3, 4) and an application program (for example, an ATM application program 7), and causes the control unit to execute. When an abnormality of any of the non-volatile storage units (for example, SSD3) was detected during the execution of the previous self-program, at the time of the current startup or when the machine unit (300) is driven, using the data of another normal non-volatile storage unit (for example, SSD4), a rebuild is executed on the failed non-volatile storage unit (for example, SSD3). Note that the symbols and characters in parentheses are the symbols etc. attached in the embodiment, and do not limit the present invention.

Advantages of the Invention

[0007] According to the present invention, even if an abnormality of any non-volatile storage unit is detected, the execution processing speed of other application programs can be maintained.

Brief Description of the Drawings

[0008]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Embodiments for Carrying Out the Invention

[0009] Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. Note that each drawing only schematically shows the embodiments to such an extent that they can be sufficiently understood. Also, in each drawing, common components and similar components are denoted by the same reference numerals, and redundant descriptions thereof are omitted.

[0010] (First Embodiment) FIG. 1 is a configuration diagram of a control device which is the first embodiment of the present invention. The control device 100 is configured to execute an ATM (Automated Teller Machine) application program 7 (FIG. 2) on an OS (Operating System) stored in SSDs (Solid State Discs) 3 and 4 as non-volatile storage units. Note that the non-volatile storage unit is not limited to SSDs 3 and 4, and may be an HDD (Hard Disk Drive) or the like. The control device 100 controls each part constituting an automatic transaction device 1000 (FIG. 4) described later by executing an application program (for example, the ATM application program 7).

[0011] The control device 100 includes a CPU (Central Processing Unit) 1 as a control unit, a chipset 2, SSDs 3 and 4 as a plurality of non-volatile storage units, a RAM 8 as a volatile storage unit, and an interface 9. The CPU 1 controls an external device via the interface 9. The RAM 8 functions as a working memory. The chipset 2 functions as a SATA (Serial Advanced Technology Attachment) controller and a RAID (Redundant Arrays of Inexpensive Disks) controller that controls the SSDs 3 and 4 based on the control of the CPU 1. The SATA standard is the ATA (Advanced Technology Attachment) standard in a serial communication format. Note that the ATA standard is a standard connection method for connecting an external storage device to a computer main body for communication.

[0012] RAID is a technology that combines multiple non-volatile storage units to be recognized as one virtual non-volatile storage unit to improve redundancy, and the RAID standard mainly includes RAID0 to RAID6. In this embodiment, RAID1 of the RAID standard is assumed. RAID1 requires at least two or more devices, and simply records the same content data on each device (mirroring). Thus, even if an abnormality in any one device is detected, processing can be executed using the data stored in the remaining normal devices, and the data can be replicated to the device in which the abnormality is detected. Here, the detection of an abnormality includes misdetection of the stop of any non-volatile storage unit controlled by RAID1, detection of a communication timeout, detection of a state where only the non-stop non-volatile storage units are operating (single-system state), etc. Note that the CPU 1 executes a program stored in any normal SSD 3 or 4.

[0013] Figure 2 is a functional diagram showing the relationship between the RAID driver program 5 and the ATM application program 7. A RAID service program 6 is interposed between the RAID driver program 5 and the ATM application program 7. That is, the RAID service program 6 controls the communication between the RAID driver program 5 and the ATM application program 7. When the control device 100 is powered on or reset, first, the OS is started, and then the RAID driver 5, the RAID service program 6, and the ATM application program 7 are started in this order. Note that the RAID driver 5 and the RAID service program 6 are resident programs.

[0014] FIG. 3 is a flowchart for explaining the operation of the RAID service program 6 executed by the control device according to the first embodiment of the present invention. First, when the control device 100 (FIG. 1) is powered on, the OS and the RAID driver program 5 are started, and then this flow is started. Also, it will be described as being executed not only during the startup by the current power-on but also during the startup by the previous power-on (during the execution of the RAID service program 6).

[0015] In the current startup, the CPU 1 as the control unit determines whether a failure has been detected (abnormality detected) during the previous startup (during the execution of the RAID service program 6) (S2). If no failure was detected during the previous startup (No in S2), the CPU 1 monitors the RAID status (S3). Thereby, the CPU 1 grasps the presence or absence of failures in the SSDs 3 and 4. If no failure has been detected (No in S3), the CPU 1 returns the process to S3 and continues to monitor the RAID status. On the other hand, if a failure in the SSD has been detected (Yes in S4), the CPU 1 saves which of the SSDs 3 and 4 (for example, SSD 3) has failed, and while continuing the execution using the normal SSD (for example, SSD 4) (S5), the process is returned to S3 and the monitoring of the RAID status is continued.

[0016] On the one hand, if a failure was detected during the previous startup (Yes in S2), the CPU 1 uses the data of a normal SSD (for example, SSD4) to perform a rebuild on the previously failed SSD (for example, SSD3) (S6). The CPU 1 determines whether the rebuild has completed normally (S7). If it has completed normally (Yes in S7), the CPU 1 returns the process to S3 and continues monitoring the RAID status. On the other hand, if it has not completed normally (No in S7), the CPU 1 notifies the application (AP, for example, the ATM application program 7) of the abnormality (S8) and ends the process.

[0017] As described above, in the control device 100 of the present embodiment, the OS, the RAID driver program 5, the RAID service program 6, and the ATM application program 7 are started in this order. And even if one of SSDs 3 and 4 (FIG. 1) (for example, SSD3) fails during the previous startup (execution) of the RAID service program 6, the CPU 1 of the control device 100 executes the ATM application program 7 stored in the other normal SSD (for example, SSD4) to continue the transaction process. And at the time of this startup, the control device 100 performs a rebuild on the failed SSD3 using the data stored in the normal SSD4. Thereby, even if the rebuild takes an extremely long time, the control device 100 performs the rebuild at the time of this startup (that is, before the transaction process), so that the execution of the transaction process is not delayed.

[0018] (Automated teller machine) FIG. 4 is a configuration diagram of an automated teller machine according to the first embodiment of the present invention. The automated teller machine 1000 includes a control device 100, a mechanical unit power supply 200, a customer display operation unit 150, a maintenance display operation unit 160, a banknote unit 310 as a media handling unit, a coin unit 320, a card unit 330, and a passbook unit 340, which are built into a main body housing 900. Note that the banknote unit 310, the coin unit 320, the card unit 330, and the passbook unit 340 constitute the mechanical unit 300.

[0019] The CPU 1 of the control device 100 executes the ATM application program 7 stored in the SSDs 3 and 4. As a result, the control device 100 executes transaction processing, causes a transaction screen to be displayed on the customer service display operation unit 150, and causes a maintenance screen to be displayed on the maintenance display operation unit 160. Also, the control device 100 controls the mechanical unit 300 via the interface 9 (FIG. 1).

[0020] The mechanical unit power supply 200 is an insulated power converter that outputs DC power using commercial power. The mechanical unit power supply 200 has a power switch 210 and a battery 220 for backup connected thereto. The power switch 210 has a power-on state in which DC power is supplied to the control device 100 and the mechanical unit 300, and a power-off state in which the DC power is cut off. Also, in the power-on state (when the OS is started), a short press of the power switch 210 causes the control device 100 to shut down, and a long press of the power switch 210 causes the control device 100 to perform a forced power-off operation.

[0021] The mechanical unit power supply 200 includes a terminal (24V) and a terminal (24VS). The terminal (24V) outputs DC power of 24V in conjunction with the power-on state / power-off state of the power switch 210. The terminal (24VS) outputs DC power of 24V as long as it is connected to commercial power, regardless of the power-on state / power-off state of the power switch. Also, the terminal (24V) is connected to the mechanical unit 300, and the terminal (24VS) is connected to the control device 100, the customer service display operation unit 150, and the maintenance display operation unit 160.

[0022] The banknote unit 310 is a media handling unit including a delivery unit 310a. The coin unit 320 is a unit that stores and dispenses coins by denomination. The card unit 330 is a unit that reads IC cards and magnetic cards. The passbook unit 340 is a unit that posts transactions to a passbook.

[0023] As described above, even when the CPU 1 of the control device 100 of the present embodiment detects a failure in either one of the SSDs 3 and 4 (FIG. 1) (for example, SSD 3), it executes the ATM application program 7 stored in the other normal SSD (for example, SSD 4). Thereby, the transaction process is continued. Then, at the next startup (when transitioning from the power-off state to the power-on state), the control device 100 performs a rebuild on the failed SSD 3 using the data stored in the normal SSD 4. Since the rebuild takes a long time, if the rebuild is performed at the time of failure at the previous startup, there is a problem that the execution of the transaction process becomes slow. However, the control device 100 performs the rebuild at the current startup (that is, before the transaction process), so that the execution of the transaction process does not become slow.

[0024] (Second Embodiment) In the first embodiment, failure detection is performed at the startup of the RAID service program 6 (when a startup incident occurs) (S2), but failure detection can also be performed at the startup of the ATM application program 7.

[0025] FIG. 5 is a flowchart for explaining the operation of a program executed by a control device according to the second embodiment of the present invention.

[0026] The CPU 1 as the control unit executes the RAID service program 6 and the ATM application program 7. The CPU 1 executing the ATM application program 7 determines whether a failure was detected (abnormality detected) during the previous startup (execution) (S11). If a failure was detected (Yes in S11), the CPU 1 causes the RAID service program 6 to perform a rebuild (S12). After the process of S12, the CPU 1 performs a rebuild on the SSD (for example, SSD3) where the previous failure was detected (S13). After the process of S13, the CPU 1 executing the RAID service program 6 determines whether the rebuild has completed normally (S14). If it has completed normally (Yes in S14), the CPU 1 monitors the RAID status (S16). Thereby, the CPU 1 grasps the presence or absence of failures in SSD3 and 4. If no failure was detected (No in S17), the CPU 1 returns the process to S16 and continues to monitor the RAID status. On the other hand, if a failure in SSD3 or 4 is detected (Yes in S17), the CPU 1 saves which of SSD3 or 4 (for example, SSD3) has failed to a normal SSD (for example, SSD4) (S18). Further, the CPU 1 continues the process using the normal SSD (S18). After the process of S18, the CPU 1 returns the process to S16 and continues to monitor the RAID status.

[0027] If no failure was detected during the previous startup (No in S11), the CPU 1 causes the RAID service program 6 to perform RAID status monitoring (S16).

[0028] As described above, according to the present embodiment, in the execution of the current ATM application program 7, it is determined whether a failure in SSD3 or 4 was detected (abnormality detected) during the previous execution (S11). And if a failure was detected in the previous execution (Yes in S11), a rebuild is performed in the current execution (S13).

[0029] (Comparative example) In the first embodiment, a rebuild was executed when the RAID service program 6 was started, and in the second embodiment, a rebuild was executed when the ATM application program 7 was started. In this comparative example, a rebuild is executed when a failure is detected during the previous startup (execution).

[0030] FIG. 6 is a flowchart for explaining the operation of the RAID service program 6 executed by the control device which is a comparative example of the present invention. Upon startup of the RAID service program 6, the CPU 1 executes RAID status monitoring (S21). After the process of S21, the CPU 1 determines whether a failure has been detected (abnormality detected) (S22). If no failure of the SSDs 3 and 4 has been detected (No in S22), the CPU 1 returns the process to S21 and continues the RAID status monitoring.

[0031] On the other hand, if a failure of the SSDs 3 and 4 has been detected (Yes in S22), the CPU 1 executes a rebuild for the detected SSD (for example, SSD 3) (S23). At this time, the rebuild uses the data of the normal SSD (for example, SSD 4). After the process of S23, the CPU 1 determines whether the rebuild has ended normally (S24). If the rebuild has ended normally (Yes in S24), the CPU 1 returns the process to S21 and continues the RAID status monitoring. On the other hand, if the rebuild has not ended normally (No in S24), the CPU 1 notifies the ATM application program 7 (AP) of the abnormality (S25) and ends the process.

[0032] As described above, according to the RAID service program 6 of this comparative example, a rebuild is immediately executed upon detection of a failure (abnormality detection). Therefore, when the rebuild takes time, other processes (for example, transaction processing by the ATM application program 7) cannot be performed or other processes may be delayed. However, according to the RAID service program 6 of each of the above embodiments, since the rebuild is executed at the next startup, the rebuild can be completed before performing other processes (for example, transaction processes). Therefore, other processes (for example, transaction processes) will not become impossible to perform or be delayed.

[0033] Also, in the control device of this comparative example, even though the SSDs 3 and 4 are normal, events may occur such as misdetection of the failure of any one SSD (for example, SSD3) or a single-system state due to a communication timeout. As causes, multiple factors such as the internal processing of the SSDs 3 and 4, the OS, the device driver program 5, and the ATM application program 7 can be considered. However, many of these behaviors have not been publicly detailed, and it is difficult to prevent misdetection. Also, due to misdetection, it is determined as "SSD failure" or "RAID failure" on the ATM application program 7, so problems also occur in terms of an increase in the failure rate and maintenance costs.

[0034] However, in the case of the control device 100 of each of the above embodiments, even if an abnormality is detected due to misdetection or a communication timeout, etc., the transaction process is continued using the SSD (for example, SSD4) determined to be normal. Also, in the case of an abnormality detection due to mere misdetection or a communication timeout, etc., the SSD (for example, SSD3) in which the abnormality is detected returns to a normal state by the rebuild at the next startup.

[0035] (Modification example) The present invention is not limited to the above-described embodiments, and various modifications such as the following are possible, for example. (1) In the automatic transaction device 1000 of the above embodiment, a rebuild was executed at the time of this startup, but a rebuild may be executed when the machine unit 300 is driven. That is, when a failure of any one of the SSDs 3 and 4 (for example, SSD 3) was detected during the execution of the previous self-program (service program 6), at the time of this startup or at the driving stage of the machine unit 300, data of other normal SSDs 3 and 4 (for example, SSD 4) may be used to execute a rebuild for the failed SSD 3 and 4 (for example, SSD 3). Since the machine unit 300 rarely performs other transaction processes during operation, even if a rebuild is executed, other transaction processes will not be delayed.

[0036] (2) In each of the above embodiments, it is assumed that the RAID driver program 5 and the RAID service program 6 are started after the OS is started. Here, when the RAID service program 6 is started earlier than the RAID driver program 5, a process for the RAID service program 6 to confirm the startup of the RAID driver program 5 is required.

[0037] (3) In each of the above embodiments, the RAID service program 6 is interposed between the RAID driver program 5 and the ATM application program 7. Not limited to this, the RAID driver program 5 itself may be configured to detect a failure of any one of the SSDs 3 and 4 (for example, SSD 3) during the execution of the previous self-program.

Explanation of Reference Numerals

[0038] 1 CPU (control unit) 2 Chipset 3, 4 SSD 5 RAID driver program 6 RAID service program 7 ATM application program 8 RAM 9 Interface 100 Control device 150 Customer service display operation unit 160 Maintenance display operation unit 200 Mechanical Unit Power Supply 210 Power Switch 220 Battery 300 Mechanical Unit 310 Banknote Unit (Media Handling Unit) 310a Delivery Unit 900 Main Body Housing 1000 Automated Transaction Device

Claims

1. A program that mediates between a RAID driver program that causes a control unit to perform control to store data of the same content in a plurality of non-volatile storage units and an application program, and is a program to be executed by the control unit, when an abnormality in any of the non-volatile storage units was detected during the execution of the previous self-program, at the time of the current startup, using the data of other normal non-volatile storage units, cause the non-volatile storage unit with the abnormality to perform a rebuild A program characterized by this.

2. When an abnormality in any of the non-volatile storage units is detected during the execution, without performing the rebuild, continue the process using the data of the other normal non-volatile storage units The program according to claim 1, characterized by this.

3. The control unit controls an external mechanical unit using the application program, The rebuild is also executed when the mechanical unit is driven The program according to claim 1 or claim 2, characterized by this.

4. The detection of the abnormality is performed by monitoring the RAID status generated by the RAID driver program The program according to claim 1, characterized by this.

5. A program that mediates between a RAID driver program that causes a control unit to perform control to store data of the same content in a plurality of non-volatile storage units and an application program, and is a program to be executed by the control unit, when an abnormality in any of the non-volatile storage units is detected during the execution of the current self-program, at the next startup, using the data of other normal non-volatile storage units, cause the non-volatile storage unit with the abnormality to perform a rebuild A program characterized by this.

6. A RAID driver program that causes a control unit to perform control to store data of the same content in a plurality of non-volatile storage units, when an abnormality in any of the non-volatile storage units was detected during the execution of the previous self-RAID driver program, at the time of the current startup, using the data of other normal non-volatile storage units, cause the non-volatile storage unit with the abnormality to perform a rebuild A RAID driver program characterized by this.

7. A control device having a plurality of non-volatile storage units, and a control unit that executes a program that mediates between the RAID driver program that stores data of the same content in the plurality of non-volatile storage units and an application program, When the control unit detected an abnormality in any of the non-volatile memory units during the execution of the previous self-program, at the time of the current startup, it causes a rebuild to be executed on the non-volatile memory unit with the abnormality using the data of other normal non-volatile memory units. A control device characterized by the above.

8. An electronic device comprising a mechanical unit, a plurality of non-volatile memory units, and a control device having a control unit for controlling the mechanical unit, When the control unit detected an abnormality in any of the non-volatile memory units during the previous execution, at the time of the current startup or at the driving stage of the mechanical unit, it causes a rebuild to be executed on the non-volatile memory unit with the abnormality using the data of other normal non-volatile memory units. An electronic device characterized by the above.

9. The control unit executes a RAID driver program for storing data of the same content in the plurality of non-volatile memory units, and an intermediary program that mediates between the RAID driver program and an application program. The detection of the abnormality in the non-volatile memory unit is performed during the execution of the previous intermediary program. The electronic device according to claim 8, characterized by the above.

10. An automatic transaction device comprising a mechanical unit, a plurality of non-volatile memory units, and a control device having a control unit for controlling the mechanical unit, When the control unit detected an abnormality in any of the non-volatile memory units during the previous execution, at the time of the current startup or at the driving stage of the mechanical unit, it causes a rebuild to be executed on the non-volatile memory unit with the abnormality using the data of other normal non-volatile memory units. An automatic transaction device characterized by the above.

Citation Information

Patent Citations

  • Control circuit and electronic apparatus

    JP2016200995A