IP Library Granted Patent US 11,287,988
Granted Patent B2
US 11,287,988 · App. 16/839,799 · Granted Mar 29, 2022

Autonomous raid data storage device locking system

Inventors: Gary Benedict Kotzur (Austin, TX); William Emmett Lynn (Round Rock, TX); Kevin Thomas Marks (Georgetown, TX); Chandrashekar Nelogal (Round Rock, TX); James Peter Giannoules (Round Rock, TX); Austin Patrick Bolen (Austin, TX)
Assignee: Dell Products L.P.
G06F3/0619G06F3/0644G06F3/0659G06F3/0689G06F11/1096
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 11,287,988
App. No.
16/839,799
Granted
Mar 29, 2022
Kind
B2
Abstract

An autonomous RAID data storage device locking system includes first RAID data storage device(s) that store data included in a data stripe, and that are coupled to a second RAID data storage device. The second RAID data storage device receives a command to perform a data update operation on a subset of data included in the data stripe, and transmits a locking request to each first RAID data storage device. When the second RAID data storage device receives a locking confirmation that indicates that each first RAID data storage device is locked, it completes the data update operation on the subset of data included in the data stripe. The second RAID data storage device then transmits an unlocking request to each first RAID data storage device to cause them to unlock, and transmits a completion communication that indicates that the data update operation has been performed.

Claims (74)

1. An autonomous Redundant Array of Independent Disks (RAID) data storage device locking system, comprising:

a plurality of first Redundant Array of Independent Disks (RAID) data storage devices that store data that is included in a data stripe; and

a second RAID data storage device that is coupled to the plurality of first RAID data storage devices and that is configured to:

receive a command to perform a data update operation on a subset of data that is included in the data stripe;

transmit a locking request to each of the plurality of first RAID data storage devices;

receive at least one locking confirmation that indicates that each of the plurality of first RAID data storage devices is locked such that no changes may be made to the data that is included in the data stripe and stored on the plurality of first RAID data storage devices;

complete, in response to receiving the at least one locking confirmation, the data update operation on the subset of data that is included in the data stripe;

transmit, in response to completing the data update operation, an unlocking request to each of the plurality of first RAID data storage devices to cause each of the plurality of first RAID data storage devices to unlock; and

transmit a completion communication that indicates that the data update operation has been performed.

2. The system of claim 1 , wherein the locking request is a first multicast communication, and wherein the unlocking request is a second multicast communication.

3. The system of claim 1 , wherein the second RAID data storage device is configured to:

begin the data update operation on a first portion of the subset of data that is included in the data stripe prior to transmitting the locking request to each of the plurality of first RAID data storage devices; and

complete the data update operation on a second portion of the subset of data that is included in the data stripe subsequent to receiving the locking confirmation.

4. The system of claim 3 , wherein the data update operation on the first portion of the subset of data that is included in the data stripe includes:

retrieving updated primary data that provides an update to current primary data that is included in the data stripe and that is stored on the second RAID data storage device;

performing an XOR operation on the current primary data and the updated primary data to generate interim parity data; and

updating the current primary data with the updated primary data.

5. The system of claim 4 , wherein the data update operation on the second portion of the subset of data that is included in the data stripe includes causing a third RAID data storage device to:

retrieve the interim parity data; and

perform an XOR operation on current parity data that is included in the data stripe and that is stored on the third RAID data storage device to generate updated parity data; and

update the current parity data with the updated parity data.

6. The system of claim 1 , wherein the second RAID data storage device is configured to:

transmit a peer-to-peer command directly to a third RAID data storage device to cause the third RAID data storage device to complete the data update operation on the subset of data that is included in the data stripe.

7. The system of claim 1 , further comprising:

a switch device that is coupled to each of the plurality of first RAID data storage devices and the second RAID data storage device, wherein the switch device is configured to:

receive a respective locking acknowledgement from each of the plurality of first RAID data storage devices; and

transmit, in response to receiving the respective locking acknowledgement from each of the plurality of first RAID data storage device, the at least one locking confirmation to the second RAID data storage device that is provided by a single locking confirmation.

8. An Information Handling System (IHS), comprising:

a processing system; and

a memory system that is coupled to the processing system and that includes instructions that, when executed by the processing system, cause the processing system to provide a Redundant Array of Independent Disks (RAID) data storage engine that is configured to:

receive a command to perform a data update operation on a subset of data that is included in a data stripe;

transmit a locking request to each of a plurality of first RAID data storage device that store data that is included in the data stripe;

receive at least one locking confirmation that indicates that each of the plurality of first RAID data storage devices is locked such that no changes may be made to the data that is included in the data stripe and stored on the plurality of first RAID data storage devices;

complete, in response to receiving the at least one locking confirmation, the data update operation on the subset of data that is included in the data stripe;

transmit, in response to completing the data update operation, an unlocking request to each of the plurality of first RAID data storage devices to cause each of the plurality of first RAID data storage devices to unlock; and

