Patent ID: 12243559

DETAILED DESCRIPTION

As noted above, large-scale storage systems may include HDDs installed in a plurality of racks or cabinets and a cooling system configured to cool the HDDs. In order to avoid read/write errors produced by acoustic noise (e.g., generated by the cooling system) causing an offset between data tracks and a read/write head of read/write actuator arms of the HDDs, typical storage systems may determine the acoustic noise that HDDs are likely to be subject to during operation to ensure that the acoustic noise is below an acoustic noise threshold level for the HDDs. For example, an acoustic noise measurement device having the same form factor as an HDD (e.g., as described in U.S. Patent Publication No. 2019/0051323) may be used to collect acoustic noise data to generate a report to determine how physical features and/or control systems of the HDD may be modified to better accept and/or withstand acoustic noise.

Implementations of the subject matter of this disclosure allow the acoustic noise level at each HDD in a storage system to be individually monitored in real-time, using a microphone installed in each HDD and the existing circuitry of the HDDs. Using this real time data, the throughput of the storage system may be maximized (e.g., by real-time correlation between the throughput of individual HDDs and operation of a cooling system), while taking any required mitigating actions to avoid read/write errors. For example, to adjust the level of acoustic noise that is produced by a cooling system (e.g., that may cause errors in the read/write operations of certain HDDs), a data center host may dynamically adjust a cooling level of the cooling system and control read/write operation (or re-read/rewrite operations) in real-time based on the monitored acoustic noise levels (e.g., performance aware thermal fan scheduling)

Implementations of the subject matter of this disclosure may be illustrated with reference toFIGS.1-6.

FIG.1illustrates a storage system100, in accordance with some implementations of the subject matter of this disclosure. The storage system100is an example of a storage system that may be found in a large-scale system (e.g., a data center). As shown, the storage system100includes a rack102including a plurality of drawers104. Each of the drawers104may include a plurality of HDDs106. However, this is only one example, and the HDDs106may be installed in any rack or cabinet. A data center may include tens or hundreds of the racks102.

The storage system100may further include a cooling system108. The cooling system108may employ air cooling and/or liquid cooling to cool the plurality of HDDs106. For example, the cooling system108may include one or more fans within each of the drawers104to move cool air to cool the HDDs106. In some implementations, the cooling system108may pump a cooling fluid through pipes in the vicinity of the rack102. The cooling system108may produce acoustic noise that affects the operation of the HDDs106. The acoustic noise may be expected or unexpected. For example, it may be determined that running fans above a certain RPM or pumping cooling fluid through pipes above a certain rate may produce noise that negatively affects the operation of the HDDs106(e.g., exceeds an acoustic noise threshold of the HDDs106). In other examples, unexpected sources of acoustic noise (e.g., a bent fan blade, accumulated dust in a cooling fan, etc.) may cause the cooling system108to produce acoustic noise that affect operation of some or all of the HDDs106. However, due to the different placement of each of the HDDs106and, e.g., the different sensitivities of different types of HDDs106, noise generated by the cooling system108may adversely affect only some of the HDDs106. By monitoring noise at each of the HDDs106in real-time, the throughput performance of the storage system100may be maximized, by controlling the cooling system108(e.g., cooling level) and the individual operation of the HDDs106, as explained in greater detail below.

FIG.2illustrates an example HDD106(e.g., as shown inFIG.1), in accordance with implementations of the subject matter of this disclosure. As shown, the HDD106includes a plurality of magnetic platters202connected to a spindle204configured to turn the magnetic platters202. The HDD106further includes an actuator206configured to move one or more actuator arms208relative to the plurality of magnetic platters202. The one or more actuator arms208include read/write heads to read and/or write data to or from the plurality of magnetic platters202. The HDD106further includes an HDD system-on-chip (SOC)210(e.g., an HDD controller) configured to control the operation of the HDD106. The HDD106includes an input/output (I/O) interface212for communicating with a host (e.g., a data center host). The I/O interface212may be a serial attached SCSI (SAS) interface, a serial ATA (SATA) interface, or any other suitable interface. The HDD106may include a housing comprising a frame214and a cover216.

