IP Library › Granted Patent US 12,346,684
Granted Patent B2
US 12,346,684 · App. 18/321,489 · Granted Jul 1, 2025

Framework for upgrading firmware of disk array enclosures (DAES)

Inventors: Bing Liu (Tianjin, CN); Joel Miller (Vacaville, CA); Deepu M Sreedhar (Calicut, IN)
Assignee: Dell Products L.P.
G06F8/65
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 12,346,684
App. No.
18/321,489
Granted
Jul 1, 2025
Kind
B2
Abstract

A request is received to upgrade firmware of a set of disk array enclosures (DAEs) in a storage system. Each DAE is chained to another DAE by first and second chains. The first chain provides an active path from a host server to the DAEs. The second chain provides a secondary path from the host server to the DAEs. A determination is made as to whether the secondary path is operational. If the secondary path is operational, data of the active path is failed over to the secondary path, the active path now being an inactive path. Firmware along the inactive path is upgraded. If the secondary path is not operational, the request to upgrade firmware is denied.

Claims (48)

1. A method comprising:

receiving a request to upgrade firmware for a plurality of disk array enclosures (DAEs) in a storage system, wherein each DAE is chained to another DAE by first and second chains, the first chain provides an active path from a first port of a first host bus adapter (HBA) of a host server to the storage system, and the second chain provides a secondary path from a second port of a second HBA of the host server to the storage system;

determining whether the secondary path is operational;

if the secondary path is operational,

failing over data of the active path to the secondary path, the active path now being an inactive path; and

upgrading firmware of the DAEs along the inactive path; and

if the secondary path is not operational, denying the request to upgrade the firmware, wherein the active path comprises a plurality of first input/output modules (IOMs) having first serial attached SCSI (SAS) expanders to which a plurality of storage disks are connected,

the secondary path comprises a plurality of second IOMs having second SAS expanders to which the plurality of storage disks are connected, and

each DAE comprises a first IOM of the plurality of first IOMs and a second IOM of the plurality of second IOMs, and the method further comprises:

when the secondary path is operational and after the failing over data of the active path to the secondary path, upgrading firmware of the plurality of first IOMs having the first SAS expanders to which the plurality of storage disks are connected, the upgrading thereby causing each of the first SAS expanders and each of the storage disks to reset; and

during the upgrading firmware of the plurality of first IOMs, withholding reporting to an operating system of the host server events indicating that the storage disks have been reset.

2. The method of claim 1 further comprising:

during the upgrading the firmware, ignoring at least some events generated to indicate changes in a topology of the storage system; and

after the upgrading the firmware, processing a last event indicating changes in the topology, the last event thereby indicating a final state of the topology of the storage system.

3. The method of claim 1 wherein the upgrading of the firmware causes storage disks of the DAEs to restart multiple times thereby generating events for the restarts of each storage disk, and the method further comprises:

during the upgrading, not reporting the events.

4. A system comprising: a processor; and memory configured to store one or more sequences of instructions which, when executed by the processor, cause the processor to carry out the steps of:

receiving a request to upgrade firmware for a plurality of disk array enclosures (DAEs) in a storage system, wherein each DAE is chained to another DAE by first and second chains, the first chain provides an active path from a first port of a first host bus adapter (HBA) of a host server to the storage system, and the second chain provides a secondary path from a second port of a second HBA of the host server to the storage system;

determining whether the secondary path is operational;

if the secondary path is operational,

failing over data of the active path to the secondary path, the active path now being an inactive path; and

upgrading firmware of the DAEs along the inactive path; and

if the secondary path is not operational, denying the request to upgrade the firmware, wherein the active path comprises a plurality of first input/output modules (IOMs) having first serial attached SCSI (SAS) expanders to which a plurality of storage disks are connected,

the secondary path comprises a plurality of second IOMs having second SAS expanders to which the plurality of storage disks are connected, and

each DAE comprises a first IOM of the plurality of first IOMs and a second IOM of the plurality of second IOMs, and the method further comprises:

when the secondary path is operational and after the failing over data of the active path to the secondary path, upgrading firmware of the plurality of first IOMs having the first SAS expanders to which the plurality of storage disks are connected, the upgrading thereby causing each of the first SAS expanders and each of the storage disks to reset; and

during the upgrading firmware of the plurality of first IOMs, withholding reporting to an operating system of the host server events indicating that the storage disks have been reset.

5. The system of claim 4 wherein the processor further carries out the steps of:

during the upgrading the firmware, ignoring at least some events generated to indicate changes in a topology of the storage system; and

after the upgrading the firmware, processing a last event indicating changes in the topology, the last event thereby indicating a final state of the topology of the storage system.

