US2018239532A1PendingUtilityA1

Techniques for performing a non-blocking control sync operation

49
Assignee: WESTERN DIGITAL TECH INCPriority: Feb 23, 2017Filed: Feb 23, 2017Published: Aug 23, 2018
Est. expiryFeb 23, 2037(~10.6 yrs left)· nominal 20-yr term from priority
G06F 3/064G06F 3/0613G06F 2212/7201G06F 2212/65G06F 3/0679G06F 2212/1016G06F 12/1009G06F 12/16G06F 2212/7207G06F 12/0246G06F 2212/7208G06F 12/10G06F 12/0623G06F 3/0647G06F 3/061G06F 3/0688
49
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

An apparatus includes a non-volatile memory and a controller coupled to the non-volatile memory. The controller includes an interface configured to send first data to be stored to the non-volatile memory. The controller further includes a control circuit configured to generate updated control information based on storing of the first data to the non-volatile memory. The interface is further configured to concurrently send second data and the updated control information to be stored at the non-volatile memory. The non-volatile memory is configured to store the second data and the updated control information in a non-blocking manner.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . An apparatus comprising:
 a non-volatile memory; and   a controller coupled to the non-volatile memory, the controller including:
 an interface configured to send first data to be stored to the non-volatile memory; and 
 a control circuit configured to generate updated control information based on storing of the first data to the non-volatile memory, 
 wherein the interface is further configured to concurrently send second data and the updated control information to be stored at the non-volatile memory, and wherein the non-volatile memory is configured to store the second data and the updated control information in a non-blocking manner. 
   
     
     
         2 . The apparatus of  claim 1 , wherein the updated control information includes an indication that the first data corresponds to safe data. 
     
     
         3 . The apparatus of  claim 1 , further comprising a data queue configured to store the second data to be written to the non-volatile memory, and wherein the control circuit is configured to access the second data in the data queue and to generate an indication that the second data corresponds to safe data. 
     
     
         4 . The apparatus of  claim 1 , wherein the interface is further configured to send third data to the non-volatile memory after sending the second data and the updated control information, wherein the updated control information includes an indication that the third data corresponds to vulnerable data. 
     
     
         5 . The apparatus of  claim 1 , wherein the non-volatile memory includes at least a first memory die and a second memory die. 
     
     
         6 . The apparatus of  claim 5 , wherein the interface is further configured to concurrently send the second data to one of the first memory die and the second memory die and the updated control information to the other of the first memory die and the second memory die. 
     
     
         7 . The apparatus of  claim 1 , wherein the controller further includes a power-up detector configured to detect a power-up event. 
     
     
         8 . The apparatus of  claim 7 , wherein the controller is further configured to perform a scan operation in response to the power-up event to identify the second data using the updated control information. 
     
     
         9 . An apparatus comprising:
 means for storing data;   means for generating an updated mapping table in response to sending first data to be stored at the means for storing data; and   means for concurrently sending the updated mapping table and second data to the means for storing data.   
     
     
         10 . The apparatus of  claim 9 , wherein the updated mapping table includes an indication that the first data corresponds to safe data. 
     
     
         11 . A method of operation of a data storage device, the method comprising:
 sending first data to be stored at a non-volatile memory of a data storage device;   in response to sending the first data to be stored at the non-volatile memory, generating an updated mapping table;   after generating the updated mapping table, concurrently sending the updated mapping table and second data to be stored at the non-volatile memory; and   storing the generated updated mapping table and the second data in a non-blocking operation.   
     
     
         12 . The method of  claim 11 , wherein the second data is sent to the non-volatile memory to initiate a write operation, 
     
     
         13 . The method of  claim 11 , wherein the updated mapping table is sent to the non-volatile memory to initiate a non-blocking control sync (CS) operation. 
     
     
         14 . The method of  claim 11 , further comprising receiving a completion acknowledgment in response to sending the first data, wherein the updated mapping table is generated in response to the completion acknowledgement. 
     
     
         15 . A method of operation of a data storage device, the method comprising:
 providing a first set of memory commands and a barrier command to a command queue of a data storage device;   in response to execution of the first set of memory commands, receiving one or more messages from one or more memory dies of the data storage device; and   in response to a number of the one or more messages satisfying a threshold, sending mapping table data to be stored at the one or more memory dies, wherein execution of the barrier command triggers sending the mapping table data to be stored at the one or more memory dies after execution of the first set of memory commands.   
     
     
         16 . The method of  claim 15 , further comprising providing a second set of memory commands to the command queue after providing the first set of memory commands and the barrier command to the command queue. 
     
     
         17 . The method of  claim 15 , further comprising:
 adjusting a value indicated by a counter in response to receiving each of the one or more messages; and   comparing the value to the threshold to determine the number satisfies the threshold.   
     
     
         18 . The method of  claim 15 , wherein mapping table data is sent to the one or more memory dies in connection with a non-blocking control sync (CS) operation. 
     
     
         19 . An apparatus comprising:
 means for storing a first set of memory commands and a barrier command;   means for receiving one or more messages from the one or more memory dies in response to execution of the first set of memory commands and the barrier command; and   means for detecting that a number of the one or more messages satisfies a threshold and for initiating sending of the mapping table data to be stored at the one or more memory dies in response to detecting that the number of the one or more messages satisfies the threshold.   
     
     
         20 . The apparatus of  claim 19 , further comprising means for storing an indication of the number of the one or more messages.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.