The HDD106may further include a microphone218disposed within the housing of the HDD106. As exampled in further detail below, the HDD SOC210may process signals from the microphone to determine acoustic noise detected by the microphone218. In some implementations, the microphone218may be included with the HDD SOC210. However, this is only one example, and the microphone218may also be disposed adjacent to a location within the HDD106that is most sensitive to acoustic noise (e.g., adjacent to the one or more actuator arms208), which may improve acoustic noise measurements in the HDD106. In some implementations, the HDD106may include more than one microphone218disposed within the housing of the HDD106.

FIG.3illustrates a partial block diagram of the HDD SOC210, in accordance with implementations of the subject matter of this disclosure. The HDD SOC210(e.g., HDD controller) may control the operation of the HDD106. As shown, the HDD SOC210includes control circuitry302comprising a memory304and a processor306(e.g., an SOC core) configured to control the operation of the HDD106. The HDD SOC210further includes a digital-to-analog (DAC) converter308configured to convert digital data to analog signals for storage on the HDD106and an analog-to-digital (ADC) converter309configured to convert analog signal read from the HDD106to digital signals. The HDD SOC210further includes a preamp310configured to amplify read/write signals. The HDD SOC210further includes an I/O interface312for providing communication resources within the HDD106. The HDD SOC210may further include a variety of other digital and/or analog circuitry for controlling operation of the HDD106, as understood by those skilled in the art.

In some implementations, as discussed above, the microphone218may be included with the HDD SOC210. However, this is only one example, and the microphone218may also be connected to the HDD SOC210through the I/O interface312. The existing circuitry of the HDD SOC210may be further configured to process signals detected by the microphone218(e.g., acoustic noise). For example, the preamp310may be configured to amply signals detected by the microphone218(e.g., corresponding to acoustic noise), and the ADC309may convert these amplified analog signals to digital signals to be processed the control circuitry302and transmitted to, e.g., a data center controller through the existing connections in the data center, as explained in further detail below. By configuring the existing circuitry of an HDD SOC (e.g., HDD SOC210) to process signals detected by a microphone, the system described herein may be implemented simply by adding a microphone to an HDD and configuring the circuitry of the HDD to process the signals detected by the microphone. In addition to reducing cost and complexity (e.g., compared to a separate system for estimating the acoustic noise levels that an HDD will experience, such as the system described in U.S. Patent Publication No. 2019/0051323), the system described herein may detect in real-time, at each HDD in a data storage system, the acoustic noise experienced by each HDD, and take any necessary mitigating actions in real-time (e.g., dynamically adjust the cooling system or control read/write operations of individual HDDs in response to changing levels of acoustic noise experienced by each of the HDDs). For example, when read/write operations are not being performed (or are being performed at a low throughput level), the system may operate the cooling system at a high cooling level (e.g., that could otherwise cause errors in the read/write operations). When read/write operations are being performed (e.g., especially at a high throughput level), the system may operate the cooling system at a lower cooling level (e.g., that is not likely to cause any errors in the read/write operation). When an HDD is approaching a maximum operating temperature (e.g., due to a high throughput level) the system may lower the throughput level and increase the cooling level. That is, the system may coordinate, in real-time, the cooling level and the throughput of individual HDDs.

FIG.4illustrates example waveforms corresponding to acoustic noise detected by a microphone of an HDD, in accordance with implementations of the subject matter of this disclosure. As shown, the microphone218may generate a first waveform402corresponding to acoustic noise detected by the microphone218. The HDD SOC210may process the first waveform402to generate a second waveform404. For example, the HDD SOC210may amplify, convert (e.g., from an analog to a digital signal), and transform the first waveform402in the time domain into second waveform404in the frequency domain (e.g., using a Fourier transform (FT), Fast Fourier transform (FFT), Wavelet transform (WT), etc.). However, this is only an example, and the HDD SOC210may use any suitable processing and algorithms to analyze the acoustic noise detected by the microphone218.

