Browse Prior Art Database

A system for automated microcode load from a remote source for storage devices Disclosure Number: IPCOM000034945D
Original Publication Date: 2005-Jan-19
Included in the Prior Art Database: 2005-Jan-19
Document File: 2 page(s) / 28K

Publishing Venue



The following method allows a destination device to initiate, execute, and control a microcode load from an external source, without intervention from either a user or an external automated program.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 52% of the total text.

Page 1 of 2

A system for automated microcode load from a remote source for storage devices

This microcode load may consist of either an initial microcode load or a microcode update. The initiation of the microcode load is determined by the destination device, and does not require manual intervention by a user or supervisory control by a host or control unit. An external source of the microcode can be (a) a storage system, (b) a computer system with an internal memory storing the microcode, (c) a removable media reader system such as a USB memory stick, or (d) any other source external to the destination drive.

The microcode load from the external source can be applied to storage devices such as disk drives, tape drives, optical drives to include DVD and holography, network attached storage (NAS), and also to subsystems requiring microcode such as RAID arrays, power supplies, SAN switches, printers, copiers, fax machines, and the like.

Certain policies are set for each destination device to control microcode load and activation. The load initiation policies include (a) time schedules, (b) triggers on events and/or error thresholds,
(c) user requests, and (d) engineering-change requests. The activation policies including (a) only a higher level of code is loaded, (b) any code level can be loaded which resides on the remote source, and (c) activation of new code will take place immediately or with a time delay. Our preferred embodiment is to make the microcode load part of the initialization and start-up process of the destination device, because this time frame is under the control of the destination device and so the destination device can act independently of other devices.

The interface through which the code is downloaded can be the normal I/O interface such as SCSI or Fibre Channel, or the diagnostic interface such as RS-422. There needs to be a common communication protocol between the destination device and the external source. The preferred embodiment is to use an existing protocol with an extended command set. This command set includes (a) identification, which is a unique identification sequence between the destination device and the source of microcode. This can be a unique ID or keyword which is exchanged. It also includes (b) get version, to obtain the version of microcode on the external source. Finally, it includes (c) get code, to obtain the microcode from the external source.

FIG. 1 supplies the destination device with the preferred logic to independently obtain and activate the version of microcode from the external source, based on given policies. Beginning at step 100, the process flows to step...