IP Library › Granted Patent US 12,014,187
Granted Patent B2
US 12,014,187 · App. 17/661,983 · Granted Jun 18, 2024

Boot processes for storage systems

Inventors: Sourin Sarkar (Bangalore, IN); Vamshikrishna Komuravelli (Rangareddy, IN); Kanika Mittal (Agra, IN)
Assignee: Micron Technology, Inc.
G06F9/4411G06F9/4418
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,014,187
App. No.
17/661,983
Granted
Jun 18, 2024
Kind
B2
Abstract

Implementations described herein relate to boot processes for memory devices. In some implementations, a controller of a storage system receives a command for enabling a fast bootup process for the storage system. The fast bootup process may exclude a measurement of information retrieved from a memory device of the storage system during the fast bootup process. The controller may enable the fast bootup process based on the command. The controller may disable a normal bootup process for the storage system based on the fast bootup process being enabled. The normal bootup process may include a measurement of information retrieved from the memory device during the normal bootup process.

Claims (80)

1. A system, comprising:

a memory device; and

a controller configured to:

receive, from a host device and based on a user input, a command for enabling a fast bootup process for the system, wherein the fast bootup process excludes a verification of information, stored at the memory device, against expected values;

enable the fast bootup process based on the command;

disable a normal bootup process for the system based on the fast bootup process being enabled, wherein the normal bootup process includes the verification of the information against the expected values;

increment a fast boot counter associated with the fast bootup process,

wherein a fast boot count threshold associated with the fast boot counter indicates whether to disable the fast bootup process;

detect that the system has been powered on; and

perform the fast bootup process based on the system being powered on.

2. The system of claim 1 , wherein the fast bootup process has a lower boot latency as compared to the normal bootup process.

3. The system of claim 1 , wherein an initial factory configuration of the system disables the fast bootup process.

4. The system of claim 1 , wherein an initial factory configuration of the system enables the normal bootup process.

5. The system of claim 1 , wherein the information retrieved from the system is one or more of: firmware, software, an operating system, application code, or data.

6. The system of claim 1 , wherein the controller is further configured to:

detect a change to the information as compared to a baseline version of the information;

disable the fast bootup process based on the change to the information;

reenable the normal bootup process; and

reset the fast boot counter to zero.

7. The system of claim 6 , wherein the change to the information is a change to boot data, a change to a signed firmware signature, a change to a build number, or a change to a reference measurement of a data block stored in a protected region of the memory device.

8. The system of claim 6 , wherein the change to the information is based on a firmware upgrade, a provisioning event, a formatting of the memory device, or a use of a backup boot partition.

9. The system of claim 6 , wherein the controller is further configured to:

create a new reference measurement based on the change to the information, wherein the new reference measurement is to be subsequently used for the normal bootup process.

10. The system of claim 1 , wherein the controller is further configured to:

determine that the fast boot counter satisfies the fast boot count threshold;

disable the fast bootup process based on the fast boot counter satisfying the fast boot count threshold; and

reenable the normal bootup process.

11. The system of claim 10 , wherein the command is a first command, and wherein the controller is further configured to:

receive, from the host device and based on additional user input, a second command to reenable the fast bootup process after the fast bootup process is disabled due to the fast boot counter satisfying the fast boot count threshold; and

reset the fast boot counter based on the fast bootup process being reenabled.

12. The system of claim 10 , wherein the user input indicates a selection to enable the fast bootup process and to disable the normal bootup process.

13. The system of claim 1 , wherein the controller is further configured to:

determine that the fast bootup process has been enabled for an amount of time that satisfies a threshold amount of time;

disable the fast bootup process based on the fast bootup process being enabled for the amount of time that satisfies the threshold amount of time; and

reenable the normal bootup process based on the fast bootup process being enabled for the amount of time that satisfies the threshold amount of time.

14. A storage system, comprising:

a memory device; and

a controller configured to:

implement a first bootup process for the storage system based on an initial factory configuration of the storage system, wherein the first bootup process includes a verification of information, stored at the memory device, against expected values;

receive a command for enabling a second bootup process for the storage system, wherein the second bootup process is associated with a lower boot latency as compared to the first bootup process based on the second bootup process excluding the verification of the information against the expected values;

enable the second bootup process based on the command;

disable the first bootup process based on the command;

increment a counter associated with the second bootup process,

wherein a threshold associated with the counter indicates whether to disable the second bootup process;

detect a power cycling associated with the storage system; and

perform the second bootup process based on detecting the power cycling.

15. The storage system of claim 14 , wherein the first bootup process is a more secure bootup process and the second bootup process is a less secure bootup process.

16. The storage system of claim 14 , wherein the controller is further configured to:

detect a change to information, as compared to a baseline version of information, stored in the memory device;

disable the second bootup process based on the changed information; and

reenable the first bootup process.

17. The storage system of claim 14 , wherein the controller is further configured to:

determine that the counter satisfies the threshold;

disable the second bootup process based on the counter satisfying the threshold; and

reenable the first bootup process.

18. The storage system of claim 17 , wherein the command is a first command, and wherein the controller is further configured to:

receive a second command to reenable the second bootup process after the second bootup process is disabled due to the counter satisfying the threshold; and

reset the counter after the second bootup process is reenabled.

19. A method, comprising:

receiving, by a controller of a storage system, a command for enabling a fast bootup process for the storage system, wherein the fast bootup process excludes a measurement of information, stored at a memory device of the storage system, against expected values;

enabling, by the controller, the fast bootup process based on the command;

disabling, by the controller, a normal bootup process for the storage system based on the fast bootup process being enabled, wherein the normal bootup process includes the measurement of the information against the expected values; and

incrementing a fast boot counter associated with the fast bootup process,

wherein a fast boot count threshold associated with the fast boot counter indicates whether to disable the fast bootup process.

20. The method of claim 19 , further comprising:

updating a fast boot flag stored in a memory device of the storage system, wherein the fast boot flag is updated based on the fast bootup process being enabled.

21. The method of claim 20 , further comprising:

detecting a power cycling associated with the storage system, wherein the power cycling is based on the storage system being powered on; and

performing the fast bootup process based on the power cycling and the fast boot flag, wherein the fast bootup process has a lower boot latency as compared to the normal bootup process.

22. The method of claim 19 , wherein the command for enabling the fast bootup process is based on a user input, and wherein the user input indicates a selection to enable the fast bootup process and to disable the normal bootup process.

23. The method of claim 19 , further comprising:

determining that the fast boot counter satisfies the fast boot count threshold;

disabling the fast bootup process based on the fast boot counter satisfying the fast boot count threshold; and

reenabling the normal bootup process.

24. The method of claim 19 , further comprising:

determining that the fast bootup process has been enabled for an amount of time that satisfies a threshold amount of time;

disabling the fast bootup process based on the fast bootup process being enabled for the amount of time that satisfies the threshold amount of time; and

reenabling the normal bootup process.

25. The storage system of claim 16 , wherein the controller is further configured to:

reset the counter to zero based on disabling the second bootup process.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 4, 2022
From: SARKAR, SOURIN; KOMURAVELLI, VAMSHIKRISHNA; MITTAL, KANIKA
To: MICRON TECHNOLOGY, INC.
Reel/Frame 059815/0870 →
Continuity (1)
Related Publication 20230359466A1 · Nov 9, 2023