IP Library Granted Patent US 11,288,201
Granted Patent B2
US 11,288,201 · App. 16/287,336 · Granted Mar 29, 2022

Techniques for performing a non-blocking control sync operation

Inventors: Karin Inbar (Ramat Hasharon, IL); Einat Lev (Rehovot, IL); Roi Kirshenbaum (Hod Hasharon, IL); Ofer Sharon (Tel-Aviv, IL); Uri Peltz (Hod Hasharon, IL); Sergey Anatolievich Gorobets (Edinburgh, GB); Alan David Bennett (Edinburgh, GB); Thomas Hugh Shippey (Edinburgh, GB)
Assignee: WESTERN DIGITAL TECHNOLOGIES, INC.
G06F12/10G06F3/064G06F3/0613G06F3/0679G06F12/0246G06F2212/1016G06F2212/65G06F2212/7201G06F2212/7207G06F2212/7208
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,288,201
App. No.
16/287,336
Granted
Mar 29, 2022
Kind
B2
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 (40)

1. A method of operation of a non-blocking control sync operation in a data storage device, comprising:

detecting, by a controller, a trigger event for the non-blocking control sync operation for user data, wherein the trigger event is determined by reaching a threshold time duration, wherein the threshold time duration comprises a time since previously updating and storing control information;

detecting a trigger event for the non-blocking control sync operation;

when the trigger event is detected, creating the log file that includes control information updates which correspond to processed memory commands, wherein creating the log file comprises generating a mapping table of the updated control information;

providing, by the controller, barrier commands to a plurality of command queues of the data storage device;

generating, by a control circuit, an indication as a response to detecting the trigger event;

providing, by a flash translation layer (FTL), the indication to a plurality of processors;

generating, by the plurality of processors, a barrier command, wherein the barrier command propagates through all of the plurality of command queues until reaching the one or more memory dies;

propagating the barrier commands through all of the plurality of command queues;

accumulating, by the controller, response messages for completion of the barrier commands from all of the plurality of command queues of the data storage device;

sending, by the controller, a log file including a mapping table data to one or more memory dies maintaining a coherence of data and control information; and

writing the user data and the log file to the one or more memory dies continuously during the non-blocking control sync operation.

2. The method of claim 1 , further comprising:

transmitting a set of memory commands to all of the plurality of command queues after providing the barrier command, wherein the set of memory commands are written to the one or more memory dies continuously including during the non-blocking control sync operation.

3. The method of claim 1 , further comprising:

setting a threshold according to a number of all of the plurality of command queues;

receiving, by the controller, one or more completion messages;

adjusting a value indicated by a counter in response to receiving each of one or more completion messages;

comparing the value to the threshold to determine a number satisfies the threshold;

when a number of the one or more completion messages satisfies the threshold, sending the log file to the one or more memory dies; and

writing the log file to the one or more memory dies.

4. The method of claim 1 , further comprising:

providing a plurality of processors, wherein each processor of the plurality of processors provides the barrier command propagated through all of the plurality of command queues, wherein the barrier command has corresponding barrier identification and threshold numbers.

5. The method of claim 1 , further comprising:

collecting messages from all of the plurality of command queues for adjusting a plurality of counter values.

6. The method of claim 1 , further comprising:

providing multiple number of die managers, wherein each die manager is configured to receive messages from a die and increment a counter.

7. A method of operation of a data storage device, comprising:

sending, by a controller, first data to a non-volatile memory of the data storage device;

storing the first data at the non-volatile memory of the data storage device;

detecting, by a controller, a trigger event, wherein the trigger event corresponds with a threshold time duration, wherein the threshold time duration comprises a time since previously updating and storing control information;

providing, by a flash translation layer (FTL), an indication to a plurality of processors, wherein the plurality of processors generates a barrier command, and wherein the controller sends the barrier command to the non-volatile memory to be executed;

generating, by the controller, an updated control information based on the storing of the first data to the non-volatile memory, wherein the generated updated control information includes a mapping table;

in response to the sending of the first data to the non-volatile memory, generating, by the controller, an updated mapping table;

after generating the updated mapping table and executing the barrier command, concurrently sending, by the controller, the updated mapping table and second data to the non-volatile memory; and

storing, by the controller, the updated mapping table and the second data in a non-blocking operation.

8. The method of claim 7 , wherein the second data is sent to the non-volatile memory to initiate a write operation.

9. The method of claim 7 , wherein the updated mapping table is sent to the non-volatile memory to initiate a non-blocking control sync (CS) operation.

10. The method of claim 7 , 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.

Assignments (11)
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
PARTIAL RELEASE OF SECURITY INTERESTS Recorded Apr 25, 2025
From: JPMORGAN CHASE BANK, N.A., AS AGENT
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 071382/0001 →
PATENT COLLATERAL AGREEMENT Recorded Aug 23, 2024
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 068762/0494 →
CHANGE OF NAME Recorded Jun 27, 2024
From: SANDISK TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067982/0032 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067567/0682 →
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
RELEASE OF SECURITY INTEREST AT REEL 052915 FRAME 0566 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 059127/0001 →
SECURITY INTEREST Recorded Feb 6, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052915/0566 →
CORRECTIVE ASSIGNMENT TO CORRECT THE SIXTH ASSIGNOR'S NAME PREVIOUSLY RECORDED AT REEL: 048457 FRAME: 0464. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jul 23, 2019
From: INBAR, KARIN; LEV, EINAT; KIRSHENBAUM, ROI; SHARON, OFER; PELTZ, URI; GOROBETS, SERGEY ANATOLIEVICH; BENNETT, ALAN DAVID; SHIPPEY, THOMAS HUGH
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 049841/0436 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 27, 2019
From: INBAR, KARIN; LEV, EINAT; KIRSHENBAUM, ROI; SHARON, OFER; PELTZ, URI; GOROBETS, SERGY ANATOLIEVICH; BENNETT, ALAN DAVID; SHIPPEY, THOMAS HUGH
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 048457/0464 →
Continuity (2)
Continuation 15440505 · Feb 23, 2017
Related Publication 20190196975A1 · Jun 27, 2019
Cited By (1)
US 12,443,370