WO2016016925A1 - ストレージ装置のfan制御最適化 - Google Patents

ストレージ装置のfan制御最適化 Download PDF

Info

Publication number
WO2016016925A1
WO2016016925A1 PCT/JP2014/069807 JP2014069807W WO2016016925A1 WO 2016016925 A1 WO2016016925 A1 WO 2016016925A1 JP 2014069807 W JP2014069807 W JP 2014069807W WO 2016016925 A1 WO2016016925 A1 WO 2016016925A1
Authority
WO
WIPO (PCT)
Prior art keywords
controller
fan
memory
control unit
temperature information
Prior art date
Application number
PCT/JP2014/069807
Other languages
English (en)
French (fr)
Inventor
秀親 中西
昌照 横山
Original Assignee
株式会社日立製作所
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社日立製作所 filed Critical 株式会社日立製作所
Priority to PCT/JP2014/069807 priority Critical patent/WO2016016925A1/ja
Priority to US15/121,784 priority patent/US10073504B2/en
Publication of WO2016016925A1 publication Critical patent/WO2016016925A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/20Cooling means
    • G06F1/206Cooling means comprising thermal management
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B15/00Systems controlled by a computer
    • G05B15/02Systems controlled by a computer electric
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/20Cooling means
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B33/00Constructional parts, details or accessories not provided for in the other groups of this subclass
    • G11B33/14Reducing influence of physical parameters, e.g. temperature change, moisture, dust
    • G11B33/1406Reducing the influence of the temperature
    • G11B33/1413Reducing the influence of the temperature by fluid cooling
    • G11B33/142Reducing the influence of the temperature by fluid cooling by air cooling
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B33/00Constructional parts, details or accessories not provided for in the other groups of this subclass
    • G11B33/14Reducing influence of physical parameters, e.g. temperature change, moisture, dust
    • G11B33/1406Reducing the influence of the temperature
    • G11B33/144Reducing the influence of the temperature by detection, control, regulation of the temperature

