US12602180B2ActiveUtilityA1

Storage device for reducing multi stream write imbalance and operation method thereof

Priority: Nov 28, 2023Filed: May 15, 2024Granted: Apr 14, 2026
Est. expiryNov 28, 2043(~17.3 yrs left)· nominal 20-yr term from priority
G06F 3/0679G06F 3/0604G06F 3/0631
42
PatentIndex Score
0
Cited by
11
References
20
Claims

Abstract

Disclosed is a method of operating a storage device including a plurality of chips, the method including: receiving a write request of stream data; checking a program status or a stream queue of each of the plurality of chips; based on a determination that there is at least one chip in a ready state with an empty stream queue among the plurality of chips, allocating the stream data to the at least one chip in the ready state; and based on a determination that there is no chip in the ready state with the empty stream queue among the plurality of chips, allocating the stream data to at least one chip based on a number of streams in a stream queue among the plurality of chips.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A method of operating a storage device comprising a plurality of chips, the method comprising:
 receiving a write request of stream data;   checking a program status or a stream queue of each of the plurality of chips;   based on a determination that there is at least one chip in a ready state with an empty stream queue among the plurality of chips, allocating the stream data to the at least one chip in the ready state; and   based on a determination that there is no chip in the ready state among the plurality of chips, allocating the stream data to at least one chip based on a number of streams in a stream queue among the plurality of chips.   
     
     
         2 . The method of  claim 1 , further comprising:
 generating a random sequence of the plurality of chips based on a determination that there is no chip in the ready state and there is no chip with the smallest number of streams in the stream queue among the plurality of chips; and   allocating the stream data to the plurality of chips according to the random sequence.   
     
     
         3 . The method of  claim 1 , wherein the at least one chip comprises two or more chips, and
 wherein the stream data has a same data property or a same data attribute.   
     
     
         4 . The method of  claim 1 , wherein the program status of each of the plurality of chips comprises a word line offset corresponding to a programmed word line number of each of the plurality of chips. 
     
     
         5 . The method of  claim 4 , further comprising:
 selecting candidate chips for allocating the stream data among the plurality of chips according to the word line offset.   
     
     
         6 . The method of  claim 5 , wherein the candidate chips have a less number of programmed word lines among the plurality of chips. 
     
     
         7 . The method of  claim 6 , further comprising:
 programming the stream data by randomly selecting at least one of the candidate chips that are selected for the allocating the stream data.   
     
     
         8 . The method of  claim 1 , wherein the program status comprises a workload or a number of free blocks of each of the plurality of chips. 
     
     
         9 . A storage device comprising:
 a non-volatile memory device comprising a plurality of chips; and   a storage controller configured to allocate a write-requested stream to at least one of the plurality of chips by referring to a program status and a stream queue state of each of the plurality of chips,   wherein, based on a determination that at least one chip in a ready state with an empty stream queue exists among the plurality of chips, the storage controller is configured to allocate the write-requested stream to the at least one chip in the ready state, and   wherein, based on a determination that there is no chip in the ready state with the empty stream queue among the plurality of chips, the storage controller is configured to allocate the write-requested stream to at least one chip based on a number of streams in a stream queue among the plurality of chips.   
     
     
         10 . The storage device of  claim 9 , wherein the storage controller is configured to randomly select at least one of the plurality of chips and allocate the write-requested stream based on a determination that there is no chip in the ready state and there is no chip with the smallest number of streams in the stream queue. 
     
     
         11 . The storage device of  claim 9 , wherein the at least one chip comprises two or more chips, and
 wherein the write-requested stream has a same data property or a same data attribute.   
     
     
         12 . The storage device of  claim 9 , wherein the storage controller is configured to select at least one chip for allocating the write-requested stream from among the plurality of chips by referring to a word line offset corresponding to a word line number in which programming has been completed for each of the plurality of chips. 
     
     
         13 . The storage device of  claim 12 , wherein the storage controller is configured to randomly select and allocate the write-requested stream to at least one of candidate chips having a less number of programmed word lines among the plurality of chips. 
     
     
         14 . The storage device of  claim 9 , wherein the at least one chip comprises two or more chips, and
 wherein the write-requested stream has a same stream identifier allocated by a host device which transmits the write-requested stream to the storage controller.   
     
     
         15 . The storage device of  claim 14 , wherein the program status comprises a workload or a number of free blocks of each of the plurality of chips. 
     
     
         16 . A method of operating a storage device comprising a plurality of NAND chips:
 receiving a write request for stream data;   checking a word line offset indicating a programmed word line of each of the plurality of NAND chips;   selecting candidate chips to write the stream data according to the word line offset; and   programming the stream data into the candidate chips,   wherein in the selecting the candidate chips, at least one chip having an unprogrammed first word line and at least one chip having an unprogrammed second word line to be programmed after the first word line are selected as the candidate chips among the plurality of NAND chips.   
     
     
         17 . The method of  claim 16 , wherein the stream data is divided into the candidate chips and programmed. 
     
     
         18 . The method of  claim 16 , wherein the stream data is programmed into any one of the candidate chips. 
     
     
         19 . The method of  claim 18 , wherein the any one of the candidate chips is selected according to a random sequence. 
     
     
         20 . The method of  claim 19 , wherein the random sequence is generated from a pseudo-random binary sequence (PRBS) algorithm or a linear feedback shift register (LFSR).

Join the waitlist — get patent alerts

Track US12602180B2 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.