This application claims all benefits accruing under 35 U.S.C. §119 from China Patent Application No. 201310183547.5, filed on May 17, 2013 in the State Intellectual Property Office of China. The contents of the China Application are hereby incorporated by reference.
1. Technical Field
The disclosure generally relates to electronic devices, and particularly relates to electronic devices having multiple hard disk drives.
2. Description of Related Art
A server computer often includes large number of hard disk drives (HDDs) installed in a casing. If the temperature of the HDDs exceeds an operating temperature limit, the computer system may break down (for example, a blue screen may appear). If a user continues to operate the server computer and the HDDs are kept on, data in the HDDs may be lost and the HDDs may be physically damaged.
Therefore, there is room for improvement within the art.
Many aspects of the embodiments can be better understood with reference to the following drawings. The components in the drawings are not necessarily drawn to scale, the emphasis instead being placed upon clearly illustrating the principles of the embodiments. Moreover, in the drawings, like reference numerals designate corresponding parts throughout the views.
The disclosure is illustrated by way of example and not by way of limitation in the figures of the accompanying drawings, in which like reference numerals indicate similar elements. It should be noted that references to “an” or “one” embodiment in this disclosure are not necessarily to the same embodiment, and such references can mean “at least one.”
In general, the word “module,” as used herein, refers to logic embodied in hardware or firmware, or to a collection of software instructions, written in a programming language such as Java, C, or assembly. One or more software instructions in the modules may be embedded in firmware, such as in an erasable-programmable read-only memory (EPROM). The modules described herein may be implemented as either software and/or hardware modules and may be stored in any type of non-transitory computer-readable medium or other storage device. Some non-limiting examples of non-transitory computer-readable media are compact discs (CDs), digital versatile discs (DVDs), Blu-Ray discs, Flash memory, and hard disk drives.
The BMC 30 is a specialized microcontroller embedded on a motherboard of a server. The BMC 30 manages an interface between system management software and platform hardware. The BMC 30 can collect state information of the platform hardware and send the state information to the system management software. The system management software can also communicate with the BMC 30 to take some actions to monitor or configure the platform hardware.
The I2C bus is a multi-master serial single-ended computer bus for attaching low-speed peripherals to a motherboard, embedded system, cellphone, or other electronic device. The I2C bus includes two bidirectional open-drain lines, a Serial Data Line (SDL) and a Serial Clock Line (SCL), pulled up with resistors.
The SAS expander 20 facilitates communication between the plurality of HDDs 40 and the BMC 30. The SAS expander 20 includes a Serial SCSI Protocol target port for access to the plurality of HDDs 40.
The SAS expander 20 may obtain temperature information of the HDD 40 from a Self-Monitoring Analysis and Reporting Technology (S.M.A.R.T.) module of the HDD 40.
The SAS expander 20 may obtain the number of the HDDs 40 connected to the hard disk backboard 10 and calculate a proposed collecting frequency according to the number of the HDDs 40. The SAS expander 20 may send the proposed collecting frequency to the BMC 30 through the I2C bus.
The BMC 30 may receive a user specified collecting frequency from a user via a user interface. The BMC 30 compares the proposed collecting frequency with the user specified collecting frequency. If the proposed collecting frequency is greater than the user specified collecting frequency, the BMC 30 selects the proposed collecting frequency as an optimal collecting frequency. If the user specified collecting frequency is greater than the proposed collecting frequency, the BMC 30 selects the user specified collecting frequency as an optimal collecting frequency.
When the optimal collecting frequency is determined by the BMC 30, the BMC 30 sends the optimal collecting frequency to the SAS expander 20 via the I2C bus. The SAS expander 20 may obtain the temperature information from the HDDs 40 at the optimal collecting frequency.
The SAS expander 20 may also monitor whether the number of the HDDs 40 has changed. When the number of the HDDs 40 has changed, the SAS expander 20 may re-calculate a new proposed collecting frequency according to the new number of the HDDs 40 and send the new proposed collecting frequency to the BMC 30 via the I2C bus. The BMC 30 may determine a new optimal collecting frequency by comparing the new proposed collecting frequency with the user specified collecting frequency and send the new optimal collecting frequency to the SAS expander 20. The SAS expander 20 may obtain the temperature information of the HDDs 40 at the new optimal collecting frequency.
When the SAS expander 20 has obtained the temperature information of the HDDs 40, the SAS expander 20 may send a data-ready message to the BMC 30 via the I2C bus. The data-ready message may include the number of the HDDs 40 and a data length of the temperature information of the HDDs 40.
In response to receiving the data-ready message, the BMC 30 performs some actions to prepare to receive the data from the SAS expander 20. For example, the BMC 30 designates a storage area to store the data sent from the SAS expander 20 according to the data length indicated by the data-ready message. After that, the BMC 30 may send a receive-ready message to the SAS expander 20 via the I2C bus.
When the SAS expander 20 has received the receive-ready message from the BMC 30, the SAS expander 20 may send the temperature information of the HDDs 40 to the BMC 30 via the I2C bus.
In step S301, the BMC 30 determines an optimal collecting frequency.
In step S302, the BMC 30 sends the optimal collecting frequency to the SAS expander 20.
In step S303, the SAS expander 20 obtains temperature information of the HDDs 40 at the optimal collecting frequency.
In step S304, the SAS expander 20 monitors whether the number of the HDDs 40 connected to the hard disk backboard 10 has changed. If the number of the HDDs 40 has changed, the flow goes to step S301 and the BMC determines a new optimal collecting frequency. If the number of the HDDs 40 remains unchanged, the flow proceeds to step S305.
In step S305, the SAS expander 20 sends the temperature information of the HDDs 40 to the BMC 30.
In step S401, the SAS expander 20 obtains the number of the HDDs 40 connected to the hard disk backboard 10.
In step S402, the SAS expander 20 calculates a proposed collecting frequency according to the number of the HDDs 40.
In step S403, the SAS expander 20 sends the proposed collecting frequency to the BMC 30.
In step S404, the BMC 30 receives a user specified collecting frequency from a user via a user interface.
In step S405, the BMC 30 compares the proposed collecting frequency with the user specified collecting frequency. If the proposed collecting frequency is greater than the user specified collecting frequency, the flow proceeds to step S406. If the user specified collecting frequency is greater than the proposed collecting frequency, the flow proceeds to step S407.
In step S406, the BMC 30 selects the proposed collecting frequency as the optimal collecting frequency.
In step S407, the BMC 30 selects the user specified collecting frequency as the optimal collecting frequency.
In step S501, the SAS expander 20 sends a data-ready message to the BMC 30. The data-ready message includes the number of the HDDs 40 and a data length of the temperature information of the HDDs 40.
In step S502, the BMC 30 performs some actions to prepare to receive the data from the SAS expander 20. For example, the BMC 30 designates a storage area to store the data sent from the SAS expander 20 according to the data length indicated by the data-ready message.
In step S503, the BMC 30 sends a receive-ready message to the SAS expander 20.
In step S504, the SAS expander 20 sends the temperature information of the HDDs 40 to the BMC 30.
Although numerous characteristics and advantages have been set forth in the foregoing description of embodiments, together with details of the structures and functions of the embodiments, the disclosure is illustrative only, and changes may be made in detail, especially in the matters of arrangement of parts within the principles of the disclosure to the full extent indicated by the broad general meaning of the terms in which the appended claims are expressed.
In particular, depending on the embodiment, certain steps or methods described may be removed, others may be added, and the sequence of steps may be altered. The description and the claims drawn for or in relation to a method may give some indication in reference to certain steps. However, any indication given is only to be viewed for identification purposes, and is not necessarily a suggestion as to an order for the steps.
Number | Date | Country | Kind |
---|---|---|---|
2013101835475 | May 2013 | CN | national |