IP Library Granted Patent US 7,216,258
Granted Patent B2
US 7,216,258 · App. 10/430,460 · Granted May 8, 2007

Method and apparatus for recovering from a non-fatal fault during background operations

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 7,216,258
App. No.
10/430,460
Granted
May 8, 2007
Kind
B2
Abstract

A method and apparatus for reinitializing firmware in the event of a fault in a storage area network comprising at least one storage controller having programmable memory and RAM, said at least one storage controller for controlling data access between at least one host server and a storage device. The method is provided during background operations, and includes detecting a fault and suspending data access commands from the at least one host server. The firmware stored in programmable memory is reinstalled, and the at least one storage controller is reinitialized. The reinstallation of the firmware and reinitializing of the controller is quickly completed such that data access commands from the at least one host server to the at least one storage device are satisfied prior to the host server timing out and initiation a data access error message.

Claims (51)

1. A method for reinitializing firmware in the event of a fault in a storage area network comprising at least one storage controller having programmable memory and random access memory (RAM), said at least one storage controller for controlling data access between at least one host server and a storage device, comprising:

detecting a fault;

suspending data access commands from said at least one host server;

reinstalling firmware stored in programmable memory;

reinitializing the at least one storage controller; and

provisioning data access commands from said at least one host server to said at least one storage device prior to receiving a data access error message

wherein said detecting step further comprises:

identifying said fault;

storing fault information pertaining to said identified fault;

delaying said reinitialization step for a predetermined period; and

extracting and archiving said stored fault information prior to said reinitialization step.

2. The method according to claim 1 , wherein said detecting step comprises detecting non-masked interrupt faults.

3. The method according to claim 1 , wherein the suspending step further comprises issuing a reset command to host bus adaptors communicating with the at least one servers and the storage device.

4. The method according to claim 1 , wherein the suspending step is initiated from firmware currently installed in said processor.

5. The method according to claim 1 , wherein the reinstalling firmware step further comprises selecting a version of firmware from the group consisting of a same version, a previous version and a later version cf firmware installed on said at least one controller.

6. The method according to claim 1 wherein said reinstalling step further comprises:

erasing a current version of firmware installed in programmable memory on the controller;

copying, a second copy of the current version of firmware stored in a first portion of RAM to a second portion of the RAM; and

overwriting the current version of firmware in the first portion RAM with new firmware.

7. The method according to claim 6 , wherein said reinitialization step is initiated from the reinstalled version of firmware in the first portion of RAM.

8. The method according to claim 6 , wherein said reinitialization step is an abbreviated reboot comprising:

initializing host bus adaptors (HBAs) coupled to the at least one controller;

scanning physical drive information for failures;

clearing said second portion RAM; and

notifying a configuration manager that the firmware reinstallation is complete.

9. Apparatus for reinitializing firmware in the event of a fault in a storage area network comprising at least one storage controller having programmable memory and random access memory (RAM), said at least one storage controller for controlling data access between at least one host server and a storage device, comprising:

means for detecting a fault;

means for suspending data access commands from said at least one host server;

means for reinstalling firmware stored in programmable memory;

means for reinitializing the at least one storage controller; and

means for provisioning data access commands from said at least one host server to said at

least one storage device prior to receiving a data access error message

wherein said means for detecting further comprises:

identifying said fault;

storing fault information pertaining to said identified fault;

delaying said reinitialization step for a predetermined period; and

extracting and archiving said stored fault information prior to said reinitialization step.

10. The apparatus according to claim 9 , wherein said means for detecting comprises detecting non-masked interrupt faults.

11. The apparatus according to claim 9 , wherein the means for suspending further comprises issuing a reset command to host bus adaptors communicating with the at least one servers and the storage device.

12. The apparatus according to claim 9 , wherein the means for suspending is initiated from firmware currently installed in said processor.

13. The apparatus according to cliam 9 , wherein the means for reinstalling firmware further comprises selecting a version of firmware from the group consisting of a same version, a previous version, and a later version of firmware installed on said at least one controller.

14. The apparatus according to claim 9 , wherein said means for reinstalling further comprises:

erasing a current version of firmware installed in programmable memory on the controller;

copying a second copy of the current version of firmware stored in a first portion of RAM to a second portion of the RA; and

overwriting the current version of firmware in the first portion RAM with new firmware.

15. The apparatus according to claim 14 , wherein said means for reinitialization is initiated from the reinstalled version of firmware in the first portion of RAM.

16. The apparatus according to claim 14 , wherein said means for reinitialization is an abbreviated reboot comprising:

initializing host bus adaptors (HBAs) coupled to the at least one controller;

scanning physical drive information for failures;

clearing said second portion RAM; and

notifying a configuration manager that the firmware reinstallation is complete.

Assignments (2)
RELEASE OF SECURITY INTEREST Recorded Dec 15, 2017
From: HORIZON TECHNOLOGY FUNDING COMPANY V LLC
To: XIOTECH CORPORATION
Reel/Frame 044883/0095 →
RELEASE OF SECURITY INTEREST Recorded Dec 15, 2017
From: SILICON VALLEY BANK
To: XIOTECH CORPORATION
Reel/Frame 044891/0322 →