Definitions

  • the present invention relates to FAN control optimization of a storage apparatus.
  • a storage device that uses multiple storage devices and operates in a RAID (Redundancy Array of Independent (Inexpensive) Disks) configuration has a structure in which two or more control modules are mounted so that they are always duplicated.
  • a cooling fan is provided in order to exhaust heat of the amount of heat generated from a device inside the storage apparatus.
  • a plurality of cooling fans are mounted and duplicated.
  • Patent Document 1 The technology described in Patent Document 1 is that the storage system has a hardware fan control unit that controls the cooling fan by hardware in a PLD (Programmable Logic Device), and controls the cooling fan until it can be controlled by firmware. In charge. At this time, the controller module notifies each other of the mounting status of the modules, and the controller module having the minimum ID as a combination ID of signals indicating the mounting status controls all the cooling fans collectively.
  • PLD Programmable Logic Device
  • the temperature in the storage device may differ at each position in the device depending on the mounting state of HDD (Hard Disk Drive) or SSD (Solid State Drive). Therefore, it is necessary to control the cooling fans in synchronization according to the temperature information at the highest temperature position in the apparatus.
  • Patent Document 1 discloses that the storage system includes a monitoring unit that monitors the temperature in the housing, but there is no mention of a specific configuration of the monitoring unit, and the temperature is different at each position in the apparatus. A coping method is not disclosed.
  • the storage apparatus of the present invention has two or more controllers including two or more temperature sensors, and each controller has a first fan rotation speed based on the value of the temperature sensor. (Hereinafter referred to as provisional rotational speed) is determined.
  • provisional rotational speed is determined.
  • One of the plurality of controllers operates as a master controller, and the other controllers (slave controllers) transmit provisional rotation speed information determined by themselves to the master controller.
  • the master controller determines a larger value as the final fan rotation speed among the temporary rotation speed information received from the slave controller and the temporary rotation speed information determined by itself.
  • the storage apparatus of the present invention can prevent an abnormal temperature rise in the storage apparatus, and can efficiently reduce cooling and noise / power. Problems, configurations, and effects other than those described above will become apparent from the following description of embodiments.
  • FIG. 1 is a diagram showing the structure of a storage device and an exhaust passage.
  • FIG. 2 is a diagram illustrating a hardware configuration of the storage apparatus.
  • FIG. 3 is a diagram illustrating an I / F between control controllers.
  • FIG. 4 is a diagram illustrating a configuration example of a fan rotation speed determination table.
  • FIG. 5 is a diagram illustrating a state transition of the fan rotation speed (the number of rotations).
  • FIG. 6 is a diagram illustrating state transition of the controller.
  • FIG. 7 is a flowchart showing temperature information acquisition and fan rotation speed determination processing in the master controller.
  • FIG. 8 is a flowchart showing temperature information acquisition processing in the slave controller.
  • management table various types of information may be described using an expression such as “management table”, but the various types of information may be expressed using a data structure other than a table. Further, the “management table” can be referred to as “management information” to indicate that it does not depend on the data structure.
  • the program is executed by a processor such as an MP (Micro Processor) or a CPU (Central Processing Unit), and performs a predetermined process. Since the processor performs processing while appropriately using storage resources (for example, a memory) and a communication interface device (for example, a communication port), the subject of the processing may be a processor.
  • the processor may have dedicated hardware in addition to the CPU.
  • the computer program may be installed on each computer from a program source.
  • the program source may be provided by, for example, a program distribution server or a storage medium.
  • each element for example, the controller can be identified by a number or the like, but other types of identification information such as a name may be used as long as the information can identify each element.
  • identification information such as a name may be used as long as the information can identify each element.
  • the same reference numerals are given to the same parts.
  • the present invention is not limited to the present embodiment, and any application examples that meet the idea of the present invention can be applied. Included in the scope. Further, unless specifically limited, each component may be plural or singular.
  • FIG. 1 is a diagram showing the structure of a storage device and an exhaust passage.
  • the storage apparatus 10 includes two control controllers 1 11 / control controller 1 12, power supply 1 15 / power supply 2 116, a drive unit 13 for storing a plurality of HDDs and SSDs, and heat generated outside the apparatus generated in the storage apparatus to each device.
  • Cooling fan 11 152 / cooling fan 12 153 / cooling fan 21 162 / cooling fan 22 163 are provided.
  • HDD and SSD are built in the drive canister, and the drive canister is inserted from the upper part of the storage apparatus 10 and installed in the slot of the base board (not shown) of the drive unit 13 (for example, 60 canisters can be inserted). For this reason, a predetermined number of HDDs or SSDs can be mounted and connected to the storage apparatus 10 with high density.
  • the drive canister can be inserted / removed while the storage apparatus 10 is operating.
  • FIG. 1 shows an example in which all HDDs and SSDs are mounted on the drive unit 13.
  • HDD_39 when some drive canisters are removed due to maintenance or the like (for example, HDD_39), it is necessary as an apparatus.
  • a drive canister for the storage capacity is mounted and another slot is used for expansion (for example, one parallel row of exhaust heat flow paths 18 (HDD_6 / 18/30/42/54 and HDD_12 / 24 / 36/48/60 or 5 SSDs may be used.)
  • the intake by the cooling fan 11 152 or the like causes the storage device 10 from the front (HDD or SSD mounting part) to the back (cooling fan arrangement).
  • the intake resistance increases and the Karman vortex By UNA turbulence is likely to occur, there is a problem that efficient heat removal from the surface of the drive canister facing the space is difficult.
  • the cooling efficiency of the HDD (or SSD), the controller, and the power source is improved by increasing the number of revolutions of the cooling fan 11 152, etc., and increasing the amount of intake air at the front of the storage device 10.
  • Prevent abnormal temperature rise For this purpose, two or more temperature sensors of one controller are provided.
  • the temperature sensor 1 a 112 and the temperature sensor 1 b 113 are provided in the control controller 111, and the temperature sensor 2 a 122 and the temperature sensor 2 b 123 are provided in the control controller 2 12.
  • a power source 1 15 for supplying power to the controller 11 and the drive unit 13 is provided below the controller 11.
  • a power supply 1 16 for supplying power to the control controller 2 12 and the drive unit 13 is provided below the control controller 2 12.
  • the HDD (or SSD), the controller, and the power supply are rotated so that the cooling fan 22 163 is sucked from the front of the storage device 10 through the cooling fan 11 152 provided on the rear surface of the storage device 10 and the cooling air is sent to each device.
  • the heat generated in each device is absorbed and exhausted from the back surface of the storage apparatus 10.
  • FIG. 2 is a diagram illustrating a hardware configuration of the storage apparatus.
  • the storage apparatus 10 includes the controller 11 for communicating with the host computer 19 and the drive unit 13, the power supply 115 for supplying power to the controller 11 and the drive unit 13. Further, as described above, the storage apparatus 10 includes the control controller 212 for communicating with the host computer 19 and the drive unit 14, the power supply 216 for supplying power to the control controller 2 12 and the drive unit 14.
  • the control controller 111 includes a SAS-Expander controller (hereinafter referred to as a SAS controller) 111 that controls communication with the host computer 19 and the drive unit 13, and acquires temperature information and serial communication I / F (for example, I2C (registered trademark) -I Temperature sensor 1a 112 and temperature sensor 1b 113 sent to the SAS controller 111 by / F).
  • the controller 1 11 further includes a PLD 114 for performing emergency communication (for example, I2C-I / F) with the controller 2 12, a memory 115 for storing various information and tables including temperature information, and a power source 1.
  • a DC / DC converter 116 that converts a DC voltage into a predetermined voltage (3.3 V, 5 V, 12 V, etc.) from 15 is provided.
  • the power supply 115 includes a control microcontroller (hereinafter referred to as a control microcomputer) 1 151 for controlling the entire power supply, a cooling fan 152 and a cooling fan 153 that are controlled by the control microcomputer 1 151 and cool the inside of the storage device 10.
  • the control microcomputer 1 151 includes a memory 1 1511 for setting the rotation speeds of the cooling fan 11 152 and the cooling fan 12 153, and a memory 2 for storing two temperature information acquired from the temperature sensor 1 a 112 and the temperature sensor 1 b 113. 1512. Note that the rotational speeds of the cooling fan 11 152 and the cooling fan 12 153 can be set in the memory 2 1512.
  • the control controller 2 12 includes a SAS controller 121 that controls communication with the host computer 19 and the drive unit 14, a temperature sensor 2 a 122 that acquires temperature information, and sends the temperature information to the SAS controller 121 via a serial communication I / F, and a temperature sensor 2 b 123.
  • the controller 2 12 further supplies a DC voltage from the PLD 124 for performing emergency communication with the controller 1 1 1, a memory 125 for storing various information and tables including temperature information, and a DC voltage from the power source 2 16.
  • a DC / DC converter 126 for converting to
  • the power supply 2 16 includes a control microcomputer 2 161 that controls the entire power supply, a cooling fan 21 162 that controls the rotation speed by the control microcomputer 2 161 and cools the inside of the storage device 10, and a cooling fan 22 163.
  • a control microcomputer 2 161 controls the entire power supply
  • a cooling fan 21 162 controls the rotation speed by the control microcomputer 2 161 and cools the inside of the storage device 10
  • a cooling fan 22 163 In the control microcomputer 2 161, a memory 1 1611 for setting the rotation speed of the cooling fan 21 162 and the cooling fan 22 163, and a memory 2 for storing two temperature information acquired from the temperature sensor 2 a 122 / temperature sensor 2 b 123. 1612.
  • the rotational speeds of the cooling fans 21 162 and the cooling fans 22 163 can be set in the memory 2 1612.
  • the SAS controller 111 / SAS controller 121 and the control microcomputer 1 151 / control microcomputer 2 161 are connected by a serial I / F such as I2C-I / F, and between SAS controllers, between control microcomputers, and SAS controllers.
  • the control microcomputers can mutually transmit and receive data and monitor the status.
  • the contents of the memory 1 and the memory 2 in each control microcomputer are configured such that each SAS controller can refer to them in common.
  • FIG. 3 is a diagram illustrating an I / F between control controllers.
  • the PLD 114 of the control controller 111 and the PLD 124 of the control controller 2 12 are connected by a port called GPIO (General Purpose I / O), and when a normal communication line between the control controllers fails, the PLD 114 and the PLD 124 Communicate with GPIO between them to check the status of both controllers.
  • GPIO General Purpose I / O
  • the setting signal (for IN) is read out a plurality of times and it is confirmed that they all match. If they do not match, they are left as a log in the SAS controller.
  • (6) When referring to the GPIO signal (IN side), refer to the two for IN and use them in the OR determination.
  • (7) In order to determine the value of GPIO, if either of the two IN terminals can be detected as “1” for two consecutive times, it is determined as an abnormal state, and the cooling FAN is set to the maximum rotational speed (Speed 4 described later). To set.
  • the IN (GPI) is referenced at the same time interval (for example, 30 seconds) as the monitoring of the cooling FAN. It is.
  • FIG. 4 is a diagram illustrating a configuration example of a fan rotation speed determination table.
  • the fan rotation speed determination table 40 is a table for determining a set value in the memory 1 1511/1611 in order to obtain a predetermined rotation speed of the cooling fan, and is stored in the memory 115 and the memory 125.
  • the fan rotation speed determination table 40 includes # 401, a rotation speed (Speed) setting 402, a memory setting value 403 (a stored value in the memory 2), and a remark 404.
  • the SAS controller 111/121 In order to rotate the cooling fan at “Speed1”, the SAS controller 111/121 refers to the memory setting value 403 corresponding to “Speed1” in the Speed setting 402 of the fan rotation speed determination table 40, and sets the setting to the memory 1 The value “0x80” is acquired. Similarly, the SAS controller 111/121 acquires the setting value “0x9C” for the memory 1 if the speed setting 402 is “Speed2”, and “0xD9” if the speed setting 402 is “Speed4 (MAX)”.
  • the SAS controller 111/121 sets the acquired memory setting value in the memory 1 1511/1611.
  • the control microcomputer 1 151 of the power source 1 15 rotates the cooling fan 11 152 and the cooling fan 12 153 at a predetermined rotational speed based on the value set in the memory 1 1511.
  • the control microcomputer 2 161 of the power supply 2 16 rotates the cooling fan 21 162 and the cooling fan 22 163 at a predetermined rotational speed based on the values set in the memory 1 1611.
  • the same memory value for example, “0x9C” is stored in the memory 1 1511 and the memory 1 1611, the four cooling fans from the cooling fan 11 152 to the cooling fan 22 163 are synchronized at the same rotational speed. Rotate.
  • FIG. 5 is a diagram showing a state transition of the fan rotation speed (rotation speed).
  • the Speed1 state is set as an initial state.
  • the two temperature information acquired by the SAS controller 111 from the temperature sensor 1a 112 and the temperature sensor 1b 113 and the larger temperature information and the two temperature information acquired by the SAS controller 121 from the temperature sensor 2a 122 and the temperature sensor 2b 123 are larger.
  • the temperature information of The SAS controller 111 to the SAS controller 121 compare and state transition occurs with the largest temperature information (maximum value).
  • the transition condition is (Sp1) Transition condition from Speed1 to Speed2: When temperature information is 35 degrees Celsius or higher.
  • the cooling fan speed is controlled in four stages from Speed1 to Speed4. However, it can be controlled in more stages than this.
  • the SAS controller stores the memory setting value 403 corresponding to Speed in the memory 1 of the power source, and the control microcomputer 1 151 stores the memory setting value 403 in the memory 1 1511.
  • the control microcomputer 2 161 reads the memory setting value 403 from the memory 1 1611 and changes the rotation speed of the cooling fan 11 152 / cooling fan 12 153 / cooling fan 21 162 / cooling fan 22 163 based on the memory setting value. .
  • FIG. 6 is a diagram illustrating state transition of the controller.
  • the controller has the following six states.
  • St02 In S02, the insertion of the control controller is detected.
  • (St10) In S10, P_ON (Power_On), that is, the power supply of the storage apparatus 10 or the controller is turned on.
  • the transition condition from S40 to S30 is: (B1) When the other system controller (the controller 11) is not mounted, the controller 212 becomes the “Master controller”. (B2) When GPIO12_1 / 2 (USIN1 / GPIO69, USIN2 / GPIO65) of the PLD 124 of the controller 212 is “1” and GPIO21_OUT_1 / 2 (US0UT1 / GPIO67, US0UT2 / GPIO63) is “0”, When the controller 212 is “normal” and the controller 1111 is “abnormal”, the controller 212 becomes the “master controller”. It is.
  • the control controller connected to Slot 1 be the Master controller, and the others be the Slave controllers.
  • the master controller stores the temperature information from the temperature sensor or the temporary rotation number determined by the temperature information in the memory 2 on the slave controller side.
  • the slave controller also stores temperature information from the temperature sensor or a temporary rotational speed determined by the temperature information in itself and in the memory 2 on the master controller side.
  • the master controller compares the contents (temperature information or provisional rotation speed) of the memory 2 on the master controller side with the contents (temperature information or provisional rotation speed) of the memory 2 on the slave controller side.
  • the rotational speed corresponding to the highest temperature information or the earliest temporary rotational speed is set as the final rotational speed for actually rotating the FAN 152/153/162/163.
  • the slave controller When the master controller fails or when the entire controller is disconnected from the connected state, the slave controller becomes the master controller, stores data in the memory, obtains the set memory contents, obtains temperature information or temporary rotation speed. Determine the final speed. In this way, even in an abnormal case, the Master (master) controller (or master SAS controller) and the Slave (slave) controller (slave SAS controller) are dynamically switched according to the internal state of the storage device 10. The number of rotations of the cooling fan can be changed.
  • FIG. 7 is a flowchart showing temperature information acquisition and fan rotation speed determination processing in the master controller.
  • FIG. 8 is a flowchart showing temperature information acquisition processing in the slave controller. 7 and 8 will be described with the SAS controller 111 as a master SAS controller and the SAS controller 121 as a slave SAS controller. Note that this processing is executed, for example, every 30 seconds, and effective cooling fan rotation speed control is performed based on the internal temperature of the storage apparatus 10.
  • the SAS controller 111 acquires the value of the temperature sensor 1a 112 and the value of the temperature sensor 1b 113 of the control controller 111.
  • the SAS controller 111 stores the acquired temperature information in each of the memory 2 1512 of the power source 1 15 and the memory 2 1612 of the power source 2 16.
  • the SAS controller 111 compares the acquired values of the temperature sensor 1a 112 and the temperature sensor 1b 113, and determines the higher value (temperature information) as the final FAN_set_master.
  • the final FAN_set_master may be the provisional rotation number of the cooling fan (first provisional rotation number) based on the higher temperature information.
  • the SAS controller 111 reads the value (FAN_set_slave) of the temperature information stored in the memory 2 1512 of the power source 1 15 and the memory 2 1612 of the power source 2 16 respectively.
  • the temperature information (FAN_set_slave) acquired by the SAS controller 121 from the temperature sensor 2a 122 and the temperature sensor 2b 123, and two pieces of temperature information of the high value (final FAN_set_slave) among the acquired two temperature informations. Is stored in memory 2 1512/1612.
  • the SAS controller 111 acquires temperature information stored from the memory 2 1512/1612.
  • the SAS controller 111 compares the values of the two read temperature information (FAN_set_slave) and sets the higher value (temperature information) as the final FAN_set_slave. Note that the SAS controller 111 compares the temperature information read from the memory 2 1512 and the temperature information read from the memory 2 1612 and confirms that they match, thereby confirming the reliability of the temperature information. Can do. The reliability of the temperature information can also be confirmed by comparing the final FAN_set_slave acquired from each memory 2.
  • the SAS controller 111 compares the final FAN_set_master value with the final FAN_set_slave value. If the value of FAN_set_master is greater than or equal to the value of FAN_set_slave, the SAS controller 111 executes S707. If the value of FAN_set_master is less than the value of FAN_set_slave, S706 is executed.
  • the SAS controller 111 sets the FAN setting value as the value of FAN_set_slave because the maximum value of the temperature information is the value of FAN_set_slave.
  • the SAS controller 111 sets the FAN setting value to FAN_set_master because the maximum value of the temperature information is the value of FAN_set_master.
  • the final FAN_set_master and the final FAN_set_Slave may be used as the temporary rotation speed of the cooling fan, and the final rotation speed may be determined by comparing the two.
  • the SAS controller 111 writes the FAN set value (maximum temperature information) determined in S706 to S707 to the memory 1 1511 of the power source 115 and the memory 1 1611 of the power source 2 16.
  • the SAS controller 111 obtains a speed setting by collating the FAN set value (maximum temperature information) with the state transition diagram of FIG. Then, the obtained speed setting is collated with the fan rotation speed determination table 40 of FIG. 4 to obtain a memory setting value and write it to the memory 1 1511 of the power source 1 15 and the memory 1 1611 of the power source 2 16.
  • the SAS controller 111 and the SAS controller 121 end the fan rotation speed determination process.
  • FAN_set_master and FAN_set_slave are temperature information.
  • the speed state of the cooling fan (the state transition diagram in FIG. 5 or the speed setting 402 in FIG. 4) or the memory setting value 403 in FIG. 4 may be used.
  • the SAS controller 111 compares the first temporary rotation speed (on the master side) described above with the second temporary rotation speed (on the slave side) described later, and the larger temporary rotation speed is set as the final rotation speed in memory 1 1511. / 1611, the number of rotations of the cooling FAN can be controlled.
  • the control microcomputer 1 151 reads the memory set value from the memory 1 1511, and the control microcomputer 2 161 reads the memory set value from the memory 1 1611.
  • the control microcomputer 1 151 rotates the cooling fan 11 152 and the cooling fan 12 153, and the control microcomputer 2 161 rotates the cooling fan 21 162 and the cooling fan 22 163 at the rotation speed based on the read memory setting value.
  • the SAS controller 121 acquires the value of the temperature sensor 2a 122 and the value of the temperature sensor 2b 123 of the control controller 2 12.
  • the SAS controller 111 stores the acquired temperature information in each of the memory 2 1512 of the power source 1 15 and the memory 2 1612 of the power source 2 16.
  • the SAS controller 121 compares the value of the temperature sensor 2a 122 with the value of the temperature sensor 2b 123, and determines the higher value as the final FAN_set_slave.
  • the final FAN_set_slave may be the provisional rotational speed (second provisional rotational speed) of the cooling fan based on the higher temperature information.
  • step S803 the SAS controller 121 writes the final FAN_set_slave value to the memory 2 1512 of the power source 1 15 and the memory 2 1612 of the power source 2 16.
  • the temperature information of the temperature sensor 1a 112 is “35 degrees”
  • the temperature information of the temperature sensor 1b 113 is “37 degrees”
  • the temperature information of the temperature sensor 2a 122 is “34 degrees”
  • the temperature sensor 2b 123 temperature It is assumed that the information is “36 degrees”
  • the SAS controller 111 is a master-side SAS controller
  • the SAS controller 121 is a slave-side SAS controller.
  • the slave SAS controller 121 compares the temperature information (“34 degrees”) of the temperature sensor 2a 122 with the temperature information (“36 degrees”) of the temperature sensor 2b 123, and sets the final FAN_set_slave to a high value ( “36 degrees”). Further, the slave-side SAS controller 121 stores two pieces of temperature information as FAN_set_slave in the memory 2 1512 of the power source 1 15 and the memory 2 1612 of the power source 2 16 together with the final FAN_set_slave.
  • the master-side SAS controller 111 compares the temperature information of the temperature sensor 1a 112 (“35 degrees”) with the temperature information of the temperature sensor 1b 113 (“37 degrees”), and sets the final FAN_set_master to a high value (“37 degrees”). )).
  • the master-side SAS controller 111 stores two pieces of temperature information as FAN_set_master in the memory 2 1512 of the power source 1 15 and the memory 2 1612 of the power source 2 16 together with the final FAN_set_master.
  • the memory 2 1512 of the power source 1 15 and the memory 2 1612 of the power source 2 16 store a total of six temperature information of final FAN_set_slave, two FAN_set_slave, final FAN_set_master, and two FAN_set_masters.
  • the master-side SAS controller 111 reads the final FAN_set_slave from the memory 2 1512 of the power source 1 15 and / or the memory 2 1612 of the power source 2 16. At this time, the final FAN_set_slave can be obtained by reading and comparing the two FAN_set_slave.
  • the master-side SAS controller 111 calculates the maximum temperature information by comparing the final FAN_set_master (“37 degrees”) with the final FAN_set_slave (“36 degrees”).
  • the master-side SAS controller 111 since the maximum temperature information is “37 degrees”, the master-side SAS controller 111 sets “37 degrees” as the FAN setting value, and the memory 1 1511 of the power source 1 15 and the memory 1 1611 of the power source 2 16. To store. Further, since the internal temperature of the storage device 10 is “37 degrees”, the master-side SAS controller 111 determines that the rotation speed (the number of rotations) of the cooling fan needs to be “Speed3” from the state transition of FIG. To do. Then, when the speed setting 402 is “Speed3” from the fan rotation speed determination table 40 of FIG. 4, the master-side SAS controller 111 uses the memory value “0xBA” as the power supply 1 because the memory setting value 403 is “0xBA”. 15 memory 1 1511 and power source 2 16 memory 1 1611 are stored.
  • the control microcomputer 1 151 reads the memory set value from the memory 1 1511 and the control microcomputer 2 161 reads the memory set value from the memory 1 1611, and synchronizes the cooling fan 22 152 with the cooling fan 11 152 at the rotation speed based on the memory set value. Rotate.
  • the temperature information of the two or more temperature sensors provided in the two or more control controllers is acquired by the SAS controller of the control controller or a processor such as a CPU (not shown), and the maximum temperature. Extract information. Then, the two or more provided cooling fans are rotated at the rotation speed based on the maximum temperature information. Thereby, a sufficient cooling effect can be obtained regardless of the mounting state of the HDD or SSD.
  • the storage medium of this example is HDD or SSD, but is not limited to this, and may be a DVD-RW, CD-RW, IC card, SD card, etc. A cooling effect can be obtained.
  • the example in which the FAN rotation speed information is set in the memory 1 1511/1611 and the temperature information is set in the memory 2 1512/1612 has been described.
  • the temporary FAN rotation speed based on the temperature information in each control controller is stored in each of the memories 2 1512/1612, and the temporary FAN rotation speed of the slave side SAS controller and the temporary FAN rotation speed of the master side SAS controller are stored.
  • the rotational speed of the cooling fan can be controlled by setting a large temporary FAN rotation speed in the memory 1 1511/1611 as the final FAN rotation speed.
  • the memory 1 1511 and the memory 2 1512 are set as one memory
  • the memory 1 1611 and the memory 2 1612 are set as one memory.
  • the temperature information acquired in the first area is divided into four areas, and the second temperature information is stored in the second area.
  • Temporary FAN rotation speed may be stored in the area
  • high temperature information (maximum temperature information) among the temperature information acquired in the third area and final FAN rotation speed may be stored in the fourth area.
  • the final FAN rotation speed can be determined based on the temporary FAN rotation speed in the second area or the maximum temperature information in the third area.
  • this invention is not limited to the above-mentioned Example, Various modifications are included.
  • the above-described embodiments have been described in detail for easy understanding of the present invention, and are not necessarily limited to those having all the configurations described. Further, a part of the configuration of one embodiment can be replaced with the configuration of another embodiment, and the configuration of another embodiment can be added to the configuration of one embodiment. Further, it is possible to add, delete, and replace other configurations for a part of the configuration of each embodiment.
  • Each of the above-described configurations, functions, processing units, processing means, and the like may be realized by hardware by designing a part or all of them with, for example, an integrated circuit.
  • Each of the above-described configurations, functions, and the like may be realized by software by interpreting and executing a program that realizes each function by the processor.
  • Information such as programs, tables, and files for realizing each function may be stored in a memory, a recording device such as a hard disk or SSD, or a recording medium such as an IC card, SD card, or DVD.
  • a recording device such as a hard disk or SSD
  • a recording medium such as an IC card, SD card, or DVD.
  • control lines and information lines indicate what is considered necessary for the explanation, and not all the control lines and information lines on the product are necessarily shown. Actually, it may be considered that almost all the components are connected to each other.

