# US 12,111,705 B2 · Dynamically controlling variable data storage device threshold temperatures within a storage system

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,111,705 B2
- Document ID: US12111705B2
- Status: Granted
- Kind: B2
- Application number: 17/939,537
- Filed: 2022-09-07
- Published: 2024-03-07
- Granted: 2024-10-08
- Earliest claimed: 2022-09-07
- Assignees: Western Digital Technologies, Inc.
- Applicants: Western Digital Technologies, Inc.
- Inventors: Ramanathan Muthiah; Sridhar Sabesan; Pavan Gururaj; Dinesh Babu
- Web page: https://patentgrep.com/patent/US12111705B2

## CPC

- G06F 1/206: {comprising thermal management}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Dynamically determining respective threshold temperatures for data storage devices (DSDs) in a data storage system (DSS) slot involves determining a marginal temperature of a DSD (TMd) based on the difference between a current threshold temperature of a corresponding DSS slot (TTe) and a current temperature value of the DSD (TCd), and raising the current TTe to an updated TTe accordingly, thereby effectively permitting the DSD to operate at temperatures up to the updated TTe. Updating TTe may come after first determining whether the TMd is greater than a lower limit and/or less than an upper limit, both of which are based on an inherent threshold temperature value of the DSD (TTd). This approach can be applied to other DSDs housed in the same DSS enclosure, enabling varying each respective DSD operating temperature, in contrast to using a fixed operating temperature range for the entire enclosure.

## Claims

### Claim 1

A method for dynamically determining a threshold temperature for a data storage device (DSD) positioned in a data storage system (DSS) slot, the method comprising:
determining a marginal temperature value of a particular DSD (TMd) based on a difference of a current assigned threshold temperature value of a particular DSS slot (TTe) and a current temperature value of the particular DSD (TCd);
determining whether the TMd is greater than a lower limit, based on a threshold temperature value of the particular DSD (TTd), for updating the TTe;
determining whether the current TTe is less than an upper limit, based on the TTd, for updating the TTe; and
responsive to the TMd being greater than the lower limit and the current TTe being less than the upper limit, raising the current TTe to an updated TTe.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
permitting the particular DSD to operate at temperatures up to the updated TTe.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
assigning the updated TTe to the particular DSS slot.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
determining whether the updated TTe is less than the upper limit; and
responsive to the updated TTe being less than the upper limit, assigning the updated TTe to the particular DSS slot.

### Claim 5 (depends on 4)

The method of claim 4, further comprising:
permitting the particular DSD to operate at temperatures up to the updated TTe.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
for another DSD positioned in a corresponding other DSS slot:
determining a marginal temperature value of the other DSD (TMd1) based on a difference of a current assigned threshold temperature value of the other DSS slot (TTe1) and a current temperature value of the other DSD (TCd1);
determining whether the TMd1 is greater than another corresponding lower limit, based on a threshold temperature value of the other DSD (TTd1), for updating the TTe1;
determining whether the current TTe1 is less than another corresponding upper limit, based on the TTd1, for updating the TTe1;
responsive to the TMd1 being greater than the other corresponding lower limit and the current TTe1 being less than the other corresponding upper limit, raising the current TTe1 to an updated TTe1; and
permitting the other DSD to operate at temperatures up to the updated TTe1.

### Claim 7 (depends on 6)

The method of claim 6, wherein the updated TTe1 is a different value from the updated TTe.

### Claim 8 (depends on 6)

The method of claim 6, wherein one of the particular DSD and the other DSD is a hard disk drive and the other of the particular DSD and the other DSD is a solid-state drive.

### Claim 9 (depends on 6)

The method of claim 6, wherein responsive to the TCd exceeding the TTe, continuing permitting the other DSD to operate at temperatures up to the updated TTe1.

### Claim 10 (depends on 1)

The method of claim 1, wherein the current TTe corresponds to a high-temperature threshold, the method further comprising:
determining that the marginal temperature value of the particular DSD (TMd) is less than a low-temperature threshold value of a particular DSS slot (TTelow); and
responsively updating a corresponding one or more fields in a SCSI (Small Computer System Interface) Enclosure Services (SES) protocol and/or notifying a Baseboard Management Controller (BMC) service about the updated TTe.

### Claim 11

A method for dynamically varying threshold temperatures for data storage devices (DSDs) positioned in data storage system (DSS) slots, the method comprising:
for a particular DSD positioned in a corresponding particular DSS slot:
determining a marginal temperature value of the particular DSD (TMd) equal to a difference of a current threshold temperature value of the particular DSS slot (TTe) and a current temperature value of the particular DSD (TCd);
computing a product Y=(y %)×TTd, where TTd represents a threshold temperature value of the particular DSD (TTd);
computing a product Z=(z %)×TTd;
determining whether the TMd is greater than Y;
responsive to the TMd being greater than Y, determining whether the TTe is less than Z; and
responsive to TTe being less than Z, generating an updated TTe value (TTeu) by incrementing the TTe by a certain percent of the TCd.

### Claim 12 (depends on 11)

The method of claim 11, further comprising:
permitting the particular DSD to operate at temperatures up to the TTeu.

### Claim 13 (depends on 11)

The method of claim 11, further comprising:
determining whether the TTeu is less than Z;
responsive to TTeu being less than Z, assigning the TTeu to the particular DSS slot; and
allowing operational access to the particular DSD to operate at temperatures up to the TTeu.

### Claim 14 (depends on 11)

The method of claim 11, further comprising:
prior to determining TMd, determining whether TCd is consistently less than TTe over a certain time duration.

### Claim 15 (depends on 11)

The method of claim 11, further comprising:
for another DSD positioned in a corresponding other DSS slot:
determining a marginal temperature value of the other DSD (TMd1) equal to a difference of a current threshold temperature value of the other DSS slot (TTe1) and a current temperature value of the other DSD (TCd1);
computing a first percentage value of a threshold temperature value of the other DSD (TTd1);
computing a second percentage value of the TTd1;
determining whether the TMd1 is greater than the first percentage value of the TTd1;
determining whether the TTe1 is less than the second percentage value of the TTd1;
responsive to the TMd1 being greater than the first percentage value and the TTe1 being less than the second percentage value, updating the TTe1 based on the TCd1; and
permitting the other DSD to operate at temperatures up to the updated TTe1;
wherein the updated TTe1 is a different value from the TTeu.

### Claim 16 (depends on 15)

The method of claim 15, further comprising:
responsive to the particular DSD exceeding the corresponding TTeu, prohibiting I/O (input/output) operational access to the particular DSD while continuing to permit the other DSD to operate at temperatures up to the corresponding updated TTe1.

### Claim 17 (depends on 15)

The method of claim 15, wherein one of the particular DSD and the other DSD is a hard disk drive and the other of the particular DSD and the other DSD is a solid-state drive.

### Claim 18

An electronic controller for a data storage system comprising a data storage device (DSD) positioned in a data storage system (DSS) slot, the controller comprising:
means for executing machine-executable instructions;
means for storing one or more sequences of machine-executable instructions which, when executed by the means for executing, cause performance of:
determining a marginal temperature value of a particular DSD (TMd) based on a difference of a current assigned threshold temperature value of a particular DSS slot (TTe) and a current temperature value of the particular DSD (TCd);
determining whether the TMd is greater than a lower limit, based on a threshold temperature value of the particular DSD (TTd), for updating the TTe;
determining whether the current TTe is less than an upper limit, based on the TTd, for updating the TTe;
responsive to the TMd being greater than the lower limit and the current TTe being less than the upper limit, raising the current TTe to an updated TTe; and
permitting the particular DSD to operate at temperatures up to the updated TTe.

### Claim 19 (depends on 18)

The electronic controller of claim 18, wherein the one or more sequences of machine-executable instructions, when executed by the means for executing, cause further performance of:
for another DSD positioned in a corresponding other DSS slot:
determining a marginal temperature value of the other DSD (TMd1) based on a difference of a current assigned threshold temperature value of the other DSS slot (TTe1) and a current temperature value of the other DSD (TCd1);
determining whether the TMd1 is greater than another corresponding lower limit, based on a threshold temperature value of the other DSD (TTd1), for updating the TTe1;
determining whether the current TTe1 is less than another corresponding upper limit, based on the TTd1, for updating the TTe1;
responsive to the TMd1 being greater than the other corresponding lower limit and the current TTe1 being less than the other corresponding upper limit, raising the current TTe1 to an updated TTe1; and
permitting the other DSD to operate at temperatures up to the updated TTe1;
wherein the updated TTe1 is a different value from the updated TTe.

### Claim 20 (depends on 18)

The electronic controller of claim 18, wherein the one or more sequences of machine-executable instructions, when executed by the means for executing, cause further performance of:
assigning the updated TTe to the particular DSS slot; and
updating a corresponding one or more fields in a SCSI (Small Computer System Interface) Enclosure Services (SES) protocol and/or notifying a Baseboard Management Controller (BMC) service about the updated TTe.
