RAID device

The RAID device addresses performance degradation by monitoring and replacing storage devices with degraded response times, maintaining consistent performance through a performance determination process.

JP7702078B2Active Publication Date: 2025-07-03KK TOSHIBA
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2021152455
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-09-17
Publication Date
2025-07-03
Estimated Expiration
2041-09-17

AI Technical Summary

Technical Problem

Existing RAID systems experience performance degradation due to abnormal storage devices, leading to increased response times and retries before failure, which is not effectively addressed by current technologies.

Method used

A RAID device that monitors and measures response times and command issuances for each storage device, identifying and replacing storage devices with degraded performance by comparing response times and issuance counts across different data sizes, using a performance determination process to notify the system when replacement is necessary.

Benefits of technology

The solution effectively suppresses performance degradation by automatically replacing storage devices with degraded read/write response, ensuring consistent performance and continuous operation of the RAID system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007702078000001
    Figure 0007702078000001
  • Figure 0007702078000002
    Figure 0007702078000002
  • Figure 0007702078000003
    Figure 0007702078000003
Patent Text Reader

Abstract

To prevent reduction in performance regarding read-write response of storage devices constituting a RAID.SOLUTION: A RAID device is configured to: cause, when accessing a plurality of storage devices having multiple running state storage regions in accordance with data size, the running state storage regions to store a response time from issuance to completion of a command and the number of issuances; perform first determination as to whether the number of issuances is less than a predetermined value; specify a running state storage region of a minimum data size when the number of issuances for one of the storage regions is equal to or larger than the predetermined value; specify a first storage device in a running state storage region with the shortest response time; specify a second storage device in a running state storage region with the longest response time; perform second determination as to whether the number of issuances is less than the predetermined value; perform third determination as to whether a ratio of the response time of the first storage device with respect to the response time of the second storage device is less than a reference value, in the running state storage regions with the number of issuances which is determined to be equal to or larger than the predetermined value; and give a notification for replacement of the second storage device when the ratio is less than the reference value or when the number of issuances is less than the predetermined value.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] Embodiments of the present invention relate to a RAID device.

Background Art

[0002] A hard disk drive (HDD) is used as a storage device for computers and other devices that store large amounts of data. While an HDD can store large amounts of data, it includes mechanical drive components, so there is a higher possibility of data loss due to failure or defective sectors compared to other storage devices. For this reason, in order to prevent data loss in an HDD, there is a technology called RAID (Redundant Arrays of Inexpensive Disks) in which multiple HDDs are installed and redundancy is ensured to guarantee data even when a single HDD fails. It is widely used in built-in HDDs of computers and external storage devices, etc. In order to ensure redundancy, RAID performs control to simultaneously access multiple HDDs when storing data. For example, in RAID1, redundancy is ensured by writing the same data to two HDDs. Note that the above problem of data loss is the same not only for HDDs but also for storage devices such as solid state drives (SSDs), and RAID can also be applied to storage devices such as SSDs.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] However, before a storage device such as an HDD fails due to aging deterioration or the like, there are cases where the response takes time due to alternative processing, an increase in internal retries, etc., and the performance deteriorates to an abnormal state. There is room for improvement in that the overall performance deteriorates due to some abnormal storage devices among the storage devices constituting the RAID.

[0005] Therefore, an object of an embodiment of the present invention is to provide a RAID device capable of suppressing a decrease in performance related to the read / write response of a storage device constituting a RAID.

Means for Solving the Problems

[0006] When an information processing device accesses a plurality of storage devices constituting a RAID, each of which has a plurality of execution state storage areas set according to data sizes, the information processing device issues a command for reading or writing data to the storage device, and then measures the response time until a response indicating that the reading or writing has been completed is received. The response time is updated in the execution state storage area corresponding to the data size processed by the command. When the response is received, the number of times the command has been issued is stored in the execution state storage area corresponding to the data size processed by the command. At each preset performance measurement interval, a first determination is made as to whether the number of times of issuance for each execution state storage area is less than a predetermined number. As a result of the first determination, if at least any one of the number of times of issuance in the execution state storage area is equal to or more than the predetermined number, for each storage device, the execution state storage area corresponding to the minimum data size among the execution state storage areas in which the number of times of issuance is equal to or more than the predetermined number is specified. Among the specified execution state storage areas, the storage device having the execution state storage area with the shortest response time is specified as the first storage device, and the storage device having the execution state storage area with the longest response time is specified as the second storage device. In the first storage device and the second storage device, a second determination is made as to whether the number of times of issuance stored in each execution state storage area is less than the predetermined number. As a result of the second determination, for the execution state storage area storing the number of times of issuance determined to be equal to or more than the predetermined number, a third determination is made as to whether the ratio of the response time of the first storage device to the response time of the second storage device is less than a predetermined reference value. If the ratio is less than the reference value as a result of the third determination, or if the number of times of issuance is less than the predetermined number as a result of the second determination, the information processing device is notified that the second storage device should be replaced.

