IP Library › Granted Patent US 10,346,220
Granted Patent B2
US 10,346,220 · App. 15/630,883 · Granted Jul 9, 2019

Method and system for locking storage area in storage system

Inventors: Yousheng Liu (Beijing, CN); Jamin Jianbin Kang (Beijing, CN); Xinlei Xu (Beijing, CN); Ruiyong Jia (Beijing, CN); Jian Gao (Beijing, CN); Lifeng Yang (Beijing, CN)
Assignee: EMC IP Holding Company LLC
G06F9/526G06F3/0604G06F3/0622G06F3/0689G06F13/26
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 10,346,220
App. No.
15/630,883
Filed
Jun 22, 2017
Granted
Jul 9, 2019
Kind
B2
Art Unit
2184
USPC
710/200
Abstract

A method and a system for locking a storage area in a storage system. There is provided a method for locking a storage system in a storage system, where the storage system comprises a first controller, a second controller, a first communication area and a second communication area. The method comprises: a first lock flag associated with the storage area is written to the first communication area in response to receiving at the first controller a data access request with respect to the storage area, where the first communication area being readable and writable to the first controller and being readable to the second controller. A second lock flag associated with the storage area is read from the second communication area, where the second communication area being readable to the first controller and being readable and writable to the second controller. The storage area is locked by the first controller in response to the second lock flag indicating that the storage area is not locked by the second controller.

Claims (66)

1. A method for locking a storage area in a storage system, the storage system comprising a first controller, a second controller, a first communication area and a second communication area, the method comprising:

in response to receiving at the first controller a data access request with respect to the storage area, writing to the first communication area a first lock flag associated with the storage area, the first communication area being readable and writable to the first controller and being readable to the second controller;

reading from the second communication area a second lock flag associated with the storage area, the second communication area being readable to the first controller and being readable and writable to the second controller;

in response to the second lock flag indicating that the storage area is not locked by the second controller, locking the storage area by the first controller; and

in response to the second lock flag indicating that the storage area is locked by the second controller:

reading from the first communication area a first priority associated with the first lock flag and reading from the second communication area a second priority associated with the second lock flag; and

locking the storage area based on a comparison between the first priority and the second priority.

2. The method according to claim 1 , wherein the locking the storage area based on a comparison between the first priority and the second priority comprises:

in response to the first priority being lower than the second priority, unlocking the storage area by the first controller, and updating the first lock flag to “unlocked”.

3. The method according to claim 1 , wherein the locking the storage area based on a comparison between the first priority and the second priority comprises:

in response to the first priority being higher than the second priority, unlocking the storage area by the second controller, and updating the second lock flag to “unlocked”.

4. The method according to claim 3 , further comprising:

locking the storage area by the first controller.

5. A method for locking a storage area in a storage system, the storage system comprising a first controller, a second controller, a first communication area and a second communication area, the method comprising:

in response to receiving at the first controller a data access request with respect to the storage area, writing to the first communication area a first lock flag associated with the storage area, the first communication area being readable and writable to the first controller and being readable to the second controller;

reading from the second communication area a second lock flag associated with the storage area, the second communication area being readable to the first controller and being readable and writable to the second controller; and

in response to the second lock flag indicating that the storage area is not locked by the second controller, locking the storage area by the first controller,

wherein the writing to the first communication area a first lock flag comprises:

determining an address of a lock flag associated with the storage area based on lock metadata contained in the storage system; and

writing the first lock flag to the address so as to indicate that the storage area is locked by the first controller.

6. The method according to claim 1 , further comprising:

in response to the data access request at the first controller with respect to the storage area having been completed, updating the first priority to be lower than the second priority.

7. A method for locking a storage area in a storage system, the storage system comprising a first controller, a second controller, a first communication area and a second communication area, the method comprising:

in response to receiving at the first controller a data access request with respect to the storage area, writing to the first communication area a first lock flag associated with the storage area, the first communication area being readable and writable to the first controller and being readable to the second controller;

reading from the second communication area a second lock flag associated with the storage area, the second communication area being readable to the first controller and being readable and writable to the second controller;

in response to the second lock flag indicating that the storage area is not locked by the second controller, locking the storage area by the first controller, wherein the storage system comprises a plurality of storage devices, and the first communication area is deployed across the plurality of storage devices, and wherein the storage system is a Redundant Array of Independent Disks; and

in response to one storage device among the plurality of storage devices degrading, recovering data in the first communication data from other storage devices among the plurality of storage devices.