As shown, the second waveform404may include a plurality of spikes (e.g., at 350 Hz, 700 Hz, 1100 Hz, etc.). In some implementations, the HDD SOC210may analyze the second waveform404to determine the source of the detected acoustic noise. For example, the HDD SOC210may compare the second waveform404with noise signatures associated with different noise sources to identify the source of the noise detected by the microphone. For example, 350 Hz may be associated with a cooling pump, 700 Hz may be associated with an air conditioner, and 1100 Hz may be associated with a cooling fan. However, this is only one example, and the HDD SOC210may determine noise signatures of the second waveform404in any suitable manner. In some implementations, the HDD SOC210may determine if the second waveform404exceeds one or more threshold levels associated with the HDD. The threshold levels may correspond to the acoustic specification of the HDD, including the microphone218(e.g., the maximum amount of acoustic noise the HDD is able to be subject to and operate without error). Different HDDs may have different threshold levels. In some implementations, the HDD SOC210may determine if portions of the second waveform404exceed certain threshold levels associated with normal operation of the cooling system of the storage system (e.g., the cooling system108). Although the HDD SOC210is described as determining if detected acoustic noise levels exceed one or more threshold levels, it should be understood that processing circuitry of a data center host may perform certain processing related to the acoustic noise determination, as described in further detail below.

FIG.5illustrates a data center500, in accordance with some implementations of the subject matter of this disclosure. As shown, the data center500(e.g., a storage system) includes a plurality of HDDs106a,106b, . . .106nconnected to a data center host502. Although only three HDDs are shown, it should be understood that a data center may include any number of HDDs. The plurality of HDDs106a,106b, . . .106nmay be installed on a plurality of racks (e.g., the racks102ofFIG.1) and may be cooled by the cooling system108, as described above. As shown, each of the plurality of HDDs106a,106b,106nmay include a corresponding microphone218a,218b, . . .218n, HDD SOC210a,210b, . . .210n, and an SAS interface212a,212b, . . .212n. Each of the plurality of HDDs106a,106b, . . .106nmay be connected to the data center host502through the SAS interfaces212a,212b, . . .212n. The data center host502may transmit read/write requests to each of the plurality of HDDs106a,106b, . . .106n. Additionally, the data center host502may control the cooling system108. Based on noise information received from each of the plurality of HDDs106a,106b, . . .106n, the data center host502may control the cooling system108and read/write operations (e.g., in association with the respective HDD SOCs210a,210b, . . .210n). For example, the data center host502may optimize throughput of the plurality of HDDs106a,106b, . . .106nby optimizing cooling levels of the cooling system108and read/write operations of the plurality of HDDs106a,106b, . . .106nin real-time, based on the detected acoustic noise and acoustic noise specification of each of the plurality of HDDs106a,106b, . . .106n. Additionally, the data center host502may identify problems with the cooling system108based on the detected acoustic noise. In some implementations, as discussed above, the data center host502may process data received from each of the plurality of HDDs106a,106b, . . .106nto determine the detected acoustic noise levels. In some implementations, a single HDD SOC may process signals from a plurality of microphones (e.g., from other ones of the plurality of106a,106b,106n).

FIG.6depicts a flowchart of illustrative steps of a process600for mitigating the effects of acoustic noise detected at an HDD of a storage system, in accordance with implementations of the subject matter of this disclosure. The process begins at602when an HDD SOC (e.g., the HDD SOC210) receives a signal from a microphone disposed within an HDD (e.g., the HDD106). The signal may be generated by the microphone in response to acoustic noise detected by the microphone. The acoustic noise may be generated by a cooling system of the HDD (e.g., the cooling system108).

At604, the HDD SOC amplifies the received signal. For example, the HDD SOC may utilize a preamp (e.g., the preamp310) to amplify the signal.

At606, the HDD SOC converts the amplified signal to a digital signal. For example, the HDD SOC may utilize an ADC (e.g., the ADC309) to convert the amplified signal.

