IP Library Granted Patent US 9,274,901
Granted Patent B2
US 9,274,901 · App. 14/085,465 · Granted Mar 1, 2016

I/O request mirroring in a clustered storage system

Inventors: Sridhar Rao Veerla (Bangalore, IN); Naveen Krishnamurthy (Bangalore, IN)
Assignee: Avago Technologies General IP (Singapore) Pte. Ltd.
G06F11/167G06F11/0727G06F11/1092G06F11/1612G06F11/2023G06F11/2053
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,274,901
App. No.
14/085,465
Granted
Mar 1, 2016
Kind
B2
Abstract

Clustered storage systems and methods are presented herein. One clustered storage system includes a logical volume comprising first and second pluralities of storage devices. The first plurality of storage devices is different from the second plurality of storage devices and includes at least the same data as the second plurality of devices. The storage system also includes a first storage node operable to process first I/O requests to the first plurality of storage devices and a second storage node communicatively coupled to the first storage node and operable to process second I/O requests to the second plurality of storage devices. An I/O request of the first I/O requests initiates a redirection condition that the first storage node detects. Then, based on the redirection condition, the first storage node directs the second storage node to process data of the I/O request.

Claims (59)

1. A storage system, comprising:

a logical volume comprising first and second sets of storage devices, wherein the first set of storage devices is different from the second set of storage devices and includes at least the same data as the second set of storage devices,

a first storage node operable to process input/output (I/O) requests from an initiator that are directed to the first set of storage devices; and

a second storage node communicatively coupled to the first storage node and operable to process I/O requests that are from the initiator and are directed to the second set of storage devices,

wherein the second storage node is operable to assume ownership of the first set of storage devices in response to detecting a redirection condition indicating a failover, and to update the first set of storage devices based on I/O requests that are directed to the second set of storage devices.

2. The storage system of claim 1 , wherein:

the second storage node is further operable to update the first set of storage devices with data from I/O requests directed to the second set of storage devices.

3. The storage system of claim 1 , wherein:

the first storage node is further operable to detect a failure of one of the first set of storage devices, and to direct the second storage node to copy data from the second set of storage devices, corresponding to Logical Block Addresses (LBAs) stored by the failed storage device, into a spare storage device.

4. The storage system of claim 3 , wherein:

the first storage node is further operable to assume control of the spare storage device and to process I/O requests directed to the first set of storage devices by updating the spare storage device.

5. The storage system of claim 3 , wherein:

the first storage node is further operable to direct the second storage node to update the spare storage device based on I/O requests directed to the first set of storage devices.

6. The storage system of claim 1 , wherein:

the second storage node is further operable to update the first set of storage devices with data that was previously applied to the second set of storage devices.

7. The storage system of claim 6 , wherein:

the first storage node is further operable to generate a command for the second storage node based on a received I/O request, and to acknowledge processing of the received I/O request to an initiator of the received I/O request.

8. A method operable in the storage system comprising a plurality of storage nodes, the method comprising:

communicatively coupling first and second storage nodes of the plurality of storage nodes;

processing input/output (I/O) requests from an initiator that are directed to a first set of storage devices of a logical volume via the first storage node;

processing I/O requests that are from the initiator and are directed to a second set of storage devices of the logical volume via the second storage node,

wherein the first set of storage devices is different from the second set of storage devices and includes at least the same data as the second set of devices,

operating the second storage node to assume ownership of the first set of storage devices in response to detecting a redirection condition indicating a failover; and

updating the first set of storage devices based on I/O requests that are directed to the second set of storage devices.

9. The method of claim 8 , further comprising:

operating the second storage node to update the first set of storage devices with data from I/O requests directed to the second set of storage devices.

10. The method of claim 8 , wherein:

the method further comprises, via the first storage node:

detecting a failure of one of the first set of storage devices; and

directing the second storage node to copy data from the second set of storage devices, corresponding to Logical Block Addresses (LBAs) stored by the failed storage device, into a spare storage device.

11. The method of claim 10 , further comprising, via the first storage node:

assuming control of the spare storage device; and

processing I/O requests directed to the first set of storage devices by updating the spare storage device.

12. The method of claim 10 , further comprising, via the first storage node:

directing the second storage node to update the spare storage device based on I/O requests directed to the first set of storage devices.

13. The method of claim 8 , further comprising:

operating the second storage node to update the first set of storage devices with data that was previously applied to the second set of storage devices.

14. The method of claim 13 , further comprising, via the first storage node:

generating a command for the second storage node based on a received I/O request; and

acknowledging processing of the received I/O request to an initiator of the received I/O request.

15. A non-transitory computer readable medium comprising instructions that, when executed in a storage system comprising a plurality of storage nodes, direct at least first and second storage nodes of the plurality of storage nodes to:

communicatively couple the first and second storage nodes;

process input/output (I/O) requests from an initiator that are directed to a first set of storage devices of a logical volume via the first storage node;

process I/O requests that are from the initiator and are directed to a second set of storage devices of the logical volume via the second storage node,

wherein the first set of storage devices is different from the second set of storage devices and includes at least the same data as the second set of devices,

operate the second storage node to assume ownership of the first set of storage devices in response to detecting a redirection condition indicating a failover; and

update the first set of storage devices based on I/O requests that are directed to the second set of storage devices.

16. The computer readable medium of claim 15 , wherein the instructions further direct the second storage node to:

operate the second storage node to update the first set of storage devices with data from I/O requests directed to the second set of storage devices.

17. The computer readable medium of claim 15 , wherein the instructions further direct the first storage node to:

detect a failure of one of the first set of storage devices; and

direct the second storage node to copy data from the second set of storage devices, corresponding to Logical Block Addresses (LBAs) stored by the failed storage device, into a spare storage device.

18. The computer readable medium of claim 17 , further comprising instructions that direct the first storage node to:

assume control of the spare storage device; and

process I/O requests directed to the first set of storage devices by updating the spare storage device.

19. The computer readable medium of claim 17 , further comprising instructions that direct the first storage node to:

direct the second storage node to update the spare storage device based on I/O requests directed to the first set of storage devices.

20. The computer readable medium of claim 15 , wherein the instructions further direct the second storage node to:

update the first set of storage devices with data that was previously applied to the second set of storage devices.

Assignments (8)
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE PREVIOUSLY RECORDED AT REEL: 047422 FRAME: 0464. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 6, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 048883/0702 →
MERGER Recorded Oct 5, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047422/0464 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041710/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037808/0001 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031) Recorded Feb 2, 2016
From: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
To: LSI CORPORATION; AGERE SYSTEMS LLC
Reel/Frame 037684/0039 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2015
From: LSI CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 035390/0388 →
PATENT SECURITY AGREEMENT Recorded May 8, 2014
From: LSI CORPORATION; AGERE SYSTEMS LLC
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 032856/0031 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2013
From: VEERLA, SRIDHAR RAO; KRISHNAMURTHY, NAVEEN
To: LSI CORPORATION
Reel/Frame 031642/0680 →
Continuity (1)
Related Publication 20150143164A1 · May 21, 2015