IP Library Granted Patent US 12,436,877
Granted Patent B2
US 12,436,877 · App. 18/488,426 · Granted Oct 7, 2025

Write protect HW acceleration

Inventors: Amir Segev (Meiter, IL); Shay Benisty (Beer Sheva, IL)
Assignee: Sandisk Technologies, Inc.
G06F12/023G06F13/1668
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 12,436,877
App. No.
18/488,426
Granted
Oct 7, 2025
Kind
B2
Abstract

Instead of the firmware (FW) monitoring for both an overlap read command and a write protected (WP) overlapped write command, the FW can monitor the overlap table only. The controller will receive a read command or an overlap read command. If the command is not an overlap read command, then the controller will process the command normally. If the command is an overlap read command, then the controller will look for the write command that is being overlapped. When passing the write overlap of write protect (WP) into the data path instead of the exception queue, the FW is limited to monitoring the overlap table. As such, when the WP command is completed the entry is removed by the data path. As a result, the FW can limit monitoring to when the data path clears the overlap table.

Claims (45)

1. A data storage device, comprising:

a memory device; and

a controller coupled to the memory device, wherein the controller comprises a data path and a control path, wherein a write queue is disposed in the data path, and the controller is configured to:

retrieve a read command;

look for a write command that is overlapped with the read command;

determine whether the write command has a write protect attribute;

execute the write command having the write protect attribute, wherein executing the write command having the write protect attribute comprises passing the write command having the write protect attribute to the data path;

after executing the write command having the write protect attribute:

return an error message; and

execute the read command; and

remove the write command having the write protect attribute from the write queue and an overlap table.

2. The data storage device of claim 1 , wherein the control path includes an overlap table, a classification module, an error queue, and a processor.

3. The data storage device of claim 2 , wherein the data path includes a direct memory access (DMA) module, the write queue, and a flash interface module (FIM).

4. The data storage device of claim 3 , wherein the write queue includes a write protect attribute.

5. The data storage device of claim 3 , wherein the classification module is coupled to the write queue.

6. The data storage device of claim 1 , wherein the read command is blocked from execution until completion of the write command.

7. The data storage device of claim 1 , wherein the controller comprises:

a drain module;

an arbiter module coupled to the drain;

a fetching module coupled to the arbiter module; and

a direct memory access (DMA) module coupled to the arbiter module.

8. A data storage device, comprising:

a memory device; and

a controller coupled to the memory device, wherein the controller includes:

a control path having an overlap table, a classification module, an error queue, and a processor; and

a data path having a direct memory access (DMA) module, a write queue having a write protect attribute, and a flash interface module (FIM), wherein the data path is configured to:

execute at least one write command of a plurality of write commands, wherein the at least one write command has a write protect attribute, wherein after executing the at least one write command the data path is further configured to:

return an error message;

send an error completion associated with the at least one write command to a host device;

remove the at least one write command from the overlap table; and

execute a read command, wherein the at least one write command overlaps with the read command and an execution of the read command was paused until the execution of the at least one write command.

9. The data storage device of claim 8 , wherein the controller further comprises a drain module configured to consume a completion notification for write commands having write protect attributes listed in the overlap table, wherein consuming the completion notification comprises passing a write command having a write protect attribute to the data path instead of an exception queue.

10. The data storage device of claim 9 , wherein the completion notification includes the write protect attribute.

11. The data storage device of claim 8 , wherein the controller is configured to pause a read command that overlaps with a write command listed in the overlap table.

12. The data storage device of claim 8 , wherein the classification module is configured to send all write commands to the write queue.

13. A data storage device, comprising:

means to store data; and

a controller coupled to the means to store data, wherein the controller is configured to:

execute a write command with a write protect attribute; and

after executing the write command:

report the write command as completed with an error;

remove the write command from an overlap table; and

unblock execution of a read command, wherein the write command overlaps with the read command and an execution of the read command was blocked until the execution of the write command.

14. The data storage device of claim 13 , wherein the controller has a data path and a control path, wherein the removing occurs in the data path, and wherein the overlap table is disposed in the control path.

15. The data storage device of claim 14 , wherein the reporting is to a drain module and wherein the drain module consumes the reported completion, wherein consuming the reported completion comprises passing a write command having a write protect attribute to the data path instead of an exception queue.

Assignments (8)
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 →
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/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 Recorded Nov 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 065657/0158 →
PATENT COLLATERAL AGREEMENT- A&R Recorded Nov 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 065656/0649 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2023
From: SEGEV, AMIR; BENISTY, SHAY
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 065521/0338 →
Continuity (1)
Related Publication 20250123957A1 · Apr 17, 2025
References Cited (6)
US 8688899B2 · Nellans · 2014 [cited by examiner]
US 10761725B2 · Palmer · 2020 [cited by applicant]
US 10936496B2 · Simionescu · 2021 [cited by examiner]
US 11455402B2 · Trantham · 2022 [cited by examiner]
US 20220283713A1 · Li et al. · 2022 [cited by applicant]
WO 2016050140A1 · 2016 [cited by applicant]