Selective panic mitigation
Not all panic situations in a data storage device necessitate a host device initiated reset. When it is possible for the data storage device to handle a panic event and simply inform the host device that the panic event was avoided, efficiencies are achieved. For multi-tenant situations, the data storage device can track the types of traces and determine whether a host device initiated reset is necessary or whether the data storage device can handle the reset internally. The data storage device can delay a host device initiated reset needed by one tenant until other tenants are ready for the host device initiated reset.
1 . A data storage device, comprising:
a memory device; and
a controller coupled to the memory device, wherein the controller is configured to:
operate as a multitenant device coupled to one or more physical functions (PFs), one or more virtual functions (VFs), or a combination of PFs and VFs;
track traces for each function of the one or more PFs, the one or more VFs, or the combination of PFs and VFs;
determine whether the traces are for a read workload; and
store an indication of whether the workload is a read workload, wherein the controller is configured to determine that a reset should occur and handle the reset internally for functions having read workloads.
2 . The data storage device of claim 1 , wherein the one or more PFs, the one or more VFs, or the combination of PFs and VFs comprises a first PF and a second PF, wherein the first PF comprises a first VF and a second VF.
3 . The data storage device of claim 1 , wherein the controller is configured to collect reset feedbacks and internal reset preparations, wherein the controller is configured to determine whether all resets are ready, and wherein the controller is configured to initiate reset for all relevant VFs and PFs.
4 . The data storage device of claim 3 , wherein the initiated reset is both internal and external.
5 . The data storage device of claim 1 , wherein the controller is configured to track types of traces.
6 . The data storage device of claim 5 , wherein the controller is configured to store an indication of whether a workload is a read workload for each of the one or more PFs, the one or more VFs, or the combination of PFs and VFs.
7 . The data storage device of claim 1 , wherein the controller comprises a failure detector.
8 . The data storage device of claim 1 , wherein the controller comprises a host interface module (HIM) that includes a panic reset module, a transparent reset and logs module, and a reset synchronization module.
9 . A data storage device, comprising:
a memory device; and
a controller coupled to the memory device, wherein the controller is configured to:
operate as a multitenant device coupled to one or more physical functions (PFs), one or more virtual functions (VFs), or a combination of PFs and VFs;
track traces for each function of the one or more PFs, the one or more VFs, or the combination of PFs and VFs;
determine whether the traces are for a read workload; and
store an indication of whether the workload is a read workload, wherein the controller is configured to determine that a reset should occur and turn to a host device to initiate the reset for functions having other than read workloads.
10 . The data storage device of claim 9 , wherein the tracking is performed continuously.
11 . A data storage device, comprising:
a memory device; and
a controller coupled to the memory device, wherein the controller is configured to:
operate as a multitenant device coupled to one or more physical functions (PFs), one or more virtual functions (VFs), or a combination of PFs and VFs;
track traces for each function of the one or more PFs, the one or more VFs, or the combination of PFs and VFs;
determine whether the traces are for a read workload; and
store an indication of whether the workload is a read workload, wherein the tracking is performed by determining a current workload for each PF of the one or more PFs, each VF of the one or more VFs, or each VF and PF of the combination of PFs and VFs once reset is indicated.
12 . The data storage device of claim 11 , wherein at least one PF comprises a plurality of VFs.
13 . The data storage device of claim 11 , wherein the storing comprises storing values in a bitmap indicating whether the workload is a read workload or an other than read workload.