IP Library Granted Patent US 9,594,614
Granted Patent B2
US 9,594,614 · App. 14/015,910 · Granted Mar 14, 2017

Methods for transitioning control between two controllers of a storage system

Inventors: Vikas Gupta (Santa Clara, CA); Ashutosh Tripathi (Union City, CA); Bob Fozard (Los Gatos, CA); Tomasz Barszczak (Palo Alto, CA)
Assignee: NIMBLE STORAGE, INC.
G06F11/0757G06F11/0727G06F11/2092G06F2201/81
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 9,594,614
App. No.
14/015,910
Granted
Mar 14, 2017
Kind
B2
Abstract

Described herein are methods for transitioning control between a first and second controller of a storage system. In such transition, the first controller transmits a message to a memory element shared by the first and second controllers, the message capable of notifying the second controller of an imminent failure of the first controller. The second controller receives the message from the shared memory element, the message notifying the second controller of an imminent failure of the first controller. Subsequent to transmitting the message to the shared memory element, the first controller becomes unavailable to facilitate access to the storage devices of the storage system. Subsequent to receiving the message from the shared memory element, the second controller becomes available to facilitate access to the storage devices of the storage system.

Claims (29)

1. A method for a storage system, the storage system including a first controller, a second controller and a plurality of storage devices, each of the first and second controllers communicatively coupled to each one of the storage devices, the method comprising:

predicting an imminent failure of the first controller;

transmitting a message from the first controller to a memory element shared by the first and second controllers, the message, when received by the second controller, notifying the second controller of the imminent failure of the first controller, wherein the transmission of the message is not in response to a detection of a failure event of the first controller; and

subsequent to transmitting the message to the shared memory element and prior to the second controller receiving the message, entering a failure state in which the first controller is unable to facilitate access to the storage devices.

2. The method of claim 1 , wherein the storage devices comprise a plurality of hybrid storage units that include both hard disks and flash drives.

3. The method of claim 1 , wherein the shared memory element is part of the storage devices.

4. The method of claim 1 , wherein the shared memory element is separate from the storage devices.

5. The method of claim 1 , wherein the shared memory element is located on a quorum device configured to arbitrate whether the first or second controller facilitates access to the storage devices.

6. The method of claim 1 , further comprising: receiving by the second controller the message from the shared memory element, wherein subsequent to receiving the message from the shared memory element, the second controller becomes available to facilitate access to the storage devices.

7. The method of claim 6 , further comprising the second controller periodically polling the shared memory element for messages from the first controller.

8. A storage system comprising a first controller, a second controller and a plurality of storage devices, each of the first and second controllers communicatively coupled to each one of the storage devices, wherein the first controller is configured to:

predict an imminent failure of the first controller;

transmit a message to a memory element shared by the first and second controllers, the message, when received by the second controller, notifying the second controller of the imminent failure of the first controller, wherein the transmission of the message is not in response to a detection of a failure event of the first controller; and

subsequent to transmitting the message to the shared memory element and prior to the second controller receiving the message, enter a failure state in which the first controller is unable to facilitate access to the storage devices.

9. The storage system of claim 8 , wherein the storage devices comprise a plurality of hybrid storage units that include both hard disks and flash drives.

10. The storage system of claim 8 , wherein the shared memory element is part of the storage devices.

11. The storage system of claim 8 , wherein the shared memory element is separate from the storage devices.

12. The storage system of claim 8 , wherein the shared memory element is located on a quorum device configured to arbitrate whether the first or second controller facilitates access to the storage devices.

13. The storage system of claim 8 , wherein the second controller is configured to receive the message from the shared memory element, wherein subsequent to receiving the message from the shared memory element, the second controller becomes available to facilitate access to the storage devices.

14. The storage system of claim 13 , wherein the second controller is further configured to periodically poll the shared memory element for messages from the first controller.

15. A non-transitory machine-readable storage medium for a storage system having a first controller, a second controller and a plurality of storage devices, each of the first and second controllers communicatively coupled to each one of the storage devices, the non-transitory machine-readable storage medium comprising software instructions that, when executed by the first controller, cause the first controller to:

predict an imminent failure of the first controller;

transmit a message to a memory element shared by the first and second controllers, the message, when received by the second controller, notifying the second controller of the imminent failure of the first controller, wherein the transmission of the message is not in response to a detection of a failure event of the first controller; and

subsequent to transmitting the message to the shared memory element and prior to the second controller receiving the message, enter a failure state in which the first controller is unable to facilitate access to the storage devices.

16. The non-transitory machine-readable storage medium of claim 15 , wherein the storage devices comprise a plurality of hybrid storage units that include both hard disks and flash drives.

17. The non-transitory machine-readable storage medium of claim 15 , wherein the shared memory element is part of the storage devices.

18. The non-transitory machine-readable storage medium of claim 15 , wherein the shared memory element is separate from the storage devices.

19. The non-transitory machine-readable storage medium of claim 15 , wherein the shared memory element is located on a quorum device configured to arbitrate whether the first or second controller facilitates access to the storage devices.

20. The non-transitory machine-readable storage medium of claim 15 , further comprising software instructions that, when executed by the second controller, cause the second controller to receive the message from the shared memory element, wherein subsequent to receiving the message from the shared memory element, the second controller becomes available to facilitate access to the storage devices.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2017
From: NIMBLE STORAGE, INC.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 042810/0906 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2014
From: GUPTA, VIKAS; TRIPATHI, ASHUTOSH; FOZARD, BOB; BARSZCZAK, TOMASZ
To: NIMBLE STORAGE, INC.
Reel/Frame 032718/0206 →
Continuity (1)
Related Publication 20150067413A1 · Mar 5, 2015