Abstract

 装置内の異常な温度上昇を防止し、効率的な冷却を実現するストレージ装置を提供する。そのために、ストレージ装置は、2つ以上の温度センサーを備えた2つ以上のコントローラを有し、各コントローラは温度センサーの値を基に仮回転数を決定する。複数コントローラのうち1のコントローラがマスタコントローラとなって動作し、その他のコントローラ(スレーブコントローラ)はマスタコントローラに対し、自身で決定した仮回転数情報を送信する。マスタコントローラは、スレーブコントローラから受信した仮回転数情報と自身で決定した仮回転数情報のうち、大きい値を最終的なファン回転数と決定する。

Description

ストレージ装置のFAN制御最適化
 本発明は、ストレージ装置のFAN制御最適化に関する。
 複数の記憶デバイスを用い、RAID(Redundancy Array of Independent (Inexpensive) Disks)構成で動作するストレージ装置では、必ず2重化されるよう2台以上の制御モジュールが搭載される構造となっている。また、特許文献1記載のように、ストレージ装置内部のデバイスから発生した熱量の排熱を行なうために冷却ファンを持たせる構成としている。この冷却ファンも、制御モジュールと同様、複数搭載されて2重化される。また、発熱量に応じて冷却ファンの出力を変更することが望ましい。
 特許文献1記載の技術は、ストレージシステムが、PLD(Programmable Logic Device)にハードウェアによって冷却ファンの制御を行なうハードファン制御部を持たせ、ファームウェアによる冷却ファン制御が可能になるまで冷却ファンの制御を担当する。その際、コントローラモジュール間でモジュールの搭載状態を互いに通知し、当該搭載状態を示す信号の組み合わせIDに見立てて最小のIDを有するコントローラモジュールが全ての冷却ファンを一括して制御するものである。
