Automatic operating mode management for memory using workload profile data
The disclosed embodiments relate to logging activities of memory devices and adjusting the operation of a controller based on the activities. In one embodiment, a method comprises monitoring, by a memory device, die temperatures and data sizes of commands issued to the memory device; determining, by the memory device, a target size for a buffer based on the die temperatures and data sizes; and adjusting, by the memory device, a current size of the buffer to meet the target size.
1. A method comprising:
monitoring, by a memory device, die temperatures and data sizes of commands issued to the memory device during a first period of time, the die temperatures and the data sizes correlated via timestamps;
storing, by the memory device, the die temperatures and the data sizes in a log file;
determining, by the memory device, a target size for a buffer based on a current temperature by:
identifying similar historical temperatures present in the log file,
extracting a plurality of data sizes from the log file that are correlated with the similar historical temperatures, the plurality of data sizes corresponding to a plurality of read or write commands issued during the similar historical temperatures, and
aggregating the plurality of data sizes to determine the target size; and
adjusting, by the memory device, a current size of the buffer to meet the target size.
2. The method of claim 1 , wherein monitoring the die temperatures comprises reading the die temperatures from a temperature sensor, generating the timestamps for the die temperatures, and writing the die temperatures and the timestamps to the log file.
3. The method of claim 1 , wherein monitoring the data sizes of commands issued to the memory device comprises calculating a data size of data required to execute the commands.
4. The method of claim 3 , the commands comprising read and write commands.
5. The method of claim 1 , further comprising determining that the current temperature is below a target operating temperature prior to determining the target size for the buffer.
6. The method of claim 1 , further comprising uploading the die temperatures and the data sizes to a remote computing device.
7. The method of claim 6 , wherein determining the target size comprises receiving the target size from the remote computing device.
8. The method of claim 1 , wherein determining the target size comprises identifying historical data sizes recorded at historical temperatures, the historical temperatures within a preset deviation from the current temperature.
9. A non-transitory computer-readable storage medium for tangibly storing computer program instructions capable of being executed by a computer processor, the computer program instructions defining steps of:
monitoring die temperatures and data sizes of commands issued to a memory device, the die temperatures and the data sizes correlated via timestamps;
storing the die temperatures and the data sizes in a log file;
determining a target size for a buffer based on a current temperature by:
identifying similar historical temperatures present in the log file,
extracting a plurality of data sizes from the log file that are correlated with the similar historical temperatures, the plurality of data sizes corresponding to a plurality of read or write commands issued during the similar historical temperatures, and
aggregating the plurality of data sizes to determine the target size; and
adjusting a current size of the buffer to meet the target size.
10. The non-transitory computer-readable storage medium of claim 9 , wherein monitoring the die temperatures comprises reading the die temperatures from a temperature sensor, generating the timestamps for the die temperatures, and writing the die temperatures and the timestamps to the log file.
11. The non-transitory computer-readable storage medium of claim 9 , wherein monitoring the data sizes of commands issued to the memory device comprises calculating a data size of data required to execute the commands.
12. The non-transitory computer-readable storage medium of claim 11 , the commands comprising read and write commands.
13. The non-transitory computer-readable storage medium of claim 9 , the computer program instructions further defining a step of determining that the current temperature is below a target operating temperature prior to determining the target size for the buffer.
14. The non-transitory computer-readable storage medium of claim 9 , the computer program instructions further defining a step of uploading the die temperatures and the data sizes to a remote computing device.
15. The non-transitory computer-readable storage medium of claim 14 , wherein determining the target size comprises receiving the target size from the remote computing device.
16. A memory device comprising:
a storage array; and
a controller configured to:
monitor die temperatures and data sizes of commands issued to the memory device, the commands accessing the storage array, the die temperatures and the data sizes correlated via timestamps;
store the die temperatures and the data sizes in a log file;
determine a target size for a buffer based on a current temperature by:
identifying similar historical temperatures present in the log file,
extracting a plurality of data sizes from the log file that are correlated with the similar historical temperatures, the plurality of data sizes corresponding to a plurality of read or write commands issued during the similar historical temperatures, and
aggregating the plurality of data sizes to determine the target size; and
adjust a current size of the buffer to meet the target size.
17. The memory device of claim 16 , wherein monitoring the die temperatures comprises reading the die temperatures from a temperature sensor, generating the timestamps for the die temperatures, and writing the die temperatures and the timestamps to the log file.
18. The memory device of claim 16 , the controller further configured to determine that the current temperature is below a target operating temperature prior to determining the target size for the buffer.
19. The memory device of claim 16 , the controller further configured to:
upload the die temperatures and the data sizes to a remote computing device, and wherein determining the target size comprises receiving the target size from the remote computing device.