US9367412B2ActiveUtilityA1

Non-disruptive controller replacement in network storage systems

47
Assignee: ELPULA SRAVANA KUMARPriority: Jun 25, 2012Filed: Jun 25, 2012Granted: Jun 14, 2016
Est. expiryJun 25, 2032(~6 yrs left)· nominal 20-yr term from priority
G06F 11/2092G06F 12/0886G06F 12/0888
47
PatentIndex Score
1
Cited by
29
References
18
Claims

Abstract

A network-based storage system includes multiple storage devices and system controllers. Each storage device in multiple aggregates of storage devices can include ownership portion(s) that are configured to indicate a system controller to which it belongs. First and second system controllers can form an HA pair, and can be in communication with each other, the storage devices, and a separate host server. A first system controller controls an aggregate of storage devices and can facilitate an automated hotswap replacement of a second system controller that controls another aggregate of storage devices with a separate third system controller that subsequently controls the other aggregate of storage devices. The first system controller can take over control of the second aggregate of storage devices during the automated hotswap replacement of the second system controller, and can exchange system identifiers and ownership portion information with the separate third system controller automatically during the hotswap.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A network-based storage system, comprising:
 A memory containing a non-transitory machine readable storage medium comprising machine executable code having stored thereon instructions for performing a method of controller replacement; 
 A processor coupled to the memory, the processor configured to execute the machine executable code to cause the processor to: 
 Receive system identifier data from a controller computing devise associated with a plurality of storage devices, wherein the received system identifier data indicates ownership over the plurality of storage devices; 
 Compare the received system identifier data to parent system identifier data; 
 Send the partner system identifier data to a second controller device when the comparison between the received system identifier data does not match the partner system identifier data; 
 Poll the second controller computing device after sending the partner system identifier data, to determine when a giveback procedure has been initiated in the second controller computing device, wherein the giveback procedure comprises transferring ownership of the plurality of storage devices from the controller computing device to the second controller computing device; and 
 Update a controller state with the received system identifier data after the giveback procedure has been initiated, wherein the updated controller state indicates ownership of the plurality of storage devices by the second controller computing device. 
 
     
     
       2. The device of  claim 1 , wherein the controller state is performed while the second controller computing device is in an online available state, wherein the second controller computing device is capable of receiving commands when in the online available state. 
     
     
       3. A non-transitory machine readable medium having stored thereon instructions for performing a method comprising machine executable code which when executed by at least one machine, causes the machine to:
 receive system identifier data from a controller computing device associated with a plurality of storage devices, wherein the received system identifier data indicates ownership over the plurality of storage devices; 
 compare the received system identifier data to partner system identifier data; 
 send the partner system identifier data to a second controller computing device when the comparison between the received system identifier data and the partner system identifier data indicates that the received system identifier data does not match the partner system identifier data; 
 poll the second controller computing device, after sending the partner system identifier data, to determine when a giveback procedure has been initiated in the second controller computing device, wherein the giveback procedure comprises transferring ownership of the plurality of storage devices from the controller computing device to the second controller computing device; and 
 update a controller state with the received system identifier data after the giveback procedure has been initiated, wherein the updated controller state indicates ownership of the plurality of storage devices by the replacement controller computing device. 
 
     
     
       4. The medium of  claim 3 , wherein the updating the controller state is performed while the second controller computing device is in an online available state, wherein the second controller computing device is capable of receiving commands when in the online available state. 
     
     
       5. A method comprising:
 receiving, by a network storage computing device, system identifier data from a controller computing device associated with a plurality of storage devices, wherein the received system identifier indicates ownership over the plurality of storage devices; 
 comparing, by the network storage computing device, the received system identifier data to partner system identifier data; 
 sending, by the network storage computing device, the partner system identifier data to a second controller computing device when the comparison between the received system identifier data and the partner system identifier data indicates that the received system identifier data does not match the partner system identifier data; 
 polling, by the network storage computing device, the second controller computing device, after sending the partner system identifier data, to determine when a giveback procedure has been initiated in the second controller computing device, wherein the giveback procedure comprises transferring ownership of the plurality of storage devices from the controller computing device to the second controller computing device; and 
 updating, by the network storage computing device, a controller state with the received system identifier data after the giveback procedure has been initiated, wherein the updated controller state indicates ownership of the plurality of storage devices by the second controller computing device. 
 
     
     
       6. The method of  claim 5 , further comprising:
 obtaining, by the network storage computing device, a partner controller state from the second controller computing device, wherein the partner controller state comprises an indication that the giveback procedure has been initiated or that the second controller computing device is waiting for the giveback procedure. 
 
     
     
       7. The method of  claim 5 , wherein the updating the controller state is performed while the second controller computing device is in an online available state, wherein the second controller computing device is capable of receiving commands when in the online available state. 
     
     
       8. The method of  claim 5 , further comprising:
 sending, by the network storage computing device, at least one inquiry for system identifier data to the second controller computing device when the system identifier data matches the partner system identifier data. 
 
     
     
       9. The method of  claim 5 , further comprising:
 obtaining, by the network storage computing device, an acknowledgement from the second controller computing device after sending the system identifier data to the second controller computing device. 
 
     
     
       10. The method of  claim 5 , wherein the plurality of storage devices comprises storage ownership data to indicate ownership of the plurality of storage devices by the controller computing device and further comprising:
 updating, by the network storage computing device, the storage ownership data in the plurality of storage devices to indicate that the plurality of storage devices are owned by the second controller computing device, wherein the storage ownership data comprises individual device data for each one of the plurality of storage devices or RAID (Redundant Array of Independent Disks) data for an aggregation of the plurality of storage devices. 
 
     
     
       11. The device of  claim 1 , wherein the processor is further configured to be capable of executing programmed instructions, which comprise the programmed instructions stored in the memory to:
 obtain a partner controller state from the second controller computing device, wherein the partner controller state comprises an indication that the giveback procedure has been initiated or that the second controller computing device is waiting for the giveback procedure. 
 
     
     
       12. The device of  claim 1 , wherein the processor is further configured to be capable of executing programmed instructions, which comprise the programmed instructions stored in the memory to:
 send at least one inquiry for system identifier data to the second controller computing device when the system identifier data matches the partner system identifier data. 
 
     
     
       13. The device of  claim 1 , wherein the processor is further configured to be capable of executing programmed instructions, which comprise the programmed instructions stored in the memory to:
 obtain an acknowledgement from the second controller computing device after sending the system identifier data to the second controller computing device. 
 
     
     
       14. The device of  claim 1 , wherein the plurality of storage devices comprises storage ownership data to indicate ownership of the plurality of storage devices by the controller computing device and wherein the processor is further configured to be capable of executing programmed instructions, which comprise the programmed instructions stored in the memory to:
 update the storage ownership data in the plurality of storage devices to indicate that the plurality of storage devices are owned by the second controller computing device, wherein the storage ownership data comprises individual device data for each one of the plurality of storage devices or RAID (Redundant Array of Independent Disks) data for an aggregation of the plurality of storage devices. 
 
     
     
       15. The medium of  claim 3 , further having stored thereon instructions for performing a method comprising machine executable code which when executed by at least one machine, causes the machine to:
 obtain a partner controller state from the second controller computing device, wherein the partner controller state comprises an indication that the giveback procedure has been initiated or that the second controller computing device is waiting for the giveback procedure. 
 
     
     
       16. The medium of  claim 3 , further having stored thereon instructions for performing a method comprising machine executable code which when executed by at least one machine, causes the machine to:
 send at least one inquiry for system identifier data to the second controller computing device when the system identifier data matches the partner system identifier data. 
 
     
     
       17. The medium of  claim 3 , further having stored thereon instructions for performing a method comprising machine executable code which when executed by at least one machine, causes the machine to:
 obtain an acknowledgement from the second controller computing device after sending the system identifier data to the second controller computing device. 
 
     
     
       18. The medium of  claim 3 , wherein the plurality of storage devices comprises storage ownership data to indicate ownership of the plurality of storage devices by the controller computing device and further having stored thereon instructions for performing a method comprising machine executable code which when executed by at least one machine, causes the machine to:
 update the storage ownership data in the plurality of storage devices to indicate that the plurality of storage devices are owned by the second controller computing device, wherein the storage ownership data comprises individual device data for each one of the plurality of storage devices or RAID (Redundant Array of Independent Disks) data for an aggregation of the plurality of storage devices.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.