米国特許出願公開第2009/0171473号明細書        (日本公開特許2009-157784号公報)
 ストレージ装置内の温度は、HDD(Hard Disk Drive)やSSD(Solid State Drive)の実装状態によって、装置内の各位置で温度が異なる場合がある。そのため、装置内で最も温度の高い位置の温度情報に従って、冷却ファンを同期して制御する必要がある。ところが、特許文献1には、ストレージシステムが筐体内温度を監視する監視部を有することの開示はあるが、監視部の具体的構成の言及はなく、装置内の各位置で温度が異なる場合の対処方法は開示されていない。
 上記課題を解決するために、本発明のストレージ装置は、2つ以上の温度センサーを備えた2つ以上のコントローラを有し、各コントローラは、温度センサーの値を基に第1のファン回転数(以下、仮回転数と呼ぶ)を決定する。複数コントローラのうち1のコントローラがマスタコントローラとなって動作し、その他のコントローラ(スレーブコントローラ)はマスタコントローラに対し、自身で決定した仮回転数情報を送信する。マスタコントローラは、スレーブコントローラから受信した仮回転数情報と自身で決定した仮回転数情報のうち、大きい値を最終的なファン回転数と決定する。
 本発明のストレージ装置では、ストレージ装置内の異常な温度上昇を防止できるとともに、効率的な冷却及び騒音・電力を最小限に抑えることができる。前述以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
図1は、ストレージ装置の構造と排気流路を示す図である。 図2は、ストレージ装置のハードウェア構成を示す図である。 図3は、制御コントローラ間のI/Fを示す図である。 図4は、ファン回転速度判定テーブルの構成例を示す図である。 図5は、ファン回転速度(回転数)の状態遷移を示す図である。 図6は、制御コントローラの状態遷移を示す図である。 図7は、マスタ制御コントローラでの温度情報の取得とファン回転速度決定処理を示すフローチャートである。 図8は、スレーブ制御コントローラでの温度情報の取得処理を示すフローチャートである。
 以下、図面を参照しながら実施の形態を説明する。なお、以下の説明では、「管理テーブル」等の表現にて各種情報を説明することがあるが、各種情報は、テーブル以外のデータ構造で表現されていてもよい。また、データ構造に依存しないことを示すために「管理テーブル」を「管理情報」と呼ぶことができる。
 また、「プログラム」を主語として処理を説明する場合がある。そのプログラムは、プロセッサ、例えば、MP(Micro Processor)やCPU(Central Processing Unit)によって実行されるもので、定められた処理をするものである。なお、プロセッサは、適宜に記憶資源(例えばメモリ)及び通信インターフェース装置(例えば、通信ポート)を用いながら処理を行うため、処理の主語がプロセッサとされてもよい。プロセッサは、CPUの他に専用ハードウェアを有していても良い。コンピュータプログラムは、プログラムソースから各コンピュータにインストールされても良い。プログラムソースは、例えば、プログラム配布サーバ又は記憶メディアなどで提供されるものであっても良い。
 また、各要素、例えば、コントローラは番号などで識別可能であるが、各要素を識別可能な情報であれば、名前など他種の識別情報が用いられても良い。本実施例の図及び説明において同一部分には同一符号を付与しているが、本発明が本実施例に制限されることは無く、本発明の思想に合致するあらゆる応用例が本発明の技術的範囲に含まれる。また、特に限定しない限り、各構成要素は複数でも単数でも構わない。