transmit a completion communication that indicates that the data update operation has been performed.

9. The IHS of claim 8 , wherein the locking request is a first multicast communication, and wherein the unlocking request is a second multicast communication.

10. The IHS of claim 8 , wherein the RAID data storage engine is configured to:

begin the data update operation on a first portion of the subset of data that is included in the data stripe prior to transmitting the locking request to each of the plurality of first RAID data storage devices; and

complete the data update operation on a second portion of the subset of data that is included in the data stripe subsequent to receiving the locking confirmation.

11. The IHS of claim 10 , wherein the data update operation on the first portion of the subset of data that is included in the data stripe includes:

retrieving updated primary data that provides an update to current primary data that is included in the data stripe and that is stored in a storage system that is coupled to the processing system;

performing an XOR operation on the current primary data and the updated primary data to generate interim parity data; and

updating the current primary data with the updated primary data.

12. The IHS of claim 11 , wherein the data update operation on the second portion of the subset of data that is included in the data stripe includes causing a second RAID data storage device to:

retrieve the interim parity data; and

perform an XOR operation on current parity data that is included in the data stripe and that is stored on the second RAID data storage device to generate updated parity data; and

update the current parity data with the updated parity data.

13. The IHS of claim 8 , wherein the RAID data storage engine is configured to:

transmit a peer-to-peer command directly to a second RAID data storage device to cause the second RAID data storage device to complete the data update operation on the subset of data that is included in the data stripe.

14. A method for autonomously locking Redundant Array of Independent Disks (RAID) data storage devices, comprising:

receiving, by a first Redundant Array of Independent Disks (RAID) data storage device, a command to perform a data update operation on a subset of data that is included in a data stripe;

transmitting, by the first RAID data storage device, a locking request to each of a plurality of second RAID data storage devices that store data that is included in the data stripe;

receiving, by the first RAID data storage device, at least one locking confirmation that indicates that each of the plurality of second RAID data storage devices is locked such that no changes may be made to the data that is included in the data stripe and stored on the plurality of first RAID data storage devices;

completing, by the first RAID data storage device in response to receiving the at least one locking confirmation, the data update operation on the subset of data that is included in the data stripe;

transmitting, by the first RAID data storage device in response to completing the data update operation, an unlocking request to each of the plurality of second RAID data storage devices to cause each of the plurality of second RAID data storage devices to unlock; and

transmitting, by the first RAID data storage device, a completion communication that indicates that the data update operation has been performed.

15. The method of claim 14 , wherein the locking request is a first multicast communication, and wherein the unlocking request is a second multicast communication.

16. The method of claim 14 , further comprising:

beginning, by the first RAID data storage device, the data update operation on a first portion of the subset of data that is included in the data stripe prior to transmitting the locking request to each of the plurality of second RAID data storage devices; and

completing, by the first RAID data storage device, the data update operation on a second portion of the subset of data that is included in the data stripe subsequent to receiving the locking confirmation.

17. The method of claim 16 , wherein the data update operation on the first portion of the subset of data that is included in the data stripe includes:

retrieving, by the first RAID data storage device, updated primary data that provides an update to current primary data that is included in the data stripe and that is stored in the first RAID data storage device;

performing, by the first RAID data storage device, an XOR operation on the current primary data and the updated primary data to generate interim parity data; and

updating, by the first RAID data storage device, the current primary data with the updated primary data.

18. The method of claim 17 , wherein the data update operation on the second portion of the subset of data that is included in the data stripe includes the first RAID data storage device causing a third RAID data storage device to:

retrieve the interim parity data; and

perform an XOR operation on current parity data that is included in the data stripe and that is stored on the second RAID data storage device to generate updated parity data; and

update the current parity data with the updated parity data.

19. The method of claim 14 , further comprising:

transmitting, by the first RAID data storage device, a peer-to-peer command directly to a third RAID data storage device to cause the third RAID data storage device to complete the data update operation on the subset of data that is included in the data stripe.

20. The method of claim 14 , further comprising:

receiving, by a switch device coupled to the first RAID data storage device and each of the plurality of second RAID data storage devices, a respective locking acknowledgement from each of the plurality of second RAID data storage devices; and

transmitting, by the switch device in response to receiving the respective locking acknowledgement from each of the plurality of second RAID data storage device, the at least one locking confirmation to the first RAID data storage device that is provided by a single locking confirmation.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0081) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0441 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0917) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0509 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052852/0022) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0582 →
RELEASE OF SECURITY INTEREST AT REEL 052771 FRAME 0906 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0298 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052852/0022 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0081 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0917 →
SECURITY AGREEMENT Recorded May 28, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052771/0906 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2020
From: KOTZUR, GARY BENEDICT; LYNN, WILLIAM EMMETT; MARKS, KEVIN THOMAS; NELOGAL, CHANDRASHEKAR; GIANNOULES, JAMES PETER; BOLEN, AUSTIN PATRICK
To: DELL PRODUCTS L.P.
Reel/Frame 052308/0759 →