Control of solid state memory device temperature using queue depth management
US-2015261281-A1 · Sep 17, 2015 · US
US9684457B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9684457-B2 |
| Application number | US-201514719234-A |
| Country | US |
| Kind code | B2 |
| Filing date | May 21, 2015 |
| Priority date | May 21, 2015 |
| Publication date | Jun 20, 2017 |
| Grant date | Jun 20, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Provided are a computer readable storage media, method, and system for gathering sensed data from devices to manage host command transmission and cooling of the device. Host commands are retrieved from a host memory in a host to perform Input/Output operations with respect to a device. The retrieved host commands are transmitted to the device to perform the I/O operations of the host command. A monitor command is transmitted to obtain sensed data from the device while processing the host commands. A rate of transmitting the host commands is adjusted in response to determining that the sensed data received from the device in response to the monitor command satisfies a condition.
Opening claim text (preview).
What is claimed: 1. A controller in communication with a host and a device, wherein the device includes at least one sensor to gather sensed data from the device, wherein the controller is to: retrieve host commands from a host memory in the host to perform Input/Output (I/O) operations with respect to the device; transmit retrieved host commands to the device to perform the I/O operations of the host command; periodically insert a monitor command into the transmission of the retrieved host commands to transmit to the device to obtain sensed data from the device while processing the host commands; and adjust a rate of transmitting further retrieved host commands from a command queue in the controller to the device in response to determining that the sensed data received from the device in response to the monitor command satisfies a condition. 2. The controller of claim 1 , wherein the sensed data comprises a temperature of the device, and wherein the sensed data satisfies the condition when the temperature exceeds a threshold temperature, and wherein to adjust the rate comprises to slow the rate at which the retrieved host commands are transmitted to the device. 3. The controller of claim 2 , wherein to slow the rate at which retrieved host commands are transmitted comprises: transmit the host commands to the device that are retrieved outside of a time window; queue commands that are retrieved within the time window; and transmit the queued commands when the time window ends. 4. The controller of claim 1 , further to: receive a response to the host commands from the device; transmit the response to the host commands to the host memory; and store the sensed data received in response to the monitor command in a buffer in the controller without returning to the host memory. 5. The controller of claim 1 , further to: transmit instructions to control a cooling unit to cool the device in response to determining that the sensed data satisfies the condition. 6. The controller of claim 1 , wherein there are a plurality of devices connected to the controller to receive I/O requests from the host, wherein the host memory includes host commands for the plurality of the devices that are retrieved and transmitted to the devices, and wherein the monitor command is transmitted to the devices while transmitting the retrieved host commands, wherein to adjust the rate comprises: receive sensed data from the devices in response to monitor commands sent to the devices; determine a first group of at least one of the plurality of devices each having sensed data that satisfies the condition, wherein a second group of devices of the plurality of devices not in the first group each has sensed data that does not satisfy the condition; and adjust a rate of processing of queued host commands for the devices in the first group, wherein the rate of processing of the queued host commands for the devices in the second group is not adjusted. 7. The controller of claim 1 , wherein there are a plurality of devices connected to the controller to receive Input/Output (I/O) requests from the host, wherein host memory includes command lists, one for each of the devices, having the host commands for the devices, wherein the periodically inserting the monitor command into the transmission of the retrieved host commands is from the command lists to transmit to the devices while transmitting the host commands to the devices. 8. The controller of claim 7 , further to: receive responses to the host commands from the devices; transmit the responses to the host commands to the host memory; and store the sensed data for the devices received in response to monitor commands in a buffer in the controller without returning to the host memory. 9. A controller in communication with a host and a device, wherein the device includes at least one sensor to gather sensed data from the device, wherein the controller is to: retrieve host commands from a host memory in the host to perform Input/Output (I/O) operations with respect to the device, wherein the host commands for the device are stored in command slots in a command list in the host memory; transmit the retrieved host commands to the device to perform the I/O operations of the host command; in response to a determination to send a monitor command to the device, select one of the command slots to use for the monitor command; insert the monitor command into the selected command slot, wherein the monitor command is retrieved when retrieving data for the selected command slot when processing the command list; transmit the monitor command to obtain the sensed data from the device while processing the host commands; and adjust a rate of transmitting the host commands in response to determining that the sensed data received from the device in response to the monitor command satisfies a condition. 10. The controller of claim 9 , further to: set a bit in a slot ownership register having a bit for each command slot to indicate the selected command slot is owned, wherein while the selected command slot is indicated as owned the host will ignore the command slot corresponding to the set bit. 11. The controller of claim 10 , further to: receive a response to the host or monitor commands from the device; determine the command slot from which the host or monitor command was retrieved; determine whether the bit in the slot ownership register for the determined command slot indicates that the determined command slot is owned; return the response to the command slot in the host memory in response to determining that the bit indicates that the determined command slot is not owned; and store the received sensed data in a controller buffer in response to determining that the command slot is owned. 12. The controller of claim 9 , wherein to determine to send the monitor command comprises one of: determine that a timer has expired; and receive a command from a controller component to send the monitor command. 13. A computer readable storage medium including instructions to control a controller in communication with a host and a device, wherein the device includes at least one sensor to gather sensed data from the device, wherein the instructions when executed cause operations to: retrieve host commands from a host memory in the host to perform Input/Output (I/O) operations with respect to the device; transmit the retrieved host commands to the device to perform the I/O operations of the host command; periodically insert a monitor command into the transmission of the retrieved host commands to transmit to the device to obtain sensed data from the device while processing the host commands; and adjust a rate of transmitting further retrieved host commands from a command queue in the controller to the device in response to determining that the sensed data received from the device in response to the monitor command satisfies a condition. 14. The computer readable storage medium of claim 13 , wherein the sensed data comprises a temperature of the device, and wherein the sensed data satisfies the condition when the temperature exceeds a threshold temperature, and wherein the adjusting the rate comprises slowing the rate at which the retrieved host commands are transmitted to the device. 15. The computer readable storage medium of claim 13 , wherein the operations are further to: receive a response to the host commands from the device; transmit the response to the host commands to the host memory; and store the sensed data received in response to the monitor command in a buffer in the controller
Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · CPC title
Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title
Improving I/O performance · CPC title
comprising thermal management · CPC title
Monitoring storage devices or systems · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.