<ストレージ装置の構造と排気流路>
 図1は、ストレージ装置の構造と排気流路を示す図である。ストレージ装置10は、2つの制御コントローラ1 11/制御コントローラ1 12、電源1 15/電源2 116、複数のHDDやSSDを格納するドライブユニット13、ストレージ装置内で発生した装置外部に排熱して各デバイスを冷却するための冷却ファン11 152/冷却ファン12 153/冷却ファン21 162/冷却ファン22 163を備える。
 HDDやSSDはドライブキャニスタに内蔵され、そのドライブキャニスタをストレージ装置10の上部より挿入しドライブユニット13(例えば、60台のキャニスタを挿入可能)のベースボード(図示せず)のスロットに装着する。そのため、所定数のHDDやSSDをストレージ装置10へ高密度に実装し接続できる構成としている。なお、ドライブキャニスタの挿抜は、ストレージ装置10を稼働させたままで行うことができる。
 また、図1では、ドライブユニット13へ全てのHDDやSSDが実装されている例を示しているが、保守等により一部のドライブキャニスタが抜かれる場合(例えば、HDD_39など)や、装置として必要な記憶容量分のドライブキャニスタを実装し、その他のスロットを増設用とする場合(例えば、排熱流路18の平行な1列分(HDD_6/18/30/42/54の5台及びHDD_12/24/36/48/60の5台、ないしSSD5台分でもよい)がある。このような場合、冷却ファン11 152等による吸気ではストレージ装置10の前面(HDDやSSD実装部分)から背面(冷却ファン配置部)までの排熱経路20が形成されるが、ドライブキャニスタ未実装の空間では吸気抵抗の大きくなり、またカルマン渦のような乱流が生じ易くなることで、空間に面するドライブキャニスタの表面からの効率的な除熱が困難となるという課題がある。
 そのため、本実施例では、冷却ファン11 152等の回転数を上げてストレージ装置10の前面での吸気量を増加させることで、HDD(ないしSSD)、制御コントローラおよび電源における冷却効率を向上し、異常な温度上昇を防止する。そのために、1つの制御コントローラの2つ以上の温度センサーを設ける。例えば、制御コントローラ1 11には温度センサー1a 112及び温度センサー1b 113を、制御コントローラ2 12には温度センサー2a 122及び温度センサー2b 123を設ける。
 制御コントローラ1 11の下部には、制御コントローラ1 11及びドライブユニット13に電力を供給するための電源1 15が設けられる。同じく、制御コントローラ2 12の下部には、制御コントローラ2 12及びドライブユニット13に電力を供給するための電源1 16が設けられる。これらHDD(ないしSSD)、制御コントローラ及び電源は、ストレージ装置10の背面に設けられた冷却ファン11 152から冷却ファン22 163がストレージ装置10の前面から吸気するよう回転して冷却風を各デバイスに当てることで、各デバイスで発生する熱を吸熱し、ストレージ装置10の背面から排熱する。
<ストレージ装置のハードウェア構成>
 図2は、ストレージ装置のハードウェア構成を示す図である。ストレージ装置10は、前述のように、ホスト計算機19及びドライブユニット13との通信を行うための制御コントローラ1 11、制御コントローラ1 11及びドライブユニット13へ電力を供給する電源1 15を備える。また、ストレージ装置10は、前述のように、ホスト計算機19及びドライブユニット14との通信を行うための制御コントローラ2 12、制御コントローラ2 12及びドライブユニット14へ電力を供給する電源2 16を備える。
 制御コントローラ1 11は、ホスト計算機19及びドライブユニット13との通信を制御するSAS-Expanderコントローラ(以下、SASコントローラ)111、温度情報を取得しシリアル通信I/F(例えば、I2C(登録商標)-I/F)でSASコントローラ111に送る温度センサー1a 112、温度センサー1b 113を備える。制御コントローラ1 11は、更に制御コントローラ2 12との非常用通信(例えば、I2C-I/F)を行うためのPLD114、温度情報を初めとする各種情報やテーブルを格納するためのメモリ115、電源1 15からDC電圧を所定の電圧(3.3V,5V,12V等)に変換するDC/DCコンバータ116を備える。
 電源1 15は、電源全体を制御する制御用マイクロコントローラ(以下、制御用マイコン)1 151、制御用マイコン1 151で回転数を制御されストレージ装置10内部を冷却する冷却ファン152、冷却ファン153を備える。制御用マイコン1 151内部には、冷却ファン11 152及び冷却ファン12 153の回転速度を設定するメモリ1 1511と、温度センサー1a 112及び温度センサー1b 113から取得した2つの温度情報を格納するメモリ2 1512を備える。なお、メモリ2 1512に、冷却ファン11 152及び冷却ファン12 153の回転速度を設定することもできる。
 制御コントローラ2 12は、ホスト計算機19及びドライブユニット14との通信を制御するSASコントローラ121、温度情報を取得しシリアル通信I/FでSASコントローラ121に送る温度センサー2a 122、温度センサー2b 123を備える。制御コントローラ2 12は、更に制御コントローラ1 11との非常用通信を行うためのPLD124、温度情報を初めとする各種情報やテーブルを格納するためのメモリ125、電源2 16からDC電圧を所定の電圧に変換するDC/DCコンバータ126を備える。
 電源2 16は、電源全体を制御する制御用マイコン2 161、制御用マイコン2 161で回転数を制御されストレージ装置10内部を冷却する冷却ファン21 162、冷却ファン22 163を備える。制御用マイコン2 161内部には、冷却ファン21 162及び冷却ファン22 163の回転速度を設定するメモリ1 1611と、温度センサー2a 122/温度センサー2b 123から取得した2つの温度情報を格納するメモリ2 1612を備える。なお、メモリ2 1612に、冷却ファン21 162及び冷却ファン22 163の回転速度を設定することもできる。
 また、SASコントローラ111/SASコントローラ121と制御マイコン1 151/制御マイコン2 161との間は、I2C-I/FなどのシリアルI/Fで接続し、SASコントローラ間、制御マイコン間、SASコントローラ-制御マイコン間で相互にデータ送受信や状態監視を行うことが可能な構成としている。各制御マイコン内のメモリ1及びメモリ2の内容も、各SASコントローラが共通で参照可能な構成としている。
<制御コントローラ間のI/F>
 図3は、制御コントローラ間のI/Fを示す図である。制御コントローラ1 11のPLD114と、制御コントローラ2 12のPLD124間はGPIO(General Purpose I/O)と呼ばれるポートで接続され、制御コントローラ間における通常の通信ラインに支障が発生した場合に、PLD114とPLD124間のGPIOで通信を行い双方の制御コントローラ状態を確認する。
 このGPIOの使用方法は、
(1)信号線断線等の障害を考慮し、OUT用とIN用に各々2本を2重化して使用する。
(2)OUT用(GPOポート:USOUT1/GPIO67(GPIO12_1)、USOUT2/GPIO63(GPIO12_2))の設定/解除
 1:SASコントローラ111/121が電源1 15または電源2 16に対するI2Cによるアクセス失敗を検出した場合
 0:ストレージ装置10が起動後の初期値または、“1”設定時に他系の制御コントローラまたは電源のいずれかの抜去を検出した場合
(3)IN用(GPIポート:USIN1/GPIO69(GPIO21_1)、USIN2/GPIO65(GPIO21_2)))の意味
 1:他系のSASコントローラが電源1 15、電源2 16のいずれかへのI2Cアクセスに失敗した場合または、他系の制御コントローラが未実装である場合
 0:上記“1”の状態以外
(4)GPIOへ設定する場合はOUT用の2本へ設定する。
(5)設定信号(IN用)の読み出しを複数回実施し、全て一致することを確認する。不一致の場合は、SASコントローラ内部にログとして残しておく。
(6)GPIO信号を参照(IN側)する場合はIN用の2本を参照し、OR判定で使用する。
(7)GPIOの値を確定するには、IN用2本のどちらかが2回連続で“1”として検出できた場合、異常状態と判断し冷却FANを最大回転数(後述のSpeed4)へ設定すること。
(8)IN用(GPI)は、冷却FANの監視と同じ時間間隔(例えば、30秒間隔)で参照する。
 である。以上(1)から(8)のPLDのGPIOを用いることで、I2C-I/Fライン1111ないし1211の故障(断線等)やSASコントローラの異常発生時に各制御コントローラでの異常の検出が可能となる。
<ファン回転速度判定テーブル>
 図4は、ファン回転速度判定テーブルの構成例を示す図である。ファン回転速度判定テーブル40は、冷却ファンにおける所定の回転数を得るため、メモリ1 1511/1611への設定値を判定するためのテーブルで、メモリ115及びメモリ125に格納される。ファン回転速度判定テーブル40は、#401、回転数(Speed)設定402、メモリ設定値403(メモリ2への格納値)、備考404を備える。
 冷却ファンを“Speed1”で回転するためには、SASコントローラ111/121が、ファン回転速度判定テーブル40のSpeed設定402で“Speed1”に対応するメモリ設定値403を参照し、メモリ1への設定値“0x80”を取得する。同様に、SASコントローラ111/121は、Speed設定402が“Speed2”であればメモリ1への設定値“0x9C”を、“Speed4(MAX)”であれば“0xD9”を取得する。
 SASコントローラ111/121は、取得したメモリ設定値を、メモリ1 1511/1611に設定する。電源1 15の制御用マイコン1 151は、メモリ1 1511に設定された値に基づき、冷却ファン11 152及び冷却ファン12 153を所定の回転数で回転させる。同じく、電源2 16の制御用マイコン2 161は、メモリ1 1611に設定された値に基づき、冷却ファン21 162及び冷却ファン22 163を所定の回転数で回転させる。ちなみに、メモリ1 1511とメモリ1 1611には同じメモリ値、例えば、“0x9C”が格納されているので、冷却ファン11 152から冷却ファン22 163までの4つの冷却ファンは、同じ回転数で同期して回転する。
<ファン回転速度の状態遷移>
 図5は、ファン回転速度(回転数)の状態遷移を示す図である。ストレージ装置10の起動時(電源ON時)には、初期状態としてSpeed1状態となる。SASコントローラ111が温度センサー1a 112及び温度センサー1b 113から取得した2つの温度情報で大きい方の温度情報と、SASコントローラ121が温度センサー2a 122及び温度センサー2b 123から取得した2つの温度情報で大きい方の温度情報とを、
