IP Library Granted Patent US 11,914,468
Granted Patent B1
US 11,914,468 · App. 17/887,687 · Granted Feb 27, 2024

NVMe boot partition error correction code enhancement

Inventors: Alexander Bazarsky (Holon, IL); Judah Gamliel Hahn (Ofra, IL); Shay Benisty (Beer Sheva, IL); Ariel Navon (Revava, IL)
Assignee: Western Digital Technologies, Inc.
G06F11/1048G06F9/441
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,914,468
App. No.
17/887,687
Granted
Feb 27, 2024
Kind
B1
Abstract

A data storage device includes a memory device and a controller coupled to the memory device. The controller is configured to compare a first copy of a boot partition to a second copy of the boot partition. The first copy of the boot partition and the second copy of the boot partition each comprises a same number of a plurality of boot chunks. The boot partition corresponds to data of a boot operation of a host device. The controller is further configured to mark one or more of the compared boot chunks that equals or exceeds a similarity threshold and update a reliability index based on the marking. Based on the marking and the reliability index, the controller may increase or decrease an amount of error correction needed for the boot data.

Claims (43)

1. A data storage device, comprising:

a memory device; and

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

compare a first copy of a boot partition to a second copy of the boot partition, wherein:

the first copy of the boot partition and the second copy of the boot partition each comprises a plurality of boot chunks;

the plurality of boot chunks of the first copy of the boot partition and the plurality of boot chunks of the second copy of the boot partition are equal in number;

the first copy of the boot partition and the second copy of the boot partition are stored in the memory device; and

the boot partition corresponds to data of a boot operation of a host device;

mark one or more boot chunks of the plurality of boot chunks of the first copy of the boot partition and one or more boot chunks of the plurality of boot chunks of the second copy of the boot partition that equals or exceeds a similarity threshold based on the comparing; and

update a reliability index based on the marking.

2. The data storage device of claim 1 , wherein a boot chunk of the plurality of boot chunks of the first copy of the boot partition is compared to a boot chunk of the plurality of boot chunks of the second copy of the boot partition.

3. The data storage device of claim 1 , wherein the reliability index is a log likelihood ratio (LLR).

4. The data storage device of claim 3 , wherein a magnitude of the LLR is increased when the boot chunk of the first copy of the boot partition matches to a boot chunk of the plurality of boot chunks of the second copy of the boot partition.

5. The data storage device of claim 3 , wherein a magnitude of the LLR is decreased when the boot chunk of the first copy of the boot partition is different than a boot chunk of the plurality of boot chunks of the second copy of the boot partition.

6. The data storage device of claim 1 , wherein the controller is further configured to iterate the comparing and the marking for each of the plurality of boot chunks of the first copy of the boot partition and the plurality of boot chunks of the second copy of the boot partition.

7. The data storage device of claim 1 , wherein the comparing is in response to a boot partition trigger corresponding to a firmware download phase of a host boot operation.

8. The data storage device of claim 7 , wherein the comparing and the marking occurs incrementally per boot chunk downloaded during the firmware download phase.

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

fetch the first copy of the boot partition when the second copy of the boot partition is programmed to the memory device; and

perform the comparing in response to the fetching.

10. The data storage device of claim 1 , wherein the marked one or more boot chunks that are different are recorded in a delta table.

11. The data storage device of claim 10 , wherein the controller is further configured to utilize the first copy of a boot partition, the second copy of the boot partition, and the delta table during error correction code (ECC) decoding during the boot operation of the host device.

12. The data storage device of claim 1 , wherein:

the one or more boot chunks of the plurality of boot chunks of the first copy of the boot partition and the one or more boot chunks of the plurality of boot chunks of the second copy of the boot partition that are within the similarity threshold are stored in a first location of the memory device; and

the one or more boot chunks of the plurality of boot chunks of the first copy of the boot partition and the one or more boot chunks of the plurality of boot chunks of the second copy of the boot partition that equals or exceeds the similarity threshold are stored in a second location of the memory device.

13. The data storage device of claim 12 , wherein the second location is associated with greater error correction code (ECC) capabilities than the first location.

14. A data storage device, comprising:

a memory device storing a first copy of a boot partition and a second copy of the boot partition, wherein the first copy and the second copy comprises a same number of boot chunks, wherein a first boot chunk of the second copy corresponds to first data of a first boot chunk of the first copy, and wherein the boot partition corresponds to second data associated with a boot operation of a host device; and

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

maintain a delta table, wherein the delta table tracks which boot chunk of the first copy matches a corresponding boot chunk of the second copy and which boot chunk of the first copy is different than a corresponding boot chunk of the second copy;

determine that the boot operation is occurring; and

utilize the first copy, the second copy, and the delta table in a decoding operation to provide the boot partition to the host device.

15. The data storage device of claim 14 , wherein the delta table is stored in volatile memory.

16. The data storage device of claim 14 , wherein the delta table further includes a reliability index corresponding to each boot chunk of the first copy and the corresponding boot chunk of the second copy.

17. The data storage device of claim 16 , wherein the reliability index for boot chunks that are different corresponds to greater decoding needs than the reliability index for boot chunks that matches.

18. The data storage device of claim 14 , wherein the boot chunks of the first copy that matches corresponding boot chunks of the second copy are stored in triple level cell (TLC) memory and the boot chunks of the first copy that are different than the corresponding boot chunks of the second copy are stored in single level cell (SLC) memory.

19. A data storage device, comprising:

memory means storing a first copy of a boot partition and a second copy of the boot partition, wherein the first copy and the second copy comprises a same number of boot chunks, wherein a first boot chunk of the second copy corresponds to first data of a first boot chunk of the first copy, and wherein the boot partition corresponds to second data associated with a boot operation of a host device; and

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

compare a plurality of boot chunks of the first copy to a corresponding plurality of boot chunks of the second copy, wherein a result of the comparing is stored in a delta table;

increase a correction capability associated with one or more boot chunks of the first copy corresponding to one or more boot chunks of the second copy that are different; and

provide the boot partition to the host device, wherein providing the boot partition comprises using the first copy, the second copy, and the delta table to increase error correction capability during the boot operation.

20. The data storage device of claim 19 , wherein the second copy is utilized as soft bit information for the first copy.

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 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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2022
From: BAZARSKY, ALEXANDER; HAHN, JUDAH GAMLIEL; BENISTY, SHAY; NAVON, ARIEL
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 060807/0839 →