Storage system and method for enabling a direct accessible boot block in a memory die
AssigneeWestern Digital Technologies, Inc.
InventorsVenkatesh Naidu Pamoti, Ramanathan Muthiah, Gnanasekar Rajakumar
Life of this patent
Estimating the term…
Abstract
A storage system and method for enabling a direct accessible boot block in a memory die are disclosed. In one embodiment, a storage system is provided comprising a NAND memory, a volatile memory, a processor, and a NAND controller. The NAND controller is configured to perform the following in response to receiving a command from the processor at power-up: read bootloader code from the NAND memory; and execute the bootloader code, wherein execution of the bootloader code causes initialization code to be read from the NAND memory and stored in the volatile memory. Other embodiments are provided.
Claims16
A storage system comprising:
- a NAND memory;
- a volatile memory;
- a processor;
- and
- a NAND controller configured to be in communication with the NAND memory, the volatile memory, and the processor, wherein the NAND controller is further configured to perform the following in response to receiving a command from the processor at power-up:
- read bootloader code from the NAND memory;
- and
- execute the bootloader code, wherein execution of the bootloader code causes initialization code to be read from the NAND memory and stored in the volatile memory;
- wherein:
- the processor is configured to execute watchdog code upon power-up of the storage system, which, when executed, causes the processor to reset the storage system and read alternate code from the NAND memory in response to a mismatch between a cyclical redundancy check (CRC) code of the initialization code and a programmed CRC code;
- and
- the initialization code comprises code to disable the watchdog code, whereby successful execution of the initialization code disables the watchdog code.
A method for booting a storage system, the method comprising:
- performing the following in a storage system comprising a processor and a NAND memory:
- executing a watchdog function in the processor at start-up of the storage system;
- attempting to load first stage bootloader code from the NAND memory at start-up of the storage system;
- in response to the attempt to load the first stage bootloader code from the NAND memory being successful:
- executing the first stage bootloader code;
- using the executed first stage bootloader code to load initialization code from the NAND memory;
- executing the initialization code;
- using the executed initialization code to load a bootloader code from the NAND memory;
- and
- executing the bootloader code to boot the storage system, wherein the initialization code comprises code to disable the watchdog function, whereby successful execution of the initialization code disables the watchdog function;
- and
- in response to the attempt to load the first stage bootloader code from the NAND memory being unsuccessful because of a mismatch between a cyclical redundancy check (CRC) code of the first stage bootloader code and a programmed CRC code:
- resetting the storage system;
- and
- reading alternate code from the NAND memory.
A storage system comprising:
- a NAND memory configured to store bootloader code and initialization code;
- means for executing a watchdog function at start-up of the storage system;
- means for attempting to load first stage bootloader code from the NAND memory at start-up of the storage system;
- means for, in response to the attempt to load the first stage bootloader code from the NAND memory being successful:
- executing the first stage bootloader code, using the executed first stage bootloader code to load initialization code from the NAND memory,
- executing the initialization code,
- using the executed initialization code to load a bootloader code from the NAND memory, and
- executing the bootloader code to boot the storage system, wherein the initialization code comprises code to disable the watchdog function, whereby successful execution of the initialization code disables the watchdog function;
- and
- means for, in response to the attempt to load the first stage bootloader code from the NAND memory being unsuccessful because of a mismatch between a cyclical redundancy check (CRC) code of the first stage bootloader code and a programmed CRC code:
- resetting the storage system;
- and
- reading alternate code from the NAND memory.
Dependencies are inferred from the claim text.