| CPC G06F 3/064 (2013.01) [G06F 3/0619 (2013.01); G06F 3/0679 (2013.01)] | 20 Claims |

|
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.
|