IP Library Granted Patent US 8,103,754
Granted Patent B1
US 8,103,754 · App. 10/138,990 · Granted Jan 24, 2012

Reserving a shared volume in a multiple node data storage system

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 8,103,754
App. No.
10/138,990
Granted
Jan 24, 2012
Kind
B1
Abstract

A method for reserving a shared volume in a multiple node data storage system is disclosed. The method ensures that only one host at a time has access to the shared volume. As a result, the data/information stored in the shared volume cannot become corrupted due to multiple hosts accessing the shared volume at the same time through different nodes.

Claims (42)

1. A method for reserving a shared volume in a data storage system, comprising:

nodes of the data storage system each storing a reservation status of the shared volume, the shared volume being accessible by hosts via the nodes, the reservation status being unreserved when the shared volume is available for host access, the reservation status being reserved when the shared volume is unavailable for host access;

a node in the data storage system receiving a request from a host to use the shared volume;

in response to receiving the request, the node sending the request to a reservation system of the data storage system, the reservation system being located on one of the nodes of the data storage system; and

in response to receiving the request, the reservation system reserving the shared volume for the host when the reservation status indicates that the shared volume is unreserved, wherein said reserving comprises the reservation system sending a reservation set request to the nodes to change the reservation status on the nodes.

2. The method of claim 1 , wherein the node that originates the request is connected to the host.

3. The method of claim 2 , after the reservation system receives the request, further comprising:

the reservation system storing the request in an event list, wherein requests in the event list are processed in a first in, first out manner.

4. The method of claim 3 , after the reservation system stores the request in the event list, further comprising:

the reservation system retrieving the request from the event list; and

the reservation system sending a reservation status request to the node that originates the request.

5. The method of claim 3 , after the reservation system stores the request in the event list, further comprising:

the reservation system retrieving the request from the event list;

the reservation system sending a reservation status request to the node that originates the request; and

the reservation system receiving a reservation status response from the node that originates the request.

6. The method of claim 3 , after the reservation system stores the request in the event list, further comprising:

the reservation system retrieving the request from the event list;

the reservation system sending a reservation status request to the node that originates the request;

the reservation system receiving a reservation status response from the node that originates the request; and

the reservation system determining the reservation status of the shared volume based on the reservation status response.

7. The method of claim 1 , further comprising:

the reservation system sending information through the node to the host indicating that the host cannot use the shared volume if the node has the reservation status set as reserved.

8. The method of claim 1 , further comprising:

the reservation system sending information through the node to the host indicating that the host can use the shared volume if the node has the reservation status set as unreserved.

9. The method of claim 1 , further comprising:

the reservation system receiving a release request from the host.

10. A non-transitory computer-readable storage medium storing a computer program executable by a processing device, the computer program comprising computer instructions for: a reservation system of a data storage system receiving a request from a host through a node of the data storage system to use a shared volume on nodes of the data storage system; in response to the request, the reservation system sending a reservation status request to the node that originates the request; the reservation system receiving a reservation status response from the node that originates the request and determining the reservation status; and in response to the reservation status response, the reservation system reserving the shared volume for the host if the reservation status is set as unreserved, wherein said reserving comprises the reservation system sending a reservation set request to the nodes to change the reservation status on the nodes to reserved.

11. The non-transitory computer readable storage medium of claim 10 , wherein the node that originates the request is connected to the host.

12. The non-transitory computer readable storage medium of claim 11 , after the reservation system receives the request, further comprising: the reservation system storing the request in an event list and processing all requests in the event list in a first in, first out manner.

13. The non-transitory computer readable storage medium of claim 10 , wherein the computer program further comprises computer instructions for: the reservation system sending information to the host indicating that the host cannot use the volume if the reservation status is set as reserved.

14. The non-transitory computer readable storage medium of claim 10 , wherein the computer program further comprises computer instructions for: the reservation system sending information to the host indicating that the host can use the shared volume if the reservation status is set as unreserved.

15. The non-transitory computer readable storage medium of claim 10 , wherein the computer program further comprises computer instructions for: the reservation system receiving a release request from the host.

16. A data storage system, comprising:

a plurality of storage devices operable to store data, wherein a shared volume is implemented on the storage devices;

a plurality of nodes operable to provide access to the storage devices for one or more host devices, each node operable to store a reservation status for the shared volume, the reservation status being unreserved when the shared volume is available for host access, the reservation status being reserved when the shared volume is unavailable for host access; and

a reservation system implemented on one or more of the nodes, the reservation system operable to:

receive a request from a host through a node of the data storage system to use the shared volume;

in response to the request, send a reservation status request to the node that originates the request;

receive a reservation status response from the node that originates the request;

in response to the reservation status response:

determine the reservation status from the reservation status response; and

reserve the shared volume for the host when the reservation status indicates that the shared volume is unreserved by sending a reservation set request to the nodes to change the reservation status on the nodes to reserved.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 10, 2011
From: 3PAR INC.
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 026250/0322 →
CHANGE OF NAME Recorded Feb 28, 2008
From: 3PARDATA, INC.
To: 3PAR INC.
Reel/Frame 020571/0664 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 2, 2002
From: LUONG, HOA V.; THOMAS, SUSHIL
To: 3PARDATA, INC.
Reel/Frame 012891/0492 →