IP Library Granted Patent US 10,990,380
Granted Patent B2
US 10,990,380 · App. 16/057,571 · Granted Apr 27, 2021

Power safe offline download

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 10,990,380
App. No.
16/057,571
Granted
Apr 27, 2021
Kind
B2
Abstract

The present disclosure generally relates to using a single firmware slot in a slower boot media while temporarily leveraging high speed media and dual boot designs to allow booting into a cached copy of firmware to guarantee power safety while writing the single firmware slot on the slower boot media. The device boots up with original firmware stored in a first non-volatile memory device when powered on. The device then checks a second non-volatile memory device for new firmware. If there is new firmware stored in the second non-volatile memory device, the device loads the new firmware into a volatile memory device and reboots with the new firmware. The device then writes the new firmware to the firmware slot of the first non-volatile memory device. If the device experiences a power cycle while writing the new firmware, the device can reboot with a cached copy of the new firmware.

Claims (58)

1. A method for operating a storage device, comprising:

writing new firmware to a first non-volatile memory device of the storage device;

loading the new firmware into a volatile memory device of the storage device from the first non-volatile memory device;

booting the storage device with the new firmware loaded into the volatile memory device;

updating a firmware slot on a second non-volatile memory device of the storage device with the new firmware;

rebooting the storage device with the new firmware loaded into the volatile memory device when the storage device power cycles while updating the firmware slot on the second non-volatile memory device with the new firmware; and

updating a status of the second non-volatile memory device once the firmware slot is finished updating.

2. The method of claim 1 , wherein the first non-volatile memory device is a NAND memory device.

3. The method of claim 1 , wherein the second non-volatile memory device is a NOR memory device.

4. The method of claim 1 , wherein the volatile memory device is a DRAM device.

5. A data storage device, comprising:

a plurality of non-volatile memory devices;

one or more volatile memory devices; and

a controller coupled to the plurality of non-volatile memory devices and the one or more volatile memory devices, wherein the controller is configured to:

boot the data storage device with an original firmware from a first non-volatile memory device of the plurality of non-volatile memory devices;

load a firmware update into the one or more volatile memory devices;

reboot the data storage device with the firmware update loaded into the one or more volatile memory devices when the data storage device power cycles while writing the firmware update to the first non-volatile memory device; and

write the firmware update to the first non-volatile memory device.

6. The data storage device of claim 5 , wherein the plurality of non-volatile memory devices comprise one or more NOR memory devices and one or more NAND memory devices.

7. The data storage device of claim 6 , wherein the controller is further configured to write the firmware update to a second non-volatile memory device of the plurality of non-volatile memory devices.

8. The data storage device of claim 7 , wherein the first non-volatile memory device is a NOR memory device, and the second non-volatile memory device is a NAND memory device.

9. A data storage device, comprising:

a plurality of non-volatile memory devices;

one or more volatile memory devices;

means for booting the data storage device with an original firmware stored in a first non-volatile memory device of the plurality of non-volatile memory devices, wherein the first non-volatile memory device is a NOR memory device;

means for writing an updated firmware to a second non-volatile memory device of the plurality of non-volatile memory devices, wherein the second non-volatile memory device is a NAND memory device;

means for storing the updated firmware in the one or more volatile memory devices;

means for rebooting the data storage device with the updated firmware stored in the one or more volatile memory devices; and

means for writing the updated firmware to the first non-volatile memory device.

10. The data storage device of claim 9 , further comprising means for updating a status of the first non-volatile memory device, wherein the status of the first memory device indicates whether the updated firmware was entirely written to the first non-volatile memory device.

11. The data storage device of claim 9 , wherein the one or more volatile memory devices comprise at least one DRAM device.

12. The data storage device of claim 11 , wherein the updated firmware is stored in the at least one DRAM device of the one or more volatile memory devices.

13. The data storage device of claim 12 , further comprising means for rebooting the data storage device with the updated firmware after the data storage device power cycles while writing the updated firmware to the first non-volatile memory device.

14. A data storage device, comprising:

a plurality of non-volatile memory devices;

one or more volatile memory devices; and

a controller coupled to the plurality of non-volatile memory devices and the one or more volatile memory devices, wherein the controller is configured to:

boot the data storage device with an original firmware from a first non-volatile memory device of the plurality of non-volatile memory devices wherein the first non-volatile memory device is a NOR memory device;

load a firmware update into the one or more volatile memory devices;

write the firmware update to a second non-volatile memory device of the plurality of non-volatile memory devices, wherein the second non-volatile memory device is a NAND memory device;

reboot the data storage device with the firmware update loaded into the one or more volatile memory devices; and

write the firmware update to the first non-volatile memory device.

15. The data storage device of claim 14 , wherein the plurality of non-volatile memory devices comprise one or more NOR memory devices and one or more NAND memory devices, and wherein the controller is further configured to write the firmware update to a second non-volatile memory device of the plurality of non-volatile memory devices.

16. The data storage device of claim 15 , wherein the controller is further configured to reboot the data storage device with the firmware update loaded into the one or more volatile memory devices when the data storage device power cycles while writing the firmware update to the first non-volatile memory device.

17. The data storage device of claim 14 , further comprising means for updating a status of the first non-volatile memory device, wherein the status of the first memory device indicates whether the updated firmware was entirely written to the first non-volatile memory device.

18. The data storage device of claim 14 , wherein the one or more volatile memory devices comprise at least one DRAM device, and wherein the updated firmware is stored in the at least one DRAM device of the one or more volatile memory devices.

19. A data storage device, comprising:

a plurality of non-volatile memory devices;

one or more volatile memory devices;

means for booting the data storage device with an original firmware stored in a first non-volatile memory device of the plurality of non-volatile memory devices;

means for writing an updated firmware to a second non-volatile memory device of the plurality of non-volatile memory devices;

means for storing the updated firmware in the one or more volatile memory devices;

means for rebooting the data storage device with the updated firmware stored in the one or more volatile memory devices;

means for rebooting the data storage device with the updated firmware after the data storage device power cycles while writing the updated firmware to the first non-volatile memory device; and

means for writing the updated firmware to the first non-volatile memory device.

20. The data storage device of claim 19 , wherein the one or more volatile memory devices comprise at least one DRAM device.

21. The data storage device of claim 20 , wherein the updated firmware is stored in the at least one DRAM device of the one or more volatile memory devices.

22. The data storage device of claim 19 , wherein the first non-volatile memory device is a NOR memory device, and wherein the second non-volatile memory device is a NAND memory device.

Assignments (10)
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 →
RELEASE OF SECURITY INTEREST AT REEL 052915 FRAME 0566 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 059127/0001 →
SECURITY INTEREST Recorded Feb 6, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052915/0566 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 8, 2018
From: LAPPI, CORY; WALKER, WILLIAM JARED; CHEN, XIN
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 046749/0437 →