At608, the HDD SOC may process the digital signal to determine noise detected by the microphone. In one example, the HDD SOC may convert the digital signal into the frequency domain (e.g., using an FFT) and analyze the converted signal in the frequency domain. In some implementations, the HDD SOC may transmit the digital signal directly to a data center host (e.g., the data center host502) for processing.

At610, the HDD SOC (or the data center host) may determine if the determined noise is above a threshold level associated with the HDD. For example, the HDD SOC may determine if the determined noise level exceeds an acoustic noise threshold level associated with the HDD. In response to determining that the determined noise is not above the threshold level (“No” at610), the process600returns to602and continues to monitor acoustic noise levels. Otherwise (“Yes” at610), the process600proceeds to612. In some implementations, the HDD SOC may communicate, in real-time, the determined noise level to the data center host. Based on the determined noise level, the data center host may coordinate, in real-time, the throughput of the HDD and the cooling level provided to the HDD.

At612, the HDD SOC (or the data center host) determines if a read or write operation is currently being performed. In response to determining that a read or write operation is not currently being performed (“No” at612), the process600proceeds to616. Otherwise (“Yes” at612), the process600proceeds to614.

At614, the HDD SOC (or the data center host), in response to determining that a read or write operation is currently being performed (when the determined noise is above the threshold level), performs a rewrite or a re-read operation. For example, when data is read from or written to an HDD while the HDD is subject to acoustic noise above a threshold level associated with normal operation of the HDD, the data may be corrected. Thus, by performing a rewrite or a re-read operation when acoustic noise exceeds a threshold level, reading/writing errors of the HDD may be reduced.

At616, the data center host may determine whether to adjust a cooling level of a cooling system of the HDD (e.g., the cooling system108). For example, the data center host may determine if the detected acoustic noise is caused by the cooling system operating above a certain cooling level. If the data center host determines if the detected acoustic noise is caused by the cooling system operating above a certain cooling level (“Yes” at616), the process600proceeds to618. Otherwise (“No” at616), the process600returns to602and continues to monitor acoustic noise levels.

At618, the data center host adjusts the cooling level of the cooling system. For example, the data center host may adjust an overall cooling level of the cooling system (e.g., coolant flow or air conditioning level) or a local cooling level of the cooling system (e.g., a cooling fan adjacent to the HDD). That is, the operation of the cooling system may be coordinated with the operation of the HDD (e.g., including the current operating temperature of the HDD, which may also be communicated to the data center host).

The processes discussed above are intended to be illustrative and not limiting. One skilled in the art would appreciate that the steps of the processes discussed herein may be omitted, modified, combined and/or rearranged, and any additional steps may be performed without departing from the scope of the invention. Additionally, although the process600is only described for a single HDD, it should be understood that the process600may be performed for a storage system (e.g., a data center) having any number of HDDs. In this case, the data host controller may receive information about each of the HDDs (e.g., acoustic sensitivity of the HDDs) as well as data corresponding to the acoustic noise detected at each of the HDDs. As HDDs may be individually upgraded and replaced in the storage system, HDDs within the same or different racks may have different acoustic noise sensitivities. Thus, controlling the operation of the storage system based on receiving information from each of the HDDS, the throughput of the storage system may be maximized, while reducing read/write errors. For example, by determining the current acoustic noise level experienced by an HDD, the throughput of the HDD may be coordinated with the cooling provided to the HDD (e.g., based on the current operating temperature of the HDD), such that the throughput of the HDD may be maximized without overheating the HDD or introducing read/write errors caused by excessive acoustic noise. Additionally, by analyzing acoustic noise information in real-time, problems in the cooling system may be quickly identified.

As used herein and in the claims which follow, the construction “one of A and B” shall mean “A or B.”

It is noted that the foregoing is only illustrative of the principles of the invention, and that the invention can be practiced by other than the described implementations, which are presented for purposes of illustration and not of limitation, and the present invention is limited only by the claims which follow.