US 12,346,601 B2
Firmware-controlled and table-based conditioning for flexible storage controller
Priyanka Nilay Thakore, Mountain View, CA (US); Chen Xiu, Beijing (CN); Lyle E. Adams, San Jose, CA (US); and Wanqiang Zhang, Beijing (CN)
Assigned to Beijing Tenafe Electronic Technology Co., Ltd., (CN)
Filed by Beijing Tenafe Electronic Technology Co., Ltd., Beijing (CN)
Filed on Mar. 21, 2023, as Appl. No. 18/124,208.
Application 18/124,208 is a continuation of application No. 17/866,149, filed on Jul. 15, 2022, granted, now 11,640,270.
Claims priority of provisional application 63/226,009, filed on Jul. 27, 2021.
Prior Publication US 2023/0221894 A1, Jul. 13, 2023
Int. Cl. G06F 3/06 (2006.01); G06F 9/48 (2006.01)
CPC G06F 3/0659 (2013.01) [G06F 3/0604 (2013.01); G06F 3/0607 (2013.01); G06F 3/0619 (2013.01); G06F 3/0634 (2013.01); G06F 3/0655 (2013.01); G06F 3/0679 (2013.01); G06F 9/4881 (2013.01)] 16 Claims
OG exemplary drawing
 
1. A storage controller system that manages a NAND Flash memory device, comprising:
a configurable conditions table, wherein:
in the event the NAND Flash memory device is associated with a first manufacturer, the configurable conditions table is configured using a first set of values corresponding to the first manufacturer; and
in the event the NAND Flash memory device is associated with a second manufacturer, the configurable conditions table is configured using a second set of values corresponding to the second manufacturer;
state information;
a processor that is configured to:
receive a set of firmware instructions that includes a suspend command, an intervening command, and a resume command, wherein:
the suspend command and the resume command are associated with suspending and resuming a same command, respectively;
access the configurable conditions table, wherein the configurable conditions table includes suspend-related condition information;
access the state information, wherein the state information indicates whether said same command has completed; and
determine whether to perform or skip the suspend command based at least in part on the suspend-related condition information and the state information; and
an interface that is configured to:
in response to determining to perform the suspend command, output the suspend command and the intervening command; and
in response to determining to skip the suspend command, output the intervening command.