8. The method according to claim 1 , wherein the storage area is one or more stripes in the storage system.

9. A system for locking a storage area in a storage system, comprising:

one or more processors;

a memory coupled to at least one processor of the one or more processors;

computer program instructions stored in the memory, when executed by the at least one processor, the computer program instructions causing the system to execute a method for locking a storage area in a storage system, the method comprising:

in a storage system comprising a first controller, a second controller, a first communication area and a second communication area, in response to receiving at the first controller a data access request with respect to the storage area, writing to the first communication area a first lock flag associated with the storage area, the first communication area being readable and writable to the first controller and being readable to the second controller;

reading from the second communication area a second lock flag associated with the storage area, the second communication area being readable to the first controller and being readable and writable to the second controller;

in response to the second lock flag indicating that the storage area is not locked by the second controller, locking the storage area by the first controller; and

in response to the second lock flag indicating that the storage area is locked by the second controller;

reading from the first communication area a first priority associated with the first lock flag and reading from the second communication area a second priority associated with the second lock flag; and

locking the storage area based on a comparison between the first priority and the second priority.

10. The system according to claim 9 , wherein the locking the storage area based on a comparison between the first priority and the second priority comprises:

in response to the first priority being lower than the second priority, unlocking the storage area by the first controller, and updating the first lock flag to “unlocked”.

11. The system according to claim 9 , wherein the locking the storage area based on a comparison between the first priority and the second priority comprises:

in response to the first priority being higher than the second priority,

unlocking the storage area by the second controller; and

updating the second lock flag to “unlocked”.

12. The system according to claim 11 , wherein the method further comprises:

locking the storage area by the first controller.

13. A system for locking a storage area in a storage system, comprising:

one or more processors;

a memory coupled to at least one processor of the one or more processors;

computer program instructions stored in the memory, when executed by the at least one processor, the computer program instructions causing the system to execute a method for locking a storage area in a storage system, the method comprising:

in a storage system comprising a first controller, a second controller, a first communication area and a second communication area, in response to receiving at the first controller a data access request with respect to the storage area, writing to the first communication area a first lock flag associated with the storage area, the first communication area being readable and writable to the first controller and being readable to the second controller;

reading from the second communication area a second lock flag associated with the storage area, the second communication area being readable to the first controller and being readable and writable to the second controller; and

in response to the second lock flag indicating that the storage area is not locked by the second controller, locking the storage area by the first controller,

wherein the writing to the first communication area a first lock flag comprises:

determining an address of a lock flag associated with the storage area based on lock metadata contained in the storage system; and

writing the first lock flag to the address so as to indicate that the storage area is locked by the first controller.

14. The system according claim 9 , wherein the method further comprises:

in response to the data access request of the first controller with respect to the storage area having been completed, updating the first priority to be lower than the second priority.

15. A system for locking a storage area in a storage system, comprising:

one or more processors;

a memory coupled to at least one processor of the one or more processors;

computer program instructions stored in the memory, when executed by the at least one processor, the computer program instructions causing the system to execute a method for locking a storage area in a storage system, the method comprising:

in a storage system comprising a first controller, a second controller, a first communication area and a second communication area, in response to receiving at the first controller a data access request with respect to the storage area, writing to the first communication area a first lock flag associated with the storage area, the first communication area being readable and writable to the first controller and being readable to the second controller;

reading from the second communication area a second lock flag associated with the storage area, the second communication area being readable to the first controller and being readable and writable to the second controller;

in response to the second lock flag indicating that the storage area is not locked by the second controller, locking the storage area by the first controller, wherein the storage system comprises a plurality of storage devices, and the first communication area is deployed across the plurality of storage devices, and wherein the storage system is a Redundant Array of Independent Disks; and

in response to one storage device among the plurality of storage devices degrading, recovering data in the first communication data from other storage devices among the plurality of storage devices.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (043775/0082) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060958/0468 →
RELEASE OF SECURITY INTEREST AT REEL 043772 FRAME 0750 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0606 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Sep 6, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 043772/0750 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Sep 6, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 043775/0082 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2017
From: LIU, YOUSHENG; KANG, JAMIN JIANBIN; XU, XINLEI; JIA, RUIYONG; GAO, JIAN; YANG, LIFENG
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 042794/0756 →
Priority Claims (1)
CN 2016 1 0459979 · Jun 22, 2016 · national
Continuity (1)
Related Publication 20180165134A1 · Jun 14, 2018
Cited By (2)
US 12,254,900 US 12,322,414