Brief Description of Drawings

[0007]

Figure 1

Figure 2

Figure 3

Figure 4

Embodiments for Carrying Out the Invention

[0008] Hereinafter, exemplary embodiments of the present invention will be disclosed. The configurations of the embodiments shown below, and the actions and effects brought about by such configurations are examples. The present invention can also be realized by configurations other than those disclosed in the following embodiments. Further, according to the present invention, it is possible to obtain at least one of various effects (including derivative effects) obtained by the configuration.

[0009] Figure 1 is a diagram showing an example of the overall configuration of the RAID-equipped device according to the embodiment. While referring to Figure 1, the overall configuration of the RAID-equipped device 1 according to the present embodiment will be described.

[0010] The RAID-equipped device 1 shown in Figure 1 is an information processing device such as a computer equipped with a plurality of HDDs constituting a RAID, an industrial computer, a storage device, or a streaming device. As shown in Figure 1, the RAID-equipped device 1 includes a CPU (Central Processing Unit) 11, a ROM (Read Only Memory) 12, a RAM (Random Access Memory) 13, a network I / F 14, an input device 15, a display 16, a RAID controller 10 (RAID device), a plurality of HDDs 20 (an example of a storage device), and one or more spare HDDs 30.

[0011] The CPU 11 is an arithmetic unit that controls the overall operation of the RAID-equipped device 1 and performs various information processes. The CPU 11 executes programs stored in the ROM 12 or the HDD 20 to control various processes.

[0012] The ROM 12 is a non-volatile memory device that stores various programs and main control parameters, etc. The RAM 13 is a volatile memory device used as a work area for the CPU 11.

[0013] The network I / F 14 is an interface for communicating data with an external device via a network. The network I / F 14 is, for example, a NIC (Network Interface Card) or the like that supports Ethernet (registered trademark) and is capable of communication compliant with TCP (Transmission Control Protocol) / IP (Internet Protocol), etc.

[0014] The input device 15 is a keyboard, mouse, etc. for selecting and executing various instructions, selecting a processing target, and moving a cursor, etc.

[0015] The display 16 is, for example, a liquid crystal display (LCD: Liquid Crystal Display) or a display device such as an organic EL (Electro-Luminescence) that displays notification contents from the RAID controller 10, etc.

[0016] The RAID controller 10 manages a plurality of HDDs 20 that make up a RAID, reads and writes data to and from these HDDs 20, measures the time from issuing a command for such reading and writing until a response is received, and issues notifications such as messages prompting the replacement of the HDD 20, etc., by executing firmware stored in a ROM or the like provided in itself. As shown in FIG. 1, the RAID controller 10 includes an interface 10a for connecting to the bus line 19 and an interface 10b for reading and writing data to and from the HDD 20 and the spare HDD 30.

[0017] The plurality of HDDs 20 are HDDs that make up a RAID managed by the RAID controller 10. Also, in order to ensure redundancy, these HDDs 20 that make up the RAID are simultaneously accessed via the interface 10b by the RAID controller 10 for reading and writing data. As shown in FIG. 2 described later, the HDD 20 has a configuration information area in which management information used in the RAID performance determination process is stored, an execution state storage area in which the number of command issuances and the response time are stored, and a data storage area in which data read and written by commands is stored. In addition, it stores an OS (Operating System), various programs, data, files, etc. necessary for the operation of the RAID-equipped device 1. Note that RAID may be configured in a configuration in which some or all of the plurality of HDDs 20 are replaced with other storage devices such as SSDs. In the present embodiment, it will be described assuming that the storage device constituting the RAID is an HDD (HDD20).

