CPC G06F 3/0655 (2013.01) [G06F 3/0619 (2013.01); G06F 3/0679 (2013.01)] | 19 Claims |
1. An electronic system comprising:
a host; and
a storage device configured to exchange data with the host using an interface protocol,
wherein the host is configured to use the interface protocol to provide, to the storage device, a fault insertion command comprising a fault type to be detected by the storage device, a target location at which the fault type is to be detected by the storage device, and a fault condition, the fault condition comprising a plurality of conditions indicating a memory location, a comparison operator, and a value of the memory location,
wherein the storage device is further configured to dynamically add a fault detection operation in response to the fault insertion command from the host, perform the fault detection operation using the fault type included in the fault insertion command, the fault detection operation comprising at least one of an assert code execution operation, a memory polling operation, an interrupt polling operation, and a latency detection operation, on the target location of the storage device in response to receiving the fault insertion command from the host and executing the fault insertion command, and store a snapshot of a current state of the storage device as observed when the fault condition is detected as a result of performing the fault detection operation,
wherein the host is further configured to obtain, from the storage device, the stored snapshot using the interface protocol, and debug the storage device using the obtained snapshot, and wherein the interface protocol comprises a nonvolatile memory express (NVMe).
|