US 12,105,987 B2
Storage controller and electronic system
Junyong Uhm, Seoul (KR); Eunjoo Oh, Suwon-si (KR); Junggyu Kim, Hwaseong-si (KR); Jaesub Kim, Seoul (KR); Yangwoo Roh, Hwaseong-si (KR); Jeongbeom Seo, Seoul (KR); and Jaewon Song, Hwaseong-si (KR)
Assigned to SAMSUNG ELECTRONICS CO., LTD., Suwon-si (KR)
Filed by SAMSUNG ELECTRONICS CO., LTD., Suwon-si (KR)
Filed on Jul. 21, 2022, as Appl. No. 17/870,096.
Claims priority of application No. 10-2021-0157565 (KR), filed on Nov. 16, 2021.
Prior Publication US 2023/0153020 A1, May 18, 2023
Int. Cl. G06F 3/06 (2006.01)
CPC G06F 3/0655 (2013.01) [G06F 3/0619 (2013.01); G06F 3/0679 (2013.01)] 19 Claims
OG exemplary drawing
 
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).