IP Library Granted Patent US 12,517,677
Granted Patent B2
US 12,517,677 · App. 18/584,081 · Granted Jan 6, 2026

Optimized XOR loading to SRAM and HMB

Inventors: Daphna Einav (Salit, IL); Lior Bublil (Petah Tikva, IL); Eran Moshe (Kfar Saba, IL)
Assignee: Sandisk Technologies, Inc.
G06F3/0656G06F3/0604G06F3/0679
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,517,677
App. No.
18/584,081
Granted
Jan 6, 2026
Kind
B2
Abstract

Selectively writing relevant bins directly to a controller's volatile memory (e.g., SRAM) based on a next-to-write address and writing the remaining bins to a host's volatile memory (e.g., DRAM or HMB), avoids the need for any additional reads from host's volatile memory and writes from controller's volatile memory. Avoiding the need for any additional reads from host's volatile memory, which has a slower access time than controller's volatile memory, improves exit latency from the boot and low-power-state exit flows. Prior to writing the parity bins to the controller or the host, the controller may store parity bins and/or the next-to-write address in non-volatile memory. The next-to-write address is then evaluated to determine whether a party bin is written to the controller's volatile memory or the host's volatile memory.

Claims (50)

1 . A data storage device, comprising:

a memory device; and

a controller coupled to the memory device, wherein the controller is configured to:

store a plurality of parity bins in non-volatile memory;

determine a next address of a first volatile memory where data should be written;

select at least one parity bin from the plurality of parity bins to write to the first volatile memory, wherein the selecting is based on whether the at least one parity bin is relevant, wherein a parity bin is relevant if the parity bin is associated with the next address of the first volatile memory where data should be written;

write at least one relevant parity bin of the plurality of parity bins to the first volatile memory; and

write non-relevant parity bins of the plurality of parity bins to a second volatile memory.

2 . The data storage device of claim 1 , wherein the non-volatile memory is NAND.

3 . The data storage device of claim 1 , wherein the first volatile memory is static random access memory (SRAM).

4 . The data storage device of claim 1 , wherein the second volatile memory is dynamic random access memory (DRAM) or a host memory buffer (HMB).

5 . The data storage device of claim 1 , wherein the controller is further configured to store the plurality of parity bins to non-volatile memory during a graceful shutdown flow.

6 . The data storage device of claim 1 , wherein writing the at least one relevant parity bin to the first volatile memory occurs during a boot exit flow.

7 . The data storage device of claim 1 , wherein writing the at least one relevant parity bin to the first volatile memory occurs during a low-power-state exit flow.

8 . The data storage device of claim 1 , wherein the controller is further configured to receive acknowledgement from the second volatile memory after writing non-relevant parity bins of the plurality of parity bins to the second volatile memory.

9 . The data storage device of claim 1 , wherein the controller does not receive acknowledgement from the first volatile memory after writing the at least relevant one parity bin to the first volatile memory.

10 . The data storage device of claim 1 , wherein the controller is further configured to:

determine an address of an open block in the first volatile memory, wherein the address of the open block in the first volatile memory is a next address in the first volatile memory where a next data will be written;

store the address of the open block in non-volatile memory;

write at least one first parity bin to the open block in the first volatile memory; and

write at least one second parity bin to the second volatile memory.

11 . The data storage device of claim 1 , wherein the controller is further configured to:

store the plurality of parity bins in non-volatile memory in response to a pre-determined event;

determine an address of an open block in the first volatile memory, wherein the address of the open block in the first volatile memory is a next address in the first volatile memory where a next data will be written;

store the address of the open block in the first volatile memory; and

select at least one parity bin from the plurality of parity bins to write to the first volatile memory during a boot exit flow or a low-power-state exit flow.

12 . The data storage device of claim 1 , wherein each parity bin of the plurality of parity bins is associated with a different address of the first volatile memory.

13 . The data storage device of claim 1 , wherein the first volatile memory has a faster access time than the second volatile memory.

14 . A data storage device, comprising:

a memory device; and

a controller coupled to the memory device, wherein the controller is configured to:

determine an address of an open block in a first volatile memory, wherein the address of the open block in the first volatile memory is a next address in the first volatile memory where a next data will be written;

store the address of the open block in non-volatile memory;

select at least one parity bin from a plurality of parity bins to write to the first volatile memory, wherein the selecting is based on whether the at least one parity bin is relevant, wherein a parity bin is relevant if the parity bin is associated with the next address;

write at least one relevant parity bin of the plurality of parity bins to the open block in the first volatile memory; and

write at least one non-relevant parity bin of the plurality of parity bins to a second volatile memory.

15 . The data storage device of claim 14 , wherein the at least one relevant parity bin is triple-level cell (TLC) parity.

16 . The data storage device of claim 14 , wherein the at least one relevant parity bin is single-level cell (SLC) parity.

17 . The data storage device of claim 14 , wherein the controller is further configured to store the plurality of parity bins in non-volatile memory prior to writing the at least one relevant and non-relevant parity bins to volatile memory.

18 . 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:

store a plurality of parity bins in non-volatile memory in response to a pre-determined event;

determine an address of an open block in a first volatile memory, wherein the address of the open block in the first volatile memory is a next address in the first volatile memory where a next data will be written;

store the address of the open block in the first volatile memory;

select at least one parity bin from the plurality of parity bins to write to a first volatile memory during a boot exit flow or a low-power-state exit flow, wherein the selecting is based on whether the at least one parity bin is relevant, wherein a parity bin is relevant if the parity bin is associated with the next address of the first volatile memory where data should be written;

write at least one relevant parity bin of the plurality of parity bins to the first volatile memory; and

write non-relevant parity bins of the plurality of parity bins to a second volatile memory.

19 . The data storage device of claim 18 , wherein the pre-determined event is a graceful shutdown of the data storage device.

20 . The data storage device of claim 18 , wherein the controller is further configured to write the at least one parity bin to the open block in the first volatile memory.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 1, 2025
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 071585/0617 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 7, 2025
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 070146/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 29, 2024
From: EINAV, DAPHNA; BUBLIL, LIOR; MOSHE, ERAN
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 066601/0525 →
Continuity (1)
Related Publication 20250272022A1 · Aug 28, 2025
References Cited (16)
US 10055236B2 · Erez et al. · 2018 [cited by applicant]
US 10613943B2 · Guo et al. · 2020 [cited by applicant]
US 10872012B2 · Subramanian et al. · 2020 [cited by applicant]
US 11138071B1 · Agarwal · 2021 [cited by examiner]
US 11188250B2 · Springberg et al. · 2021 [cited by applicant]
US 20200133563A1 · Springberg · 2020 [cited by examiner]
US 20200218605A1 · Subramanian et al. · 2020 [cited by applicant]
US 20200264805A1 · Yoshii et al. · 2020 [cited by applicant]
US 20210303394A1 · Singidi et al. · 2021 [cited by applicant]
US 20210374003A1 · Helmick et al. · 2021 [cited by applicant]
US 20230112636A1 · Doni · 2023 [cited by examiner]
US 20230195357A1 · Sharma · 2023 [cited by examiner]
US 20230214291A1 · Muthiah · 2023 [cited by examiner]
US 20230273745A1 · Kulkarni · 2023 [cited by examiner]
CN 115562569A · 2023 [cited by applicant]
International Search Report and Written Opinion dated Apr. 30, 2025 for Application No. PCT/US2025/010841. [cited by applicant]