SASコントローラ111ないしSASコントローラ121が比較し、一番大きい温度情報(最大値)により状態遷移が発生する。その遷移条件は、
(Sp1)Speed1からSpeed2への遷移条件:温度情報が摂氏35度以上になった場合である。
(Sp2)Speed2からSpeed3への遷移条件:温度情報が摂氏37度以上になった場合である。
(Sp3)Speed3からSpeed2への遷移条件:温度情報が摂氏33度以下になった場合である。
(Sp4)Speed2からSpeed1への遷移条件:温度情報が摂氏31度以下になった場合である。
 なお、本実施例では、冷却ファン速度を上記Speed1からSpeed4の4段階で制御しているが、これ以上の多い段階で制御することもできる。なお、状態が遷移(温度情報が変化)する度に、SASコントローラは、電源のメモリ1にSpeedに対応するメモリ設定値403を格納し、制御用マイコン1 151がメモリ設定値403をメモリ1 1511から、制御用マイコン2 161がメモリ設定値403をメモリ1 1611から読み出して冷却ファン11 152/冷却ファン12 153/冷却ファン21 162/冷却ファン22 163の回転数をメモリ設定値に基づいて変更する。
<制御コントローラの状態遷移>
 図6は、制御コントローラの状態遷移を示す図である。制御コントローラの状態は下記6状態がある。
 (St01)S(状態:State)01では、AC_ON、すなわち、外部電源の接続を検出する。
 (St02)S02では、制御コントローラの挿入を検出する。
 (St10)S10では、P_ON(Power_On)、すなわち、ストレージ装置10ないし制御コントローラの電源をONする。
 (St20)S20では、Slot#に接続されている制御コントローラを判別する。Slot1に接続されている制御コントローラを“制御コントローラ1”とし、S30に遷移する。Slot2に接続されている制御コントローラを“制御コントローラ2”とし、S40に遷移する。
 (St30)S30では、Slot1に接続されている制御コントローラ1を“Master”ないし“Masterコントローラ”とする。S30からS40への遷移条件は、
  (a1)制御コントローラ2 12が“Masterコントローラ”の状態で、制御コントローラ1の状態が“未実装”から“実装”への変化を検出した場合、制御コントローラ2 12が“Slaveコントローラ”になる。
 ないし
  (a2)制御コントローラ1 11のPLD114のGPIO12_1/2(USOUT1/GPIO67、USOUT2/GPIO63)が“0”で、かつGPIO21_1/2(USIN1/GPIO69、USIN2/GPIO65)が“1”である場合、つまり制御コントローラ1 11が“正常”で、制御コントローラ2 12が“異常”である場合は、制御コントローラ2 12が“Slaveコントローラ”になる。
 である。
 (St40)S40では、Slot2に接続されている制御コントローラ2 12を“Slave”ないし“Slaveコントローラ”とする。S40からS30への遷移条件は、
  (b1)他系制御コントローラ(制御コントローラ1 11)が未実装状態の場合、制御コントローラ2 12が“Masterコントローラ”となる。
 ないし
  (b2)制御コントローラ2 12のPLD124のGPIO12_1/2(USIN1/GPIO69、USIN2/GPIO65)が“1”でかつGPIO21_OUT_1/2(US0UT1/GPIO67、US0UT2/GPIO63)が“0”である場合、つまり制御コントローラ2 12が“正常”で、制御コントローラ1 11が“異常”である場合は、制御コントローラ2 12が“Masterコントローラ”になる。
 である。
 まず、Slot1に接続されている制御コントローラをMasterコントローラとし、それ以外を、Slaveコントローラとする。Masterコントローラは、温度センサーからの温度情報ないし温度情報で決まる仮回転数を自身及びSlaveコントローラ側のメモリ2に格納する。SlaveコントローラもMasterコントローラと同様、温度センサーからの温度情報ないし温度情報で決まる仮回転数を自身及びMasterコントローラ側のメモリ2に格納する。その後、Masterコントローラは、Masterコントローラ側のメモリ2の内容(温度情報ないし仮回転数)と、Slaveコントローラ側のメモリ2の内容(温度情報ないし仮回転数)とを比較する。そして、一番高い温度情報に対する回転数ないし一番早い仮回転数を、実際にFAN152/153/162/163を回転させる最終回転数とする。なお、Masterコントローラが故障した場合ないし接続状態から制御コントローラ全体が抜かれると、SlaveコントローラがMasterコントローラとなり、上記メモリでのデータ格納、設定されたメモリ内容の取得、温度情報ないし仮回転数からの最終回転数を決定する。このように、 Master(マスタ)制御コントローラ(ないしマスタSASコントローラ)とSlave(スレーブ)制御コントローラ(スレーブSASコントローラ)を、ストレージ装置10内部の状態に応じて、動的に切り替えることで異常ケースにおいても冷却ファンの回転数を変更可能である。
