IP Library Granted Patent US 11,853,571
Granted Patent B2
US 11,853,571 · App. 17/455,885 · Granted Dec 26, 2023

Storage devices hiding parity swapping behavior

Inventors: Sergey Anatolievich Gorobets (Edinburgh, GB); Daniel L. Helmick (Broomfield, CO); Peter Grayson (Grand Rapids, MI)
Assignee: Western Digital Technologies, Inc.
G06F3/064G06F3/0619G06F3/0652G06F3/0653G06F3/0659G06F3/0688G06F11/1068
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,853,571
App. No.
17/455,885
Granted
Dec 26, 2023
Kind
B2
Abstract

The present disclosure generally relates to methods of operating storage devices. The storage device comprises a controller comprising first random access memory (RAM 1 ), second random access memory (RAM 2 ), and a storage unit divided into a plurality of streams. By restricting the host to have a minimum write size, the data transfer speed to RAM 2 , RAM 1 , and the storage unit can be optimized. A temporary buffer is utilized within the RAM 1 to update parity data for the corresponding commands. The parity data is updated in the RAM 1 and written to the RAM 2 in the corresponding stream. The parity data may be copied from the RAM 2 to the RAM 1 to update the parity data in the temporary buffer when commands are received to write data to corresponding streams. As the parity data is updated, the corresponding command is simultaneously written to the corresponding stream.

Claims (53)

1. A storage device, comprising:

a non-volatile storage unit, wherein a capacity of the non-volatile storage unit is divided into a plurality of streams, and wherein the non-volatile storage unit comprises a plurality of dies, each of the plurality of dies comprising a plurality of erase blocks;

a first volatile memory unit; and

a controller coupled to the non-volatile storage unit and the first volatile memory unit, the controller comprising a second volatile memory unit, wherein the controller is configured to:

copy first parity data for a first stream from the first volatile memory unit to a first location in the second volatile memory unit; and

update the first parity data with new first parity data in the second volatile memory unit, wherein the controller is further configured to simultaneously write a command to a stream and update parity data.

2. The storage device of claim 1 , further comprising SRAM or embedded MRAM.

3. A storage device, comprising:

a non-volatile storage unit, wherein a capacity of the non-volatile storage unit is divided into a plurality of streams, and wherein the non-volatile storage unit comprises a plurality of dies, each of the plurality of dies comprising a plurality of erase blocks;

a first volatile memory unit; and

a controller coupled to the non-volatile storage unit and the first volatile memory unit, the controller comprising a second volatile memory unit, wherein the controller is configured to:

copy first parity data for a first stream from the first volatile memory unit to a first location in the second volatile memory unit; and

update the first parity data with new first parity data in the second volatile memory unit, wherein the controller is further configured to move a stream between a stream open state and a stream closed state.

4. The storage device of claim 3 , wherein the first parity data is updated with the new first parity data in the first location in the second volatile memory unit.

5. The storage device of claim 3 , wherein the first parity data is updated with the new first parity data in a temporary location in the second volatile memory unit.

6. The storage device of claim 3 , wherein the controller is further configured to restrict a host device to a minimum write size.

7. A storage device, comprising:

a non-volatile storage unit, wherein a capacity of the non-volatile storage unit is divided into a plurality of streams, and wherein the non-volatile storage unit comprises a plurality of dies, each of the plurality of dies comprising a plurality of erase blocks;

a first volatile memory unit; and

a controller coupled to the non-volatile storage unit and the first volatile memory unit, the controller comprising a second volatile memory unit, wherein the controller is configured to:

copy first parity data for a first stream from the first volatile memory unit to a first location in the second volatile memory unit; and

update the first parity data with new first parity data in the second volatile memory unit, wherein the controller is further configured to:

copy the updated first parity data from the second volatile memory unit to the first volatile memory unit; and

erase a temporary location in the second volatile memory unit after the first parity data is updated with the new first parity data.

8. A storage device, comprising:

a non-volatile storage unit, wherein a capacity of the non-volatile storage unit is divided into a plurality of streams, and wherein the non-volatile storage unit comprises a plurality of dies, each of the plurality of dies comprising a plurality of erase blocks;

a first volatile memory unit; and

a controller coupled to the non-volatile storage unit and the first volatile memory unit, the controller comprising a second volatile memory unit, wherein the controller is configured to:

copy first parity data for a first stream from the first volatile memory unit to a first location in the second volatile memory unit;

update the first parity data with new first parity data in the first location in the second volatile memory unit;

copy second parity data for a second stream from the first volatile memory unit to a second location in the second volatile memory unit; and

update the second parity data with new second parity data in a temporary location in the second volatile memory unit.

9. The storage device of claim 8 , wherein the controller is further configured to copy the first parity data from the second volatile memory unit to the first volatile memory unit after updating the first parity data with the new first parity data.

10. The storage device of claim 8 , wherein the controller is further configured to copy the second parity data from the second volatile memory unit to the first volatile memory unit after updating the second parity data with the new second parity data.

11. The storage device of claim 8 , wherein a minimum write size is selected by the storage device to match a program time of writing the data associated with one or more commands to the plurality of streams to a transfer speed for copying parity data from the first volatile memory unit to the second volatile memory unit.

12. The storage device of claim 11 , wherein the minimum write size is about 1 MiB or greater.

13. The storage device of claim 8 , wherein the controller comprises an XOR engine configured to generate the first parity data and update the second parity data.

14. The storage device of claim 8 , wherein the first volatile memory unit is a DRAM unit, and wherein the second volatile memory unit is a SRAM unit.

15. A storage device, comprising:

a non-volatile storage unit, wherein a capacity of the non-volatile storage unit is divided into a plurality of streams, and wherein the non-volatile storage unit comprises a plurality of dies, each of the plurality of dies comprising a plurality of erase blocks;

a DRAM unit; and

a controller coupled to the non-volatile storage unit and the DRAM unit, the controller comprising a SRAM unit, wherein the controller is configured to:

copy first parity data for a first stream from the DRAM unit to a first location in the SRAM unit;

combine the first parity data with new first parity data in the SRAM unit; and

copy the combined first parity data from the SRAM unit to a first location in the DRAM unit.

16. The storage device of claim 15 , wherein a minimum write size is about 1 MiB or greater.

17. The storage device of claim 15 , wherein a minimum write size is based on an amount of time it takes to generate the new first parity data.

18. The storage device of claim 15 , wherein the controller is further configured to calculate and determine a minimum write size for commands to write data received from a host device.

19. The storage device of claim 15 , wherein the controller is further configured to erase a temporary location in the SRAM unit after copying the combined first parity data from the SRAM unit to the DRAM unit.

20. The storage device of claim 15 , wherein the controller is further configured to:

receive a second command to write data in a minimum write size to the first stream;

simultaneously, update the combined first parity data for the first stream in the first location in the SRAM unit, and write the data associated with the second command to the first stream; and

copy the updated combined first parity data from the SRAM unit to the first location in the DRAM unit.

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 - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 19, 2021
From: GOROBETS, SERGEY ANATOLIEVICH; HELMICK, DANIEL L.; GRAYSON, PETER
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058170/0569 →