Management of device firmware update effects as seen by a host
First Claim
1. A method comprising:
- coupling a storage device to a computing host;
managing, by the storage device, a non-volatile memory to store a first firmware, a first firmware revision identifier, a second firmware, and a second firmware revision identifier;
receiving, by the storage device, the first firmware from the computing host, the first firmware being associated with the first firmware revision identifier;
receiving, by the storage device, the second firmware from the computing host, the receiving the second firmware being occurring after the receiving the first firmware, the second firmware being associated with the second firmware revision identifier; and
returning, by the storage device, the first firmware revision identifier to the computing host, the returning being responsive to a particular command type from the computing host and occurring while the storage device is executing the second firmware and before a particular event occurs, wherein a first command type is a read-identity command type and the particular event is a power cycle of the storage device; and
wherein the returning the first firmware revision identifier to the computing host enables an Operating System (OS) executing on the computing host to continue executing without detecting an error in response to a change in a value of a returned firmware revision identifier throughout the storage device executing the first firmware and during executing the second firmware until the particular event occurs.
4 Assignments
0 Petitions
Accused Products
Abstract
Management of device firmware update effects as seen by a computing host enables continuously running an OS on the host across a device firmware update, e.g., via delaying visibility of at least a portion of effects of the firmware update, such as in a context where without the delay in visibility the OS would encounter an unrecoverable error and crash. For example, a device (e.g. an SSD) is coupled to a computing host running an unmodified version of Windows. Firmware on the device is updated/activated, such as by being booted. Visibility of a portion of information that would otherwise become immediately visible to the OS (upon activation of updated firmware) is delayed until a power cycle of the device. If the portion includes, e.g., a firmware revision identifier, then the delayed visibility enables continuously running the OS across the firmware update/activation without rebooting the OS.
49 Citations
18 Claims
-
1. A method comprising:
-
coupling a storage device to a computing host; managing, by the storage device, a non-volatile memory to store a first firmware, a first firmware revision identifier, a second firmware, and a second firmware revision identifier; receiving, by the storage device, the first firmware from the computing host, the first firmware being associated with the first firmware revision identifier; receiving, by the storage device, the second firmware from the computing host, the receiving the second firmware being occurring after the receiving the first firmware, the second firmware being associated with the second firmware revision identifier; and returning, by the storage device, the first firmware revision identifier to the computing host, the returning being responsive to a particular command type from the computing host and occurring while the storage device is executing the second firmware and before a particular event occurs, wherein a first command type is a read-identity command type and the particular event is a power cycle of the storage device; and wherein the returning the first firmware revision identifier to the computing host enables an Operating System (OS) executing on the computing host to continue executing without detecting an error in response to a change in a value of a returned firmware revision identifier throughout the storage device executing the first firmware and during executing the second firmware until the particular event occurs. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A storage device comprising:
-
non-volatile memory; a storage controller to manage the non-volatile memory to store a first firmware, a first firmware revision identifier, a second firmware, and a second firmware revision identifier, the storage device being enabled to couple to a computing host; and a host interface configured to receive the first firmware from the computing host, the first firmware being associated with the first firmware revision identifier, receive the second firmware from the computing host after receiving the first firmware, the second firmware being associated with the second firmware revision identifier, return the first firmware revision identifier to the computing host responsive to a first command type from the computing host and occurring while the storage device is executing the second firmware and before a particular event occurs, and return the second firmware revision identifier to the computing host responsive to a second command type from the computing host and occurring while the storage device is executing the second firmware, wherein the first command type is a read-identity command type, wherein the second command type is a vendor specific command type, and wherein the returning the first firmware revision identifier to the computing host enables an Operating System (OS) executing on the computing host to continue executing without detecting an error in response to a change in a value of a returned firmware revision identifier throughout the storage device executing the first firmware and during executing the second firmware until the particular event occurs. - View Dependent Claims (7, 8, 9, 10, 11)
-
-
12. A storage device comprising:
-
a non-volatile memory; a storage controller to manage the non-volatile memory to store a first firmware, a first firmware revision identifier, a second firmware, and a second firmware revision identifier, the storage device being enabled to couple to a computing host; and a host interface configured to receive the first firmware from the computing host, the first firmware being associated with the first firmware revision identifier, receive the second firmware from the computing host, the receiving the second firmware occurring after the receiving the first firmware, the second firmware being associated with the second firmware revision identifier, and return the first firmware revision identifier to the computing host, the returning being responsive to a first command type from the computing host and occurring while the device is executing the second firmware and before a particular event occurs, wherein the first command type is a read-identity command type; and wherein the returning the first firmware revision identifier to the computing host enables an Operating System (OS) executing on the computing host to continue executing without detecting an error in response to a change in a value of a returned firmware revision identifier throughout the storage device executing the first firmware and during executing the second firmware until the particular event occurs. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
Specification