<温度情報取得・ファン回転速度制御>
 図7は、マスタ制御コントローラでの温度情報の取得とファン回転速度決定処理を示すフローチャートである。図8は、スレーブ制御コントローラでの温度情報の取得処理を示すフローチャートである。SASコントローラ111をマスタSASコントローラと、SASコントローラ121をスレーブSASコントローラとして、図7及び図8を説明する。なお、本処理は、例えば、30秒毎に実行して、ストレージ装置10の内部温度に基づき効果的な冷却ファンの回転数制御を行う。
 S701で、SASコントローラ111は、制御コントローラ1 11の温度センサー1a 112の値及び温度センサー1b 113の値を取得する。取得した温度情報を、SASコントローラ111は、電源1 15のメモリ2 1512及び電源2 16のメモリ2 1612それぞれに格納する。
 S702で、SASコントローラ111は、取得した温度センサー1a 112及び温度センサー1b 113の値を比較し、高い方の値(温度情報)を最終的なFAN_set_masterと決定する。なお、最終的なFAN_set_masterを高い方の温度情報に基づく冷却ファンの仮回転数(第1の仮回転数)としてもよい。
 S703で、SASコントローラ111は、電源1 15のメモリ2 1512及び電源2 16のメモリ2 1612それぞれに格納されている温度情報の値(FAN_set_slave)をリードする。例えば、SASコントローラ121が温度センサー2a 122及び温度センサー2b 123より取得した温度情報(FAN_set_slave)と、取得した2つの温度情報の内、高い値の温度情報(最終的なFAN_set_slave)の2つの温度情報がメモリ2 1512/1612に格納されている。SASコントローラ111は、メモリ2 1512/1612から格納されている温度情報を取得する。
 S704で、SASコントローラ111は、リードした2つの温度情報(FAN_set_slave)の値を比較し、高い方の値(温度情報)を最終的なFAN_set_slaveとする。なお、SASコントローラ111は、メモリ2 1512から読み出した温度情報と、メモリ2 1612から読み出した温度情報とを比較して一致していることを確認することで、温度情報の信頼性を確認することができる。各メモリ2から取得した最終的なFAN_set_slaveの比較でも、温度情報の信頼性を確認することができる。
 S705で、SASコントローラ111は、最終的なFAN_set_masterの値と、最終的なFAN_set_slaveの値を比較する。FAN_set_masterの値がFAN_set_slaveの値以上の場合、SASコントローラ111はS707を実行し、FAN_set_masterの値がFAN_set_slaveの値未満の場合、S706を実行する。
 S706で、SASコントローラ111は、温度情報の最大値がFAN_set_slaveの値であるので、FAN設定値をFAN_set_slaveの値とする。また、S707で、SASコントローラ111は、温度情報の最大値がFAN_set_masterの値であるので、FAN設定値をFAN_set_masterとする。なお、前述のように最終的なFAN_set_masterと最終的なFAN_set_Slaveとを、冷却ファンの仮回転数として、両者を比較し最終的な回転数を決定してもよい。
 S708で、SASコントローラ111は、S706ないしS707で決定されたFAN設定値(最大温度情報)を電源1 15のメモリ1 1511、電源2 16のメモリ1 1611へライトする。また、SASコントローラ111は、FAN設定値(最大温度情報)を図5の状態遷移図に照合してSpeed設定を求める。そして、求めたSpeed設定を図4のファン回転速度判定テーブル40に照合して、メモリ設定値を求め電源1 15のメモリ1 1511、電源2 16のメモリ1 1611へライトする。そして、SASコントローラ111及びSASコントローラ121は、ファン回転速度決定処理を終了する。なお、以上の説明では、FAN_set_master及びFAN_set_slaveを温度情報としたが、冷却ファンのSpeed状態(図5の状態遷移図や図4のSpeed設定402)ないし、図4のメモリ設定値403としてもよい。また、前述の第1の仮回転数(Master側)と、後述の第2の仮回転数(Slave側)をSASコントローラ111が比較し、大きい方の仮回転数を最終回転数としてメモリ1 1511/1611に設定し、冷却FANの回転数を制御できる。
 制御用マイコン1 151はメモリ1 1511から、制御用マイコン2 161はメモリ1 1611からメモリ設定値を読み出す。読み出したメモリ設定値に基づいた回転数で、制御用マイコン1 151は冷却ファン11 152と冷却ファン12 153を、制御用マイコン2 161は冷却ファン21 162と冷却ファン22 163を回転させる。
 なお、スレーブのSASコントローラ側では、S801で、SASコントローラ121が、制御コントローラ2 12の温度センサー2a 122の値及び温度センサー2b 123の値を取得する。取得した温度情報を、SASコントローラ111は、電源1 15のメモリ2 1512及び電源2 16のメモリ2 1612それぞれに格納する。
 S802で、SASコントローラ121は、温度センサー2a 122の値と、温度センサー2b 123の値を比較し、高い方の値を最終的なFAN_set_slaveと決定する。なお、最終的なFAN_set_slaveを高い方の温度情報に基づく冷却ファンの仮回転数(第2の仮回転数)としてもよい。
 S803で、SASコントローラ121は、最終的なFAN_set_slaveの値を電源1 15のメモリ2 1512及び電源2 16のメモリ2 1612へライトする。
 具体的な動作を温度センサー1a 112の温度情報を“35度”、温度センサー1b 113の温度情報を“37度”、温度センサー2a 122の温度情報を“34度”、温度センサー2b 123の温度情報を“36度”とし、また、SASコントローラ111をMaster側SASコントローラ、SASコントローラ121をSlave側SASコントローラとして説明する。
 まず、Slave側SASコントローラ121は、温度センサー2a 122の温度情報(“34度”)と温度センサー2b 123の温度情報(“36度”)とを比較して、最終的なFAN_set_slaveを高い値(“36度”)とする。また、Slave側SASコントローラ121は、2つの温度情報をFAN_set_slaveとして、最終的なFAN_set_slaveと一緒に電源1 15のメモリ2 1512及び電源2 16のメモリ2 1612へ格納する。
 Master側SASコントローラ111は、温度センサー1a 112の温度情報(“35度”)、温度センサー1b 113の温度情報(“37度”)を比較して、最終的なFAN_set_masterを高い値(“37度”)とする。また、Master側SASコントローラ111は、2つの温度情報をFAN_set_masterとして、最終的なFAN_set_masterと一緒に電源1 15のメモリ2 1512及び電源2 16のメモリ2 1612へ格納する。
 これにより、電源1 15のメモリ2 1512及び電源2 16のメモリ2 1612には、最終的なFAN_set_slave、2つのFAN_set_slave、最終的なFAN_set_master、2つのFAN_set_masterの計6つの温度情報が格納される。
 次に、Master側SASコントローラ111は、電源1 15のメモリ2 1512及び/または電源2 16のメモリ2 1612から最終的なFAN_set_slaveを読み出す。この時、2つのFAN_set_slaveを読み出して比較することで最終的なFAN_set_slaveを求めてもこともできる。Master側SASコントローラ111は、最終的なFAN_set_master(“37度”)と最終的なFAN_set_slave(“36度”)とを比較して最大となる温度情報を求める。
 本例では、最大の温度情報は“37度”となるので、Master側SASコントローラ111は、この“37度”をFAN設定値とし、電源1 15のメモリ1 1511及び電源2 16のメモリ1 1611に格納する。また、Master側SASコントローラ111は、ストレージ装置10内部の温度が“37度”であるので、図5の状態遷移から冷却ファンの回転速度(回転数)を“Speed3”とする必要があると判断する。そして、Master側SASコントローラ111は、図4のファン回転速度判定テーブル40からSpeed設定402が“Speed3”の場合、メモリ設定値403は“0xBA”であるので、そのメモリ値“0xBA”を電源1 15のメモリ1 1511及び電源2 16のメモリ1 1611に格納する。
 制御用マイコン1 151はメモリ1 1511から、制御用マイコン2 161はメモリ1 1611からメモリ設定値を読み出して、メモリ設定値に基づいた回転数で冷却ファン11 152から冷却ファン22 163を同期して回転させる。
 以上の処理により、2つ以上の制御コントローラに備えられた2つ以上の温度センサーの温度情報を、制御コントローラのSASコントローラや図示していないがCPUなどのプロセッサなどが取得し、最大となる温度情報を抽出する。そして、最大となる温度情報に基づく回転数で、備えられた2つ以上の冷却ファンを回転させる。これにより、HDDやSSDの実装状態に依らずに、十分な冷却効果を得ることができる。なお、本例の記憶媒体としてHDDやSSDとしたがこれに限定されるものではなく、DVD-RW、CD-RW、ICカード、SDカードなどでもよく、その実装状態に依らずに、十分な冷却効果を得ることができる。
 以上の説明では、メモリ1 1511/1611にFAN回転数情報を、メモリ2 1512/1612に温度情報を設定する例を説明した。しかしながら、メモリ2 1512/1612それぞれに、それぞれの制御コントローラにおける温度情報に基づく仮FAN回転数を格納し、Slave側SASコントローラの仮FAN回転数とMaster側SASコントローラが自身の仮FAN回転数とを比較し、大きい仮FAN回転数を最終FAN回転数としてメモリ1 1511/1611に設定して冷却ファンの回転数を制御することもできる。また、メモリ1 1511とメモリ2 1512を1つのメモリとし、更に、メモリ1 1611とメモリ2 1612を1つのメモリとし、それぞれ4つの領域に分割し、第1領域に取得した温度情報を、第2領域に仮FAN回転数を、第3領域に取得した温度情報の中で高い温度情報(最大温度情報)を、第4領域に最終FAN回転数を格納してもよい。このような構成にすることで、部品点数を低減できる。なお、最終FAN回転数は、第2領域の仮FAN回転数ないし第3領域の最大温度情報に基づき決定することもできる。
 なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。
 各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置いてもよい。また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
 10:ストレージ装置、11/12:制御コントローラ、13:ディスクユニット、15/16:電源、19:ホスト計算機、40:ファン回転速度判定テーブル、111/121:SASコントローラ、112/113/122/123:温度センサー、152/153/162/163:冷却ファン、1511/1512/1611/1612:メモリ

Claims (10)

  1.  複数の記憶媒体を有するストレージ装置のFAN制御最適化であって、
     前記ストレージ装置は、
     複数の温度センサーと、複数のメモリと、コントローラとを備えた複数の制御部と、
     前記ストレージ装置内部を冷却するためのFANと、
    を備え、
     第1の制御部のコントローラは、当該制御部の複数の温度センサーで測定された温度で高い方の温度を第1温度情報とし、
     前記第1の制御部とは異なる第2の制御部のコントローラは、当該制御部の複数の温度センサーで測定された温度で高い方の温度を第2温度情報とし、
     前記第1の制御部のコントローラまたは前記第2の制御部のコントローラが、前記第1温度情報と第2温度情報とを比較し、高い温度情報で前記FANの回転数を決定する
     ことを特徴とするストレージ装置のFAN制御最適化。
  2.  請求項1記載のストレージ装置のFAN制御最適化であって、
     前記第1の制御部のコントローラは、前記第1温度情報により前記FANの第1回転数を決定し、
     前記第2の制御部のコントローラは、前記第2温度情報により前記FANの第2回転数を決定し、
     前記第1の制御部のコントローラまたは前記第2の制御部のコントローラが、前記第1回転数と前記第2回転数の高い回転数を前記FANの回転数をする
     ことを特徴とするストレージ装置のFAN制御最適化。
  3.  請求項1記載のストレージ装置のFAN制御最適化であって、
     前記第1の制御部の前記コントローラは、当該制御部のメモリに前記第1温度情報を格納すると共に、前記第2の制御部のメモリに格納し、
     前記第2の制御部の前記コントローラは、当該制御部のメモリに前記第2温度情報を格納すると共に、前記第1の制御部のメモリに格納する
     ことを特徴とするストレージ装置のFAN制御最適化。
  4.  請求項2記載のストレージ装置のFAN制御最適化であって、
     前記第1の制御部の前記コントローラは、当該制御部のメモリに前記第1回転数を格納すると共に、前記第2の制御部のメモリに格納し、
     前記第2の制御部の前記コントローラは、当該制御部のメモリに前記第2回転数を格納すると共に、前記第1の制御部のメモリに格納する
     ことを特徴とするストレージ装置のFAN制御最適化。
  5.  請求項1記載のストレージ装置のFAN制御最適化であって、前記ストレージ装置に、装置へ電力を供給する1つ以上の電源を備え、当該電源に前記FANが装着されている
     ことを特徴とするストレージ装置のFAN制御最適化。
  6.  請求項2記載のストレージ装置のFAN制御最適化であって、
     前記第1のメモリ及び前記第2のメモリは、前記第1及び第2の温度情報を格納する第1メモリ領域と、前記第1及び第2回転数を格納する第2メモリ領域とを有する
     ことを特徴とするストレージ装置のFAN制御最適化。
  7.  請求項6記載のストレージ装置のFAN制御最適化であって、
     前記第1のメモリ及び前記第2のメモリは、更に、温度が最大である温度情報を格納する第3メモリ領域と、最大回転数を格納する第4メモリ領域とを有する
     ことを特徴とするストレージ装置のFAN制御最適化。
  8.  請求項7記載のストレージ装置のFAN制御最適化であって、前記ストレージ装置は、前記FANの回転数を制御するFAN制御コントローラを備え、当該FAN制御コントローラが前記第3メモリ領域に格納された温度情報を基に前記FANの回転数を決定する
     ことを特徴とするストレージ装置のFAN制御最適化。
  9.  請求項8記載のストレージ装置のFAN制御最適化であって、前記FAN制御コントローラが前記第4メモリ領域に格納された最大回転数で前記FANを回転させる
     ことを特徴とするストレージ装置のFAN制御最適化。
  10.  複数の記憶媒体を有するストレージ装置のFAN制御最適化の方法であって、
     前記ストレージ装置は、
     複数の温度センサーと、複数のメモリと、コントローラとを備えた複数の制御部と、
     前記ストレージ装置内部を冷却するためのFANと、 
    を備え、
     第1の制御部のコントローラは、当該制御部の複数の温度センサーで測定された温度で高い方の温度を第1温度情報とするステップと、
     前記第1の制御部とは異なる第2の制御部のコントローラは、当該制御部の複数の温度センサーで測定された温度で高い方の温度を第2温度情報とするステップと、
     前記第1の制御部のコントローラまたは前記第2の制御部のコントローラが、前記第1温度情報と第2温度情報とを比較するステップと、
     高い温度情報で前記FANの回転数を決定するステップとを有する
     ことを特徴とするストレージ装置のFAN制御最適化の方法。
