US 11,734,018 B2
Parallel boot execution of memory devices
Shay Benisty, Beer Sheva (IL); Judah Gamliel Hahn, Ofra (IL); and Ariel Navon, Revava (IL)
Assigned to Western Digital Technologies, Inc., San Jose, CA (US)
Filed by Western Digital Technologies, Inc., San Jose, CA (US)
Filed on Jul. 17, 2020, as Appl. No. 16/932,477.
Prior Publication US 2022/0019443 A1, Jan. 20, 2022
Int. Cl. G06F 9/44 (2018.01); G06F 9/4401 (2018.01); G06F 3/06 (2006.01); G06F 21/57 (2013.01); G06F 9/445 (2018.01)
CPC G06F 9/4403 (2013.01) [G06F 3/0611 (2013.01); G06F 3/0659 (2013.01); G06F 3/0673 (2013.01); G06F 21/575 (2013.01); G06F 9/445 (2013.01); G06F 2221/033 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A data storage device, comprising:
one or more memory devices; and
a controller coupled to the one or more memory devices, wherein the controller is configured to:
receive boot code chunks of a boot code from a host memory buffer (HMB) of a host device, wherein the boot code is associated with a boot operation of the data storage device, wherein the boot code chunks of the boot code from the HMB are stored in the HMB during a previous run-time of the data storage device;
receive boot code chunks of the boot code from the one or more memory devices;
confirm that all boot code chunks of the boot code have been received, wherein a portion of the boot code chunks are received from the HMB and a different portion of the boot code chunks are received from the one or more memory devices;
confirm authentication signatures for all of the boot code chunks of the boot code, wherein the controller is further configured to receive a valid boot code chunk from whichever of the HMB and the one or more memory devices did not deliver the invalid boot code chunk based on confirming the authentication signatures; and
boot the data storage device using the boot code chunks received from the host device and the boot code chunks received from the one or more memory devices when the number of boot code chunks received from the host device plus the number of boot code chunks received from the one or more memory devices equals the total number of boot code chunks of the boot code.