[0018] One or more spare HDDs 30 are spare HDDs for copying data from the HDD 20 to be replaced and replacing it with the HDD 20 when any of the HDDs 20 that make up the RAID needs to be replaced. In the present embodiment, it is assumed that the spare HDD 30 is pre-mounted in the RAID-equipped device 1 and connected to the interface 10b. Note that some or all of the one or more spare HDDs 30 may be other storage devices such as SSDs.

[0019] The above-mentioned CPU 11, ROM 12, RAM 13, network I / F 14, input device 15, display 16, and RAID controller 10 are communicably connected to each other by bus lines 19 such as an address bus and a data bus.

[0020] Note that the configuration of the RAID-equipped device 1 shown in FIG. 1 is an example, and for example, other devices (for example, audio devices such as speakers, DVD (Digital Versatile Disc) drive devices, etc.) may be provided.

[0021] FIG. 2 is a diagram showing an example of the configuration of the storage area of the HDD managed by the RAID controller according to the embodiment. With reference to FIG. 2, the configuration of the storage area of the HDD 20 managed by the RAID controller 10 according to the present embodiment will be described.

[0022] As shown in FIG. 2, the HDD 20 includes a configuration information area 21, an execution state storage area 22, and a data storage area 23.

[0023] The configuration information area 21 is an area for storing management information used in the performance determination process executed by the RAID controller 10. The management information includes a performance measurement interval, which is a parameter for specifying the interval at which the performance determination process is executed, and a predetermined reference value, which is a parameter indicating the criterion for determination with respect to the ratio of the response times of the HDD 20 with the shortest response time and the longest response time among the HDDs 20 constituting the RAID. The performance measurement interval is preset, for example, on a daily basis. The predetermined reference value is predefined, for example, in 10[%] increments, and is defined as, for example, 50[%] by default.

[0024] Note that not all HDDs 20 constituting the RAID necessarily need to have the configuration information area 21. At least one of the HDDs 20 may have the configuration information area 21, and the management information stored in the configuration information area 21 may be read out and used during the performance determination process. Further, the configuration information area 21 is not limited to being included in the HDD 20, and may be included in, for example, a ROM included in the RAID controller 10.

[0025] When the CPU 11 accesses the HDD 20 having the execution state storage area 22, the execution state storage area 22 stores the number of times each of the Read command and the Write command issued by the RAID controller 10 (command issuance count), and the response time until a response indicating that the read or write process has been completed is received after each command is issued. As shown in FIG. 2, the execution state storage area 22 is divided into a plurality of areas according to the size of the data processed by the issued command. The execution state storage area 22 is divided, for example, into an execution state storage area 22a corresponding to a data size of less than 16 KB, an execution state storage area 22b corresponding to a data size of 16 KB or more and less than 128 KB, an execution state storage area 22c corresponding to a data size of 128 KB or more and less than 256 KB, an execution state storage area 22d corresponding to a data size of 256 KB or more and less than 512 KB, an execution state storage area 22e corresponding to a data size of 512 KB or more and less than 1 MB, and an execution state storage area 22f corresponding to a data size of 1 MB or more. Among these, for example, the execution state storage area 22a stores the number of times each of the Read command and the Write command for processing data of less than 16 KB, and the response time when processed by the Read command and the Write command. In the following description, when indicating or collectively referring to any of the execution state storage areas 22a to 22f, it shall be referred to as "execution state storage area 22". Although the execution state storage area 22 is assumed to exist in a plurality according to the size of the data processed by the command, it is not limited thereto, and it may be a single storage area that stores the number of times each of the Read command and the Write command, and the response time when processed by the Read command and the Write command regardless of the data size.

[0026] Note that the method of dividing the execution state storage area 22 shown in FIG. 2 into a plurality of areas is an example. The areas may be divided with data ranges different from those shown in FIG. 2, or may be divided into different numbers of areas. Further, although the response time is stored in the execution state storage area 22, the response time may be, for example, the average value, the maximum value, the minimum value, or the median value of the time from when a command is issued by the RAID controller 10 until a response indicating that the read or write process has been completed is received.

[0027] The data storage area 23 is an area in which data read according to a Read command issued by the RAID controller 10 is stored, and an area in which data is written according to a Write command.

[0028] FIG. 3 is a diagram showing an example of the configuration of the functional blocks of the RAID controller according to the embodiment. With reference to FIG. 3, the configuration of the functional blocks of the RAID controller 10 according to the present embodiment will be described.

[0029] As shown in FIG. 3, the RAID controller 10 includes a read / write unit 101 (access processing), a response time measurement unit 102 (measurement unit), a performance determination unit 103, and a notification unit 104.

[0030] When the CPU 11 accesses each HDD 20 that constitutes a RAID, the read / write unit 101 issues a Read command or a Write command and executes data read or write access processing for each HDD 20. For example, when the read / write unit 101 receives data to be written from the CPU 11, it issues a Write command and writes the data to each HDD 20 simultaneously or distributively. Then, the read / write unit 101 adds 1 to the command issue count of the Write command stored in the execution state storage area 22 corresponding to the size of the data processed by the Write command among the execution state storage areas 22 of each HDD 20 and updates it. Also, when the read / write unit 101 reads from each HDD 20 from the CPU 11, it issues a Read command and reads data from each HDD 20. Then, the read / write unit 101 adds 1 to the command issue count of the Read command stored in the execution state storage area 22 corresponding to the size of the data processed by the Read command among the execution state storage areas 22 of each HDD 20 and updates it.

[0031] The response time measurement unit 102 is a functional unit that measures the response time from when the read / write unit 101 issues a command until it receives a response indicating that the read or write to each HDD 20 by the command is completed. For example, the response time measurement unit 102 measures the response time from when the read / write unit 101 issues a Write command until it receives a response indicating that the write process of the target data to each HDD 20 by the Write command is completed. Then, the response time measurement unit 102 calculates and updates a new response time (for example, an average value, etc.) from the response time of the Write command stored in the execution state storage area 22 corresponding to the size of the data processed by the Write command in the execution state storage area 22 of each HDD 20 and the measured response time. Also, the response time measurement unit 102 measures the response time from when the read / write unit 101 issues a Read command until it receives a response indicating that the read process of the target data from each HDD 20 by the Read command is completed. Then, the response time measurement unit 102 calculates and updates a new response time (for example, an average value, etc.) from the response time of the Read command stored in the execution state storage area 22 corresponding to the size of the data processed by the Read command in the execution state storage area 22 of each HDD 20 and the measured response time.

[0032] The performance determination unit 103 is a functional unit that executes various determination processes and the like in the performance determination process described later using the performance measurement interval and a predetermined reference value stored in the configuration information area 21 of the HDD 20. The specific content of the processing of the performance determination unit 103 will be described in detail in the performance determination process shown in FIG. 4 described later.

[0033] The notification unit 104 is a functional unit that notifies the CPU 11 of a message prompting the replacement of the HDD 20 when it is determined by the performance determination unit 103 that the HDD 20 should be replaced in the performance determination process described below. When receiving a notification from the notification unit 104, for example, the CPU 11 causes the display 16 to display the content of the notification. Note that the method of indicating the content of the notification is not limited to the display on the display 16, and for example, a method of outputting the content of the notification as audio by a speaker may also be used.

[0034] The above-described reading / writing unit 101, response time measurement unit 102, performance determination unit 103, and notification unit 104 are realized, for example, by the execution of firmware by a CPU included in the RAID controller 10. Note that part or all of the reading / writing unit 101, response time measurement unit 102, performance determination unit 103, and notification unit 104 may be realized by a hardware circuit such as an FPGA (Field-Programmable Gate Array) or an ASIC (Application Specific Integrated Circuit) instead of firmware.

[0035] Note that the reading / writing unit 101, response time measurement unit 102, performance determination unit 103, and notification unit 104 shown in FIG. 3 conceptually show functions and are not limited to such a configuration. For example, a plurality of functional units shown in FIG. 3 may be configured as one functional unit. On the other hand, the functions of one functional unit shown in FIG. 3 may be divided into a plurality of parts and configured as a plurality of functional units.

[0036] FIG. 4 is a flowchart showing an example of the flow of the performance determination process of the RAID controller according to the embodiment. With reference to FIG. 4, the flow of the performance determination process of the RAID controller 10 according to the present embodiment will be described.

[0037] The performance determination unit 103 of the RAID controller 10 reads out the performance measurement interval and a predetermined reference value stored in the configuration information area 21 of the HDD 20, and starts the performance determination process shown in the following steps S11 to S23 for each performance measurement interval.

[0038] (Step S11) The performance determination unit 103 reads out and checks the number of issued Read commands and Write commands stored in the execution state storage area 22 of each HDD 20 constituting the RAID. Then, it proceeds to step S12.

[0039] (Step S12) The performance determination unit 103 makes a determination (first determination) as to whether or not the number of issued commands read out is less than a predetermined number (for example, 30 times). As a result of the determination, if the number of issued commands for all is less than the predetermined number (step S12: Yes), it is determined that the number of issued commands has not reached a statistically significant level, and the performance determination process is terminated without making the second determination, the third determination, and the notification of a message prompting the replacement of the HDD 20 described later. On the other hand, if any of the read command issue counts is equal to or more than the predetermined number (step S12: No), it proceeds to step S13.

[0040] (Step S13) The performance determination unit 103 specifies, for each HDD 20, the execution state storage area 22 corresponding to the minimum data size among the execution state storage areas 22 in which the read command issue count is equal to or more than the predetermined number. Thereby, the response time stored in the execution state storage area 22 is specified. That is, the response time is specified for each HDD 20 constituting the RAID. For example, if the corresponding command issue counts for both the response time corresponding to the Read command and the response time corresponding to the Write command stored in the execution state storage area 22 corresponding to the minimum data size are both equal to or more than the predetermined number, either response time may be specified, or the response time of the Write command may be specified. Then, it proceeds to step S14.

[0041] (Step S14) The performance determination unit 103 specifies the HDD 20 having the execution state storage area 22 with the shortest response time among the specified execution state storage areas 22 as P (the first storage device), and specifies the HDD 20 having the execution state storage area 22 with the longest response time as Q (the second storage device). Then, it proceeds to step S15.

[0042] (Step S15) The performance determination unit 103 determines (the second determination) whether or not at least any one of the command issuance counts of the Read commands stored in each execution state storage area 22a with a data size of less than 16 KB in P and Q is less than a predetermined number of times. As a result of the determination, if at least any one of the command issuance counts of the Read commands stored in the execution state storage areas 22a of P and Q is less than the predetermined number of times (step S15: Yes), the performance determination unit 103 determines that the command issuance count has not reached a statistically significant number, does not execute the determination process in step S16, and proceeds to step S17. On the other hand, if the command issuance counts of the Read commands stored in the execution state storage areas 22a of P and Q are equal to or more than the predetermined number of times (step S15: No), it proceeds to step S16.

[0043] (Step S16) The performance determination unit 103 determines (the third determination) whether or not the ratio of the response time of the Read command in the execution state storage area 22a of P to the response time of the Read command in the execution state storage area 22a of Q is less than a predetermined reference value (for example, X%). As a result of the determination, if it is less than the reference value (step S16: Yes), it proceeds to step S17, and if it is equal to or more than the reference value (step S16: No), it is determined that Q is not a replacement target, and it proceeds to step S22. Here, for the determination by the performance determination unit 103, the ratio to be compared with the reference value is calculated as a performance comparison value by, for example, the following formula (1). The calculation of the performance comparison value is the same hereinafter.

[0044] Performance comparison value = (Response time of P) / (Response time of Q) ···(1)

[0045] (Step S17) The performance determination unit 103 makes a determination (second determination) as to whether at least any one of the command issuance counts of the Write commands stored in each execution state storage area 22a with a data size of less than 16 KB in P and Q is less than a predetermined number. As a result of the determination, if at least any one of the command issuance counts of the Write commands stored in the execution state storage areas 22a of P and Q is less than the predetermined number (Step S17: Yes), the performance determination unit 103 determines that the command issuance count has not reached a statistically significant level, does not execute the determination process in Step S18, and proceeds to the next step. On the other hand, if the command issuance counts of the Write commands stored in the execution state storage areas 22a of P and Q are equal to or more than the predetermined number (Step S17: No), the process proceeds to Step S18.

[0046] (Step S18) The performance determination unit 103 makes a determination (third determination) as to whether the ratio of the response time of the Write command in the execution state storage area 22a of P to the response time of the Write command in the execution state storage area 22a of Q is less than a predetermined reference value (for example, X%). As a result of the determination, if it is less than the reference value (Step S18: Yes), the process proceeds to the next step. If it is equal to or more than the reference value (Step S18: No), it is determined that Q is not a replacement target, and the process proceeds to Step S22.

[0047] Thereafter, the same processing as in Steps S15 to S18 is similarly executed for the execution state storage areas 22b to 22e of P and Q. Thereafter, after executing the same processing as in Steps S15 and S16 for the response times of the Read commands in the execution state storage areas 22f of P and Q, the process proceeds to Step S19.

[0048] (Step S19) The performance determination unit 103 makes a determination (second determination) as to whether at least any one of the number of command issuances of the Write commands stored in the respective execution state storage areas 22f with a data size of 1 MB or more in P and Q is less than a predetermined number. As a result of the determination, if at least any one of the number of command issuances of the Write commands stored in the execution state storage areas 22f of P and Q is less than the predetermined number (step S19: Yes), the performance determination unit 103 determines that the number of command issuances has not reached a statistically significant number, does not execute the determination process in step S20, and proceeds to step S21. On the other hand, if the number of command issuances of the Write commands stored in the execution state storage areas 22f of P and Q is equal to or more than the predetermined number (step S19: No), the process proceeds to step S20.

[0049] (Step S20) The performance determination unit 103 makes a determination (third determination) as to whether the ratio of the response time of the Write command in the execution state storage area 22f of P to the response time of the Write command in the execution state storage area 22f of Q is less than a predetermined reference value (for example, X%). As a result of the determination, if it is less than the reference value (step S20: Yes), the process proceeds to step S21. If it is equal to or more than the reference value (step S20: No), it is determined that Q is not a replacement target, and the process proceeds to step S22.

[0050] (Step S21) Based on the performance determination result of the response times of P and Q, the performance determination unit 103 determines that the HDD 20 of Q should be replaced. Then, when the number of command issuances is determined to be less than the predetermined number in the above-described second determination, or when the ratio is determined to be less than the reference value in the above-described third determination, for each of the execution state storage areas 22 of P and Q, the notification unit 104 notifies the CPU 11 of a message prompting the replacement of the HDD 20 of Q. Then, the process proceeds to step S22.

[0051] (Step S22) The read / write unit 101 resets to 0 the number of times each Read command and Write command stored in the execution state storage area 22 of each HDD 20 constituting the RAID. Also, the response time measurement unit 102 resets to 0 the response time of each Read command and Write command stored in the execution state storage area 22 of each HDD 20 constituting the RAID.

[0052] In the flow of the above steps S11 to S22, the performance determination process of the RAID controller 10 is executed. After the execution of the performance determination process, after the elapse of the interval indicated by the performance measurement interval, the execution of the performance determination process is repeated again. That is, the RAID controller 10 configures a RAID, and among the plurality of HDDs 20 accessed by the RAID-mounted device 1, identifies the HDD 20 with the shortest response time for data reading or writing as P, and identifies the HDD 20 with the longest response time as Q, and determines whether the response time of Q is longer than the response time of P so as to satisfy a predetermined condition. When the predetermined condition is satisfied, the RAID-mounted device 1 is notified that the HDD 20 that is Q should be replaced. Here, the predetermined condition corresponds to, for example, the conditions in the second determination and the third determination in steps S16 to S20 described above. In steps S15 to S20, the determination process is performed in the order of increasing data size from the execution state storage area 22a of less than 16 KB, but it is not limited to this, and the determination process may be executed in a different order.

[0053] In addition, when the performance determination unit 103 determines, as a result of the determination processes in steps S15 to S20, that the HDD 20 of Q should be replaced, after copying the data stored in the HDD 20 of Q to be replaced to the spare HDD 30, the reading and writing of data to and from the HDD 20 may be disabled, and the spare HDD 30 may be set as the target for data reading and writing as a new HDD 20 constituting the RAID. Note that the spare HDD 30 is not limited to being pre-mounted in the RAID-equipped device 1, and after the notification by the notification unit 104, the administrator may mount the spare HDD 30 to be replaced for the HDD 20 of Q in the RAID-equipped device 1.

[0054] As described above, the RAID controller 10 according to the present embodiment configures a RAID, identifies, as P, the HDD 20 with the shortest response time for data read or write among the plurality of HDDs 20 accessed by the RAID-equipped device 1, identifies, as Q, the HDD 20 with the longest response time, determines whether the response time of Q is longer than the response time of P to satisfy a predetermined condition, and if the predetermined condition is satisfied, notifies the RAID-equipped device 1 that Q should be replaced.Specifically, in the RAID controller 10, each of the plurality of HDDs 20 has a plurality of execution state storage areas 22 corresponding to the read / write data sizes. When the RAID-equipped device 1 accesses each HDD 20, after issuing a command to read or write data to each HDD 20, it measures the response time from when the command is issued until a response indicating that the read or write is completed is received, stores the response time in the execution state storage area 22 corresponding to the data size of the command, and when a response indicating that the read or write based on the command is completed is received, stores the number of times the command has been issued in the execution state storage area 22 corresponding to the data size of the command. It makes a first determination as to whether the number of times of issuance of each execution state storage area 22 in the plurality of HDDs 20 is less than a predetermined number of times. As a result of the first determination, if at least any one of the number of times of issuance of the execution state storage area 22 is equal to or more than the predetermined number of times, for each HDD 20, it identifies the execution state storage area 22 corresponding to the minimum data size among the execution state storage areas 22 with the number of times of issuance equal to or more than the predetermined number of times, and among the identified execution state storage areas 22, it identifies the HDD 20 having the execution state storage area 22 with the shortest response time as P, and the HDD 20 having the execution state storage area 22 with the longest response time as Q. For P and Q, it makes a second determination as to whether the number of times of issuance of each execution state storage area 22 is less than a predetermined number of times. As a result of the second determination, for the execution state storage area 22 storing the number of times of issuance determined to be equal to or more than the predetermined number of times, it makes a third determination as to whether the ratio of the response time of P to the response time of Q is less than a predetermined reference value. For each execution state storage area 22 of P and Q, if the number of times of issuance is determined to be less than the predetermined number of times in the second determination, or if the ratio is determined to be less than the reference value in the third determination, it is configured to notify the RAID-equipped device 1 that Q should be replaced. As a result, when a certain performance degradation occurs in some of the HDDs 20 regarding the read / write response performance of all the HDDs 20 constituting the RAID, it is possible to notify the administrator that there is a performance degradation, and by prompting the administrator to replace the HDD 20 related to the performance degradation, it is possible to suppress a degradation in the performance regarding the read / write response of the storage device constituting the RAID.

[0055] Also, in the RAID controller 10 according to the present embodiment, for at least one of the execution state storage areas 22 of P and Q, when it is determined in the third determination that the ratio is equal to or greater than the reference value, the response times and the number of issues stored in all the execution state storage areas 22 of each HDD 20 are reset. As a result, the performance determination process can be executed again from the initial state in which the response time and the number of issues are reset.

[0056] Also, in the RAID controller 10 according to the present embodiment, as a result of the first determination, when the number of issues in all the execution state storage areas 22 is less than a predetermined number, the second determination, the third determination, and the notification to the effect that the HDD 20 should be replaced are not performed. Thereby, it is possible to avoid executing the determination process as to whether or not the HDD 20 should be replaced in a state where the number of issued commands does not have statistical significance.

[0057] Also, in the RAID controller 10 according to the present embodiment, for each of the execution state storage areas 22 of P and Q, when it is determined in the second determination that the number of issues is less than a predetermined number, or when it is determined in the third determination that the ratio is less than the reference value, data reading and writing to Q are disabled, and a spare HDD 30, which is a storage device different from the HDDs 20 constituting the RAID, is made the target of data reading and writing as a new storage device constituting the RAID. As a result, it is possible to automatically replace the HDD 20 with degraded read / write response performance with the spare HDD 30, and the operation of the RAID-equipped device 1 can be continued without stopping.

[0058] Note that the program (firmware) executed by the RAID controller 10 according to the present embodiment is provided by being recorded on a computer-readable recording medium such as a CD-ROM, a flexible disk (FD), a CD-R, or a DVD (Digital Versatile Disk) in an installable format or an executable format file.

[0059] Alternatively, the program may be stored on a computer connected to a network such as the Internet and provided by being downloaded via the network. Further, the program may be configured to be provided or distributed via a network such as the Internet. Further, the program may be configured to be provided by being pre - incorporated into a ROM or the like.

[0060] Further, the program has a module configuration including each of the above - described functional units. As actual hardware, the processor reads the program from the storage medium and executes it, whereby each of the above - described functional units is loaded onto the main memory device, and each of the above - described units is generated on the main memory device.

[0061] As described above, embodiments of the present invention have been illustrated. However, the above - described embodiments are merely examples and are not intended to limit the scope of the invention. The above - described embodiments can be implemented in various other forms, and various omissions, replacements, combinations, and changes can be made without departing from the gist of the invention. Further, the specifications (structure, type, direction, form, size, length, width, thickness, height, number, arrangement, position, material, etc.) of each configuration, shape, etc. can be appropriately changed and implemented.

Explanation of Reference Numerals

[0062] 1 RAID - equipped device 10 RAID controller 10a, 10b Interface 11 CPU 12 ROM 13 RAM 14 Network I / F 15 Input device 16 Display 19 Bus line 20 HDD 21 Configuration information area 22, 22a~22f Execution state storage area 30 Spare HDD 101 Read - write unit 102 Response time measurement unit 103 Performance determination unit 104 Notification unit

Claims

Claim 1 When an information processing apparatus accesses a plurality of storage devices constituting a RAID, each having a plurality of execution state storage areas set according to data sizes, after issuing a command for reading or writing data to the storage device, it measures the response time from when the command is issued until a response indicating that the reading or writing is completed is received, updates the response time in the execution state storage area corresponding to the data size processed by the command, and when the response is received, stores the number of times the command is issued in the execution state storage area corresponding to the data size processed by the command. At each preset performance measurement interval, a first determination is made as to whether the number of times of issuance for each execution state storage area is less than a predetermined number. As a result of the first determination, if at least any one of the number of times of issuance in the execution state storage area is equal to or more than the predetermined number, for each storage device, among the execution state storage areas in which the number of times of issuance is equal to or more than the predetermined number, the execution state storage area corresponding to the minimum data size is specified. Among the specified execution state storage areas, the storage device having the execution state storage area with the shortest response time is specified as the first storage device, and the storage device having the execution state storage area with the longest response time is specified as the second storage device. In the first storage device and the second storage device, a second determination is made as to whether the number of times of issuance stored in each execution state storage area is less than the predetermined number. As a result of the second determination, for the execution state storage area storing the number of times of issuance determined to be equal to or more than the predetermined number, a third determination is made as to whether the ratio of the response time of the first storage device to the response time of the second storage device is less than a predetermined reference value. If the ratio is less than the reference value as a result of the third determination, or if the number of times of issuance is less than the predetermined number as a result of the second determination, a RAID device that notifies the information processing apparatus that the second storage device should be replaced. Claim 2 For at least any one of the execution state storage areas of the first storage device and the second storage device, when it is determined in the third determination that the ratio is equal to or greater than the reference value, the response time and the number of issues stored in all the execution state storage areas of each storage device are reset. The RAID device according to claim 1.

3. The response time is any one of an average value, a minimum value, a maximum value, or a median value of the time from issuing the command to receiving the response. The RAID device according to claim 1 or 2.

4. For each of the execution state storage areas of the first storage device and the second storage device, when it is determined in the second determination that the number of issues is less than the predetermined number, or when it is determined in the third determination that the ratio is less than the reference value, data reading and writing to the second storage device are disabled, and a storage device different from the storage devices constituting the RAID is made the target of data reading and writing as a new storage device constituting the RAID. The RAID device according to any one of claims 1 to 3.

Citation Information

Patent Citations

  • Storage controller, control program, and control method

    JP2016151850A

  • Monitoring device, monitoring method, and monitoring program

    JP2017167729A

  • Storage controller, storage control program and storage control method

    JP2018190055A

  • Memory control method, program, and apparatus

    JP4473175B2

  • Storage controlling apparatus, recording medium for recording storage control program and storage controlling method

    US20180314440A1