PCT/JP2014/069807 2014-07-28 2014-07-28 ストレージ装置のfan制御最適化 WO2016016925A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2014/069807 WO2016016925A1 (ja) 2014-07-28 2014-07-28 ストレージ装置のfan制御最適化
US15/121,784 US10073504B2 (en) 2014-07-28 2014-07-28 Optimization of fan control for storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/069807 WO2016016925A1 (ja) 2014-07-28 2014-07-28 ストレージ装置のfan制御最適化

Publications (1)

Publication Number Publication Date
WO2016016925A1 true WO2016016925A1 (ja) 2016-02-04

Family

ID=55216871

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/069807 WO2016016925A1 (ja) 2014-07-28 2014-07-28 ストレージ装置のfan制御最適化

Country Status (2)

Country Link
US (1) US10073504B2 (ja)
WO (1) WO2016016925A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109388213A (zh) * 2017-08-09 2019-02-26 广达电脑股份有限公司 服务器系统、计算机实施方法及非暂态计算机可读介质

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014145062A1 (en) * 2013-03-15 2014-09-18 Honeywell International Inc. Electrostatic discharge connector and method for an electronic device
JP6464979B2 (ja) * 2015-10-05 2019-02-06 富士通株式会社 回転制御方法、回転制御プログラム、及び情報処理装置
US10754398B2 (en) * 2016-05-20 2020-08-25 Microsoft Technology Licensing, Llc Adaptive cooling techniques in electronic devices
US10698457B2 (en) * 2016-12-09 2020-06-30 Dell Products, L.P. Information handling system component temperature regulation based on reliability and maximum temperature requirements
CN109558087B (zh) * 2018-12-03 2022-03-22 郑州云海信息技术有限公司 一种多控存储系统的公共设备控制方法及系统
TWI698586B (zh) * 2019-01-23 2020-07-11 旺玖科技股份有限公司 風扇運作狀態診斷裝置及其方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04275095A (ja) * 1991-03-01 1992-09-30 Fujitsu Ltd 記憶ディスク装置
JP2011138232A (ja) * 2009-12-25 2011-07-14 Toshiba Tec Corp 電子機器およびファン制御方法
JP2014072411A (ja) * 2012-09-28 2014-04-21 Fujitsu Ltd コンテナ型データセンタ、空調制御プログラム及び空調制御方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0776009B1 (en) * 1990-11-30 1999-04-14 Fujitsu Limited Storage disk device having a plurality of storage disk modules
US6428282B1 (en) * 1999-06-14 2002-08-06 Hewlett-Packard Company System with fan speed synchronization control
US6777900B2 (en) * 2002-04-30 2004-08-17 Mitac Technology Corp. Method for controlling hear dissipation of electronic device
JP4606233B2 (ja) * 2005-04-14 2011-01-05 株式会社日立製作所 ストレージ装置、ストレージ装置のファン制御方法およびファン制御プログラム
JP4495207B2 (ja) 2007-12-27 2010-06-30 富士通株式会社 ストレージシステム、ストレージシステムの制御方法、およびストレージシステムの制御装置
US8892389B1 (en) * 2008-03-31 2014-11-18 Teradata Us, Inc. Determining a condition of a system based on plural measurements
JP4727709B2 (ja) * 2008-11-12 2011-07-20 株式会社日立製作所 記憶制御装置
JP5177896B2 (ja) * 2009-03-06 2013-04-10 エヌイーシーコンピュータテクノ株式会社 ファンの動的回転数制御装置、ファンの動的回転数制御方法及びファンの動的回転数制御プログラム
CN101989094A (zh) * 2009-07-30 2011-03-23 鸿富锦精密工业(深圳)有限公司 存储设备温度控制系统及方法
JP2011249522A (ja) * 2010-05-26 2011-12-08 Fujitsu Ltd 判定装置、及び、判定方法
WO2012063280A1 (en) * 2010-11-09 2012-05-18 Hitachi, Ltd. Structual fabric of a storage apparatus for mounting storage devices
TW201224288A (en) * 2010-12-01 2012-06-16 Hon Hai Prec Ind Co Ltd System and method for controlling a fan
CN202549300U (zh) * 2012-03-02 2012-11-21 鸿富锦精密工业(深圳)有限公司 硬盘温度控制系统
TWI432973B (zh) * 2012-03-27 2014-04-01 Wistron Corp 管理模組、儲存系統及其溫度與震動管理方法
CN103729043A (zh) * 2012-10-12 2014-04-16 英业达科技有限公司 伺服系统
JP6020390B2 (ja) * 2013-08-30 2016-11-02 日立金属株式会社 冷却ファンシステム及び通信機器
TW201516634A (zh) * 2013-10-16 2015-05-01 Wistron Corp 磁碟陣列儲存裝置、伺服器系統及其電源管理方法
JP6413876B2 (ja) * 2015-03-26 2018-10-31 ブラザー工業株式会社 画像形成装置
US10271460B2 (en) * 2016-01-11 2019-04-23 Quanta Computer Inc. Server system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04275095A (ja) * 1991-03-01 1992-09-30 Fujitsu Ltd 記憶ディスク装置
JP2011138232A (ja) * 2009-12-25 2011-07-14 Toshiba Tec Corp 電子機器およびファン制御方法
JP2014072411A (ja) * 2012-09-28 2014-04-21 Fujitsu Ltd コンテナ型データセンタ、空調制御プログラム及び空調制御方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109388213A (zh) * 2017-08-09 2019-02-26 广达电脑股份有限公司 服务器系统、计算机实施方法及非暂态计算机可读介质
US10806057B2 (en) 2017-08-09 2020-10-13 Quanta Computer Inc. Multi-node system-fan-control switch
CN109388213B (zh) * 2017-08-09 2021-02-02 广达电脑股份有限公司 服务器系统、计算机实施方法及非暂态计算机可读介质

Also Published As

Publication number Publication date
US20170017280A1 (en) 2017-01-19
US10073504B2 (en) 2018-09-11

Similar Documents

Publication Publication Date Title
WO2016016925A1 (ja) ストレージ装置のfan制御最適化
TWI631466B (zh) 機箱管理系統及機箱管理方法
US9804937B2 (en) Backup backplane management control in a server rack system
US20170091042A1 (en) System and method for power loss protection of storage device
US20140122753A1 (en) Electronic Device, Management Method Thereof, and Rack Serving System
US20100281246A1 (en) Synchronization of swappable module in modular system
CN106814826B (zh) 控制服务器机柜中气流的系统及方法
GB2492620A (en) Midplane for blade server management
US8990632B2 (en) System for monitoring state information in a multiplex system
US10691185B2 (en) Cooling behavior in computer systems
IE20160189A1 (en) Enhanced power control of data storage arrays
US8904201B2 (en) Storage system and its control method
US10856437B2 (en) System for automatically classifying electrical devices for fan control application
US20200137079A1 (en) System and method for detecting rogue devices on a device management bus
US11585351B2 (en) Fan failure compensation
WO2016053197A1 (en) Active storage unit and array
US8037156B2 (en) Host discovery in multi-blade server chassis
TW202026938A (zh) 經由邊帶介面恢復場域可程式閘陣列韌體之系統及方法
US11640377B2 (en) Event-based generation of context-aware telemetry reports
US20170091133A1 (en) Universal sleds server architecture
US9569312B2 (en) System and method for high-speed data recording
US10244667B2 (en) Storage apparatus and storage device management program
US9423863B2 (en) Server system with power distribution board and storage control method thereof
TWI607317B (zh) 電腦系統
TWI573424B (zh) 網路配置管理方法、伺服系統以及非暫態之電腦可讀儲存媒體

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14898719

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 15121784

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14898719

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP