IP Library Granted Patent US 9,542,272
Granted Patent B2
US 9,542,272 · App. 14/223,488 · Granted Jan 10, 2017

Write redirection in redundant array of independent disks systems

Inventors: Naveen Krishnamurthy (Bangalore, IN); Sridhar Rao Veerla (Bangalore, IN)
Assignee: Avago Technologies General IP (Singapore) Pte. Ltd.
G06F11/1092G06F3/064G06F3/0619G06F3/0689G06F11/1088
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,542,272
App. No.
14/223,488
Granted
Jan 10, 2017
Kind
B2
Abstract

Methods and structure for redirecting writes in Redundant Array of Independent Disks (RAID) systems are provided. One exemplary embodiment is a RAID controller that includes a memory and a control unit. The memory is able to store mapping information that correlates Logical Block Addresses of a RAID volume with physical addresses of storage devices. The control unit is able to generate a request to write volume data to at least one of the physical addresses, to determine that a storage device has failed to complete the request, to alter the mapping information by correlating Logical Block Addresses for the request with physical addresses of a spare storage device, to redirect the request to the spare storage device, and to rebuild remaining Logical Block Addresses that are correlated with the storage device that failed.

Claims (48)

1. A Redundant Array of Independent Disks (RAID) controller comprising:

a memory operable to store mapping information that correlates Logical Block Addresses of a Redundant Array of Independent Disks volume with physical addresses of storage devices; and

at least one processor operable to generate a request to write volume data to at least one of the physical addresses, to determine that a storage device has failed to complete the request, to alter the mapping information by correlating Logical Block Addresses for the request with physical addresses of a spare storage device, to redirect the request to the spare storage device based on the altered mapping information, and to rebuild remaining Logical Block Addresses that are correlated with the storage device that failed, the remaining Logical Block Addresses excluding Logical Block Addresses associated with the request.

2. The RAID controller of claim 1 , wherein:

the at least one processor is further operable to rebuild the remaining Logical Block Addresses onto the spare storage device, and to update the mapping information by correlating the remaining Logical Block Addresses with physical addresses of the spare storage device.

3. The RAID controller of claim 1 , wherein:

the at least one processor is further operable to rebuild the remaining Logical Block Addresses by performing exclusive OR operations based on parity data within each stripe of volume data.

4. The RAID controller of claim 1 , wherein:

the at least one processor is further operable to generate read requests directed to the storage device that failed, while rebuilding the remaining Logical Block Addresses of the storage device that failed.

5. The RAID controller of claim 1 , wherein:

the at least one processor is further operable to detect that the storage device that failed has been physically removed and replaced with a new storage device, and to rebuild the remaining Logical Block Addresses onto the new storage device.

6. The RAID controller of claim 1 , wherein:

the storage devices are compliant with at least one of Serial Attached Small Computer System Interface protocol and Serial Advanced Technology Attachment protocol.

7. The RAID controller of claim 1 , wherein:

the at least one processor is further operable to redirect multiple write requests for multiple failed storage devices to the spare storage device.

8. A method for operating a Redundant Array of Independent Disks (RAID) controller, wherein the controller includes a memory storing mapping information that correlates Logical Block Addresses of a Redundant Array of Independent Disks volume with physical addresses of storage devices, the method comprising:

generating a request to write volume data to at least one of the physical addresses;

determining that a storage device has failed to complete the request;

altering the mapping information by correlating Logical Block Addresses for the request with physical addresses of a spare storage device;

redirecting the request to the spare storage device based on the altered mapping information; and

rebuilding remaining Logical Block Addresses that are correlated with the storage device that failed without rebuilding Logical Block Addresses associated with the request.

9. The method of claim 8 , further comprising:

rebuilding the remaining Logical Block Addresses onto the spare storage device; and

updating the mapping information by correlating the remaining Logical Block Addresses with physical addresses of the spare storage device.

10. The method of claim 8 , further comprising:

rebuilding the remaining Logical Block Addresses by performing exclusive OR operations based on parity data within each stripe of volume data.

11. The method of claim 8 , further comprising:

generating read requests directed to the storage device that failed, while rebuilding the remaining Logical Block Addresses of the storage device that failed.

12. The method of claim 8 , further comprising:

detecting that the storage device that failed has been physically removed and replaced with a new storage device; and

rebuilding the remaining Logical Block Addresses onto the new storage device.

13. The method of claim 8 , wherein:

the storage devices are compliant with a protocol selected from the group consisting of Serial Attached Small Computer System Interface and Serial Advanced Technology Attachment.

14. The method of claim 8 , further comprising:

redirecting multiple write requests for multiple failed storage devices to the spare storage device.

15. A storage controller comprising:

means for storing mapping information that correlates Logical Block Addresses of a Redundant Array of Independent Disks volume with physical addresses of storage devices; and

means for generating a request to write volume data to at least one of the physical addresses, determining that a storage device has failed to complete the request, altering the mapping information by correlating Logical Block Addresses for the request with physical addresses of a spare storage device, redirecting the request to the spare storage device based on the altered mapping information, and rebuilding remaining Logical Block Addresses that are correlated with the storage device that failed, the remaining Logical Block Addresses excluding Logical Block Addresses associated with the request.

16. The storage controller of claim 15 , further comprising:

means for rebuilding the remaining Logical Block Addresses onto the spare storage device, and updating the mapping information by correlating the remaining Logical Block Addresses with physical addresses of the spare storage device.

17. The storage controller of claim 15 , further comprising:

means for rebuilding the remaining Logical Block Addresses by performing exclusive OR operations based on parity data within each stripe of volume data.

18. The storage controller of claim 15 , further comprising:

means for generating read requests directed to the storage device that failed, while rebuilding the remaining Logical Block Addresses of the storage device that failed.

19. The storage controller of claim 15 , further comprising:

means for detecting that the storage device that failed has been physically removed and replaced with a new storage device, and rebuilding the remaining Logical Block Addresses onto the new storage device.

20. The storage controller of claim 15 , wherein:

the storage devices are compliant with a protocol selected from the group consisting of Serial Attached Small Computer System Interface and Serial Advanced Technology Attachment.

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 Mar 24, 2014
From: KRISHNAMURTHY, NAVEEN; VEERLA, SRIDHAR RAO
To: LSI CORPORATION
Reel/Frame 032509/0816 →
Continuity (1)
Related Publication 20150269025A1 · Sep 24, 2015