Data storage device and method for providing external-interrupt-based customized behavior
A data storage device and method are disclosed for providing external-interrupt-based customized behavior. In one embodiment, a data storage device is provided comprising a memory and a controller configured to communicate with the memory. The controller is further configured to: receive an interrupt from a host indicating that a user is experiencing a performance problem with the data storage device; and in response to receiving the interrupt, take an action to address an issue in the data storage device that is causing the performance problem. Other embodiments are disclosed.
1 . A data storage device comprising:
a memory; and
a processor configured to communicate with the memory and further configured to:
receive an interrupt from a host indicating that a user is experiencing a performance problem with the data storage device; and
in response to receiving the interrupt, take an action to address an issue in the data storage device that is causing the performance problem;
wherein the action comprises updating a time tag with a target digital-to-analog converter (DAC) shift value for a block in the memory.
2 . The data storage device of claim 1 , wherein the issue comprises a temperature of the memory exceeding a threshold and the action further comprises performing thermal throttling to cool the memory.
3 . The data storage device of claim 2 , wherein the action further comprises performing background operations with a reduced memory unit size.
4 . The data storage device of claim 1 , wherein the action further comprises performing a garbage collection operation as a foreground operation.
5 . The data storage device of claim 1 , wherein the action is performed only in response to receiving the interrupt.
6 . The data storage device of claim 1 , wherein the action is performed during runtime.
7 . The data storage device of claim 1 , wherein the action is performed as a background operation.
8 . The data storage device of claim 1 , wherein the memory comprises a three-dimensional memory.
9 . The data storage device of claim 1 , wherein the interrupt comprises a user-initiated interrupt.
10 . A method comprising;
performing in a data storage device comprising a memory:
receiving an external interrupt in response to a user experiencing a performance problem with the data storage device; and
in response to receiving the external interrupt, addressing an issue in the data storage device that is causing the performance problem, wherein addressing the issue comprises performing a thermal throttling operation.
11 . The method of claim 10 , wherein the external interrupt is generated by an application that is propriety to the data storage device.
12 . The method of claim 11 , wherein a feature of the application that allows the external interrupt to be sent to the data storage device is a subscription-based service.
13 . The method of claim 10 , wherein the external interrupt comprises a set of commands from a host.
14 . The method of claim 13 , wherein the set of commands comprises a dummy set of vendor-specific commands that are not used for user data transfer.
15 . The method of claim 10 , wherein the external interrupt is received as activation of a predetermined set of one or more pins on a bus.
16 . The method of claim 10 , wherein addressing the issue further comprises performing a garbage collection operation.
17 . The method of claim 10 , wherein addressing the issue further comprises updating a digital-to-analog converter (DAC) shift value.
18 . The method of claim 10 , wherein the external interrupt is generic in that it does not instruct the data storage device to take a particular action.
19 . The method of claim 10 , wherein the external interrupt comprises a user-initiated interrupt.
20 . A data storage device comprising:
a memory; and
means for:
receiving a user-initiated interrupt indicating that a user is experiencing a performance problem with the data storage device;
in response to receiving the user-initiated interrupt, running an internal diagnostic to determine an issue in the data storage device that is causing the performance problem; and
automatically performing an internal operation to address the issue in the data storage device that is causing the performance problem.