US 12,254,201 B2
Method for using NAND flash memory SRAM in solid state drive controller
Jea Woong Hyun, Los Altos, CA (US); Chun Liu, San Jose, CA (US); Chaohong Hu, San Jose, CA (US); and Xin Liao, San Jose, CA (US)
Assigned to Huawei Technologies Co., Ltd., Shenzhen (CN)
Filed by Huawei Technologies Co., Ltd., Shenzhen (CN)
Filed on Nov. 28, 2022, as Appl. No. 17/994,884.
Application 17/994,884 is a continuation of application No. PCT/US2020/034644, filed on May 27, 2020.
Prior Publication US 2023/0152999 A1, May 18, 2023
Int. Cl. G06F 3/06 (2006.01)
CPC G06F 3/064 (2013.01) [G06F 3/0619 (2013.01); G06F 3/0679 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A write operation method implemented by a solid state drive (SSD) controller of a SSD having a plurality of Not-AND (NAND) flash devices with on-die Static Random Access Memory (SRAM) and NAND flash memory, the method comprising:
receiving a block of data from a stream comprising a plurality of blocks of data;
determining whether a stripe has been created for the stream;
creating the stripe for the stream based on the determination that the stripe has not been created for the stream, the stripe created by:
assigning a first subset of the plurality of NAND flash devices to the stripe; and
setting a limit for how many of the plurality of blocks of data can be stored for the stripe in the on-die SRAM of each of the plurality of NAND flash devices in the first subset;
storing the block of data for the stripe in the on-die SRAM of one of the NAND flash devices in the first subset;
determining whether the storing of the block of data in the on-die SRAM of the one of the NAND flash devices caused the limit to be reached; and
instructing the one of the NAND flash devices to program each block of data stored for the stripe in the on-die SRAM of the one of the NAND flash devices into the NAND flash memory of the one of the NAND flash devices [when] based on the determination that the storing of the block of data in the on-die SRAM of the one of the NAND flash devices caused the limit to be reached.