IP Library Granted Patent US 12,405,739
Granted Patent B1
US 12,405,739 · App. 18/591,661 · Granted Sep 2, 2025

Multi-protocol data storage device and method for sustained write performance

Inventors: Amit Sharma (Bangalore, IN); Abhinandan Venugopal (Mysore, IN)
Assignee: Sandisk Technologies, Inc.
G06F3/064G06F3/0607G06F3/0679G06F12/0246
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,405,739
App. No.
18/591,661
Granted
Sep 2, 2025
Kind
B1
Abstract

A multi-protocol data storage device can be configured to be backwards compatible with multiple protocol versions. Each protocol version can have a different power requirement, which can result in the inability to power all of the memory dies. In some situations, it is desired to perform program operations on different meta blocks of memory. To help ensure that the program operations are performed on the same memory die when not all of the memory dies are powered, one of the program operations can be performed in a first meta block, and the other program operation can be performed in a selected smaller meta block that shares a powered memory die in common with the first meta block.

Claims (36)

1. A data storage device comprising:

a memory comprising a plurality of memory dies, wherein a first meta block comprises blocks from each of the plurality of memory dies, and wherein each additional meta block of a plurality of additional meta blocks comprises blocks from different subsets of the plurality of memory dies; and

one or more processors, individually or in combination, configured to:

determine which of the plurality of memory dies are being programmed in the first meta block; and

select an additional meta block from the plurality of additional meta blocks for a program operation, wherein the selected additional meta block comprises a block from a memory die that is being programmed in the first meta block.

2. The data storage device of claim 1 , wherein the determining and selecting are performed in response to determining that not all of the plurality of memory dies are powered.

3. The data storage device of claim 2 , wherein the data storage device comprises a multi-protocol data storage device, and wherein not all of the plurality of memory dies are powered due to the multi-protocol data storage device being operated in a backwards compatible mode.

4. The data storage device of claim 1 , wherein the first meta block comprises multi-level cell (MLC) blocks and the additional meta blocks comprise single-level cell (SLC) blocks.

5. The data storage device of claim 1 , wherein the one or more processors, individually or in combination, are further configured to:

program host data in the first meta block; and

program control data in the selected additional meta block.

6. The data storage device of claim 5 , wherein the host data and the control data are programmed using a suspend/resume feature.

7. The data storage device of claim 1 , wherein the one or more processors, individually or in combination, are further configured to determine which of the plurality of memory dies are being programmed in the first meta block based on scheduling information.

8. The data storage device of claim 1 , wherein the one or more processors, individually or in combination, are further configured to determine which of the plurality of memory dies are being programmed in the first meta block based on a guess.

9. The data storage device of claim 1 , wherein the one or more processors, individually or in combination, are further configured to create the first meta block and the plurality of additional meta blocks.

10. The data storage device of claim 1 , wherein the memory comprises a three-dimensional memory.

11. In a data storage device comprising a memory comprising a plurality of memory dies, a method comprising:

creating a first meta block comprises multi-level cell (MLC) blocks from each of the plurality of memory dies;

creating a plurality of additional meta blocks, wherein each additional meta block comprises single-level cell (SLC) blocks from different subsets of the plurality of memory dies;

determining whether all of the plurality of memory dies are powered; and

in response to determining that not all of the plurality of memory dies are powered, choosing an additional meta block from the plurality of additional meta blocks for a program operation, wherein the chosen additional meta block comprises a block from a memory die that is being programmed in the first meta block.

12. The method of claim 11 , further comprising:

in response to determining that all of the plurality of memory dies are powered:

choosing any of the plurality of additional meta blocks for the program operation.

13. The method of claim 11 , wherein the data storage device comprises a multi-protocol data storage device, and wherein not all of the plurality of memory dies are powered due to the multi-protocol data storage device being operated in a backwards compatible mode.

14. The method of claim 11 , further comprising:

programing host data in the first meta block; and

programing control data in the chosen additional meta block.

15. The method of claim 14 , wherein the host data and the control data are programmed using a suspend/resume feature.

16. The method of claim 14 , wherein the control data comprises a group allocation table.

17. The method of claim 14 , wherein the control data comprises XOR data.

18. The method of claim 11 , further comprising using scheduling information to determine which of the plurality of memory dies are being programmed in the first meta block.

19. The method of claim 11 , further comprising using a guess to determine which of the plurality of memory dies are being programmed in the first meta block.

20. A data storage device comprising:

a memory comprising a plurality of memory dies, wherein a first meta block comprises blocks from each of the plurality of memory dies, and wherein each additional meta block of a plurality of additional meta blocks comprises blocks from different subsets of the plurality of memory dies; and

means for selecting an additional meta block from the plurality of additional meta blocks for a program operation, wherein the selected additional meta block comprises a block from a memory die that is powered and is currently or expected to be programmed in the first meta block.

Assignments (7)
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 (AR) Recorded May 15, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 067417/0329 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 1, 2024
From: SHARMA, AMIT; VENUGOPAL, ABHINANDAN
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 066615/0246 →
References Cited (7)
US 20130290600A1 · Tzafrir · 2013 [cited by examiner]
US 20170017588A1 · Frid · 2017 [cited by examiner]
US 20170139591A1 · Tomlin · 2017 [cited by examiner]
US 20170139823A1 · Tomlin · 2017 [cited by examiner]
US 20170139837A1 · Tomlin · 2017 [cited by examiner]
US 20170139838A1 · Tomlin · 2017 [cited by examiner]
US 20230400899A1 · Gunda · 2023 [cited by examiner]