6. The system of claim 4 wherein the upgrading of the firmware causes storage disks of the DAEs to restart multiple times thereby generating events for the restarts of each storage disk, and the processor further carries out the steps of:

during the upgrading, not reporting the events.

7. A computer program product, comprising a non-transitory computer-readable medium having a computer-readable program code embodied therein, the computer-readable program code adapted to be executed by one or more processors to implement a method comprising:

receiving a request to upgrade firmware for a plurality of disk array enclosures (DAEs) in a storage system, wherein each DAE is chained to another DAE by first and second chains, the first chain provides an active path from a first port of a first host bus adapter (HBA) of a host server to the storage system, and the second chain provides a secondary path from a second port of a second HBA of the host server to the storage system;

determining whether the secondary path is operational;

if the secondary path is operational,

failing over data of the active path to the secondary path, the active path now being an inactive path; and

upgrading firmware of the DAEs along the inactive path; and

if the secondary path is not operational, denying the request to upgrade the firmware, wherein the active path comprises a plurality of first input/output modules (IOMs) having first serial attached SCSI (SAS) expanders to which a plurality of storage disks are connected,

the secondary path comprises a plurality of second IOMs having second SAS expanders to which the plurality of storage disks are connected, and

each DAE comprises a first IOM of the plurality of first IOMs and a second IOM of the plurality of second IOMs, and the method further comprises:

when the secondary path is operational and after the failing over data of the active path to the secondary path, upgrading firmware of the plurality of first IOMs having the first SAS expanders to which the plurality of storage disks are connected, the upgrading thereby causing each of the first SAS expanders and each of the storage disks to reset; and

during the upgrading firmware of the plurality of first IOMs, withholding reporting to an operating system of the host server events indicating that the storage disks have been reset.

8. The computer program product of claim 7 wherein the method further comprises:

during the upgrading the firmware, ignoring at least some events generated to indicate changes in a topology of the storage system; and

after the upgrading the firmware, processing a last event indicating changes in the topology, the last event thereby indicating a final state of the topology of the storage system.

9. The computer program product of claim 7 wherein the upgrading of the firmware causes storage disks of the DAEs to restart multiple times thereby generating events for the restarts of each storage disk, and the method further comprises:

during the upgrading, not reporting the events.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 23, 2023
From: LIU, BING; MILLER, JOEL; SREEDHAR, DEEPU M.
To: DELL PRODUCTS L.P.
Reel/Frame 063736/0064 →
Continuity (1)
Related Publication 20240394032A1 · Nov 28, 2024
References Cited (30)
US 6928514B2 · Chatterjee · 2005 [cited by examiner]
US 7426633B2 · Thompson · 2008 [cited by examiner]
US 7558915B2 · Cherian · 2009 [cited by examiner]
US 7752387B2 · Elliott · 2010 [cited by examiner]
US 8219794B1 · Wang · 2012 [cited by examiner]
US 8713553B2 · Suzuki · 2014 [cited by examiner]
US 8726261B2 · Van Nguyen · 2014 [cited by examiner]
US 8745614B2 · Banerjee · 2014 [cited by examiner]
US 8881132B2 · Mopur · 2014 [cited by examiner]
US 8966466B2 · Tiwari · 2015 [cited by examiner]
US 11061618B1 · Glimcher · 2021 [cited by examiner]
US 11079969B1 · Glimcher · 2021 [cited by examiner]
US 11231858B2 · Davis · 2022 [cited by applicant]
US 11340889B2 · Voltz · 2022 [cited by examiner]
US 11587595B1 · Liu · 2023 [cited by examiner]
US 11726660B1 · Hadav · 2023 [cited by examiner]
US 11803453B1 · Bunker · 2023 [cited by examiner]
US 20070233951A1 · Kawada · 2007 [cited by examiner]
US 20080126631A1 · Bailey · 2008 [cited by applicant]
US 20090063766A1 · Matsumura · 2009 [cited by examiner]
US 20100058322A1 · Oikawa · 2010 [cited by examiner]
US 20110107323A1 · Hong · 2011 [cited by examiner]
US 20120254673A1 · Sampei · 2012 [cited by applicant]
US 20120260242A1 · Nguyen · 2012 [cited by examiner]
US 20120331181A1 · Govande · 2012 [cited by applicant]
US 20160266894A1 · Panicker · 2016 [cited by examiner]
US 20160378376A1 · Gao · 2016 [cited by examiner]
US 20170046152A1 · Shih · 2017 [cited by applicant]
US 20210263664A1 · Glimcher · 2021 [cited by examiner]
WO WO2022095199A1 · 2022 [cited by examiner]