IP Library Granted Patent US 8,984,175
Granted Patent B1
US 8,984,175 · App. 10/832,150 · Granted Mar 17, 2015

Method and apparatus for providing redundant paths to a storage volume

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,984,175
App. No.
10/832,150
Granted
Mar 17, 2015
Kind
B1
Abstract

A method and apparatus for providing a multipathing connection to a storage volume, where in one embodiment, the invention prohibits the disk driver from reading the storage parameter information (e.g., table of contents) upon initialization. The method commences with a multipathing disk driver determining at least on active port and at least on passive port for the storage volume. The disk driver then sends a request via the active port to the storage volume for the storage parameter information that is contained in the disk array. After the host computer's operating system disk driver receives the storage parameter information, it copies the information and distributes the information to the port definitions for the passive ports. Consequently, the ports are defined without causing a failover within the storage volume.

Claims (72)

1. A method in a computer system, comprising:

initializing a disk driver, wherein

the computer system is a host computer comprising the disk driver,

the disk driver is configured to facilitate communications between the host computer and a storage volume,

the host computer is configured to communicate with the storage volume using the disk driver such that the initializing is performed without requesting, during the initializing, storage parameter information from the storage volume, and

the initializing comprises

sending a non-READ/WRITE command to a plurality of ports of

the storage volume, wherein

the storage volume comprises a storage device configured to be coupled to the plurality of ports, and

the non-READ/WRITE command requests port information from a location other than the storage device,

receiving the port information from one or more of the plurality of ports of the storage volume, in response to the non-READ/WRITE command,

identifying an active port and a passive port, using the port information, wherein

the plurality of ports comprises the active port and the passive port,

sending a request to the storage device for the storage parameter information, wherein

the request is sent using the active port,

receiving the storage parameter information, and

copying the storage parameter information to a port definition for the passive port.

2. The method of claim 1 , wherein

the plurality of ports comprises two ports.

3. The method of claim 1 , wherein

the storage parameter information comprises a table of contents of the storage device.

4. The method of claim 1 , wherein

the non-READ/WRITE command comprises an inquiry command

5. The method of claim 1 , wherein

the non-READ/WRITE command comprises a mode sense command.

6. A computer system comprising:

a storage volume; and

a host computer, wherein

 the host computer comprises a plurality of disk drivers,

 the plurality of disk drivers is configured to facilitate communications between the host computer and a storage volume,

 the host computer is configured to perform initialization of the plurality of disk drivers, and

 the plurality of disk drivers comprises

a first disk driver, wherein

as part of the initialization, the first disk driver is configured to

send a non-READ/WRITE command to a plurality of ports of

 the storage volume, wherein

 the storage volume comprises a storage device configured to be coupled to the plurality of ports, and

 the non-READ/WRITE command requests port information from a location other than the storage device,

receive the port information from one or more of the plurality of ports of the storage volume, in response to the non-READ/WRITE command, and

identify at least one active port and at least one passive port of the plurality of ports of the storage volume, using the port information; and

a second disk driver, wherein

as part of the initialization, the second disk driver is configured to

send a request to the storage device for the storage parameter information, wherein

 the request is sent, using the at least one active port, after the at least one port is identified by the first disk driver and after commencement of the initialization,

receive the storage parameter information, and

copy the storage parameter information to a port definition for the at least one passive port.

7. The apparatus of claim 6 , wherein the first and second disk drivers comprise two portions of a single disk driver.

8. The apparatus of claim 6 , wherein the first disk driver comprises a multipathing disk driver.

9. The apparatus of claim 6 , wherein the second disk driver comprises an operating system disk driver.

10. A non-transitory computer-readable storage medium storing program instructions executable by a processor of a computer system to:

initialize a disk driver, wherein

the computer system is a host computer comprising the disk driver,

the disk driver is configured to facilitate communications between the host computer and a storage volume,

the program instructions, upon execution by the host computer, are configured to cause the host computer perform initialization of the disk driver without requesting, during the initialization, storage parameter information from the storage volume, and

the host computer is configured to perform the initialization by virtue of being configured to

send a non-READ/WRITE command to a plurality of ports of the storage volume, wherein

the storage volume comprises a storage device configured to be coupled to the plurality of ports, and

the non-READ/WRITE command requests port information from a location other than the storage device,

receive the port information from one or more of the plurality of ports of the storage volume, in response to the non-READ/WRITE command,

identify at least one active port and at least one passive port of the plurality of ports of the storage volume,

send a request to the storage device for storage parameter information, wherein the request is sent using the at least one active port, using the port information,

receive the storage parameter information, and

copy the storage parameter information to a port definition for the at least one passive port.

11. The non-transitory-computer readable storage medium of claim 10 , wherein

the storage parameter information comprises a table of contents of the storage device.

12. The non-transitory-computer readable storage medium of claim 10 , wherein

the non-READ/WRITE command comprises an inquiry command.

13. The non-transitory computer-readable storage medium of claim 10 , wherein

the non-READ/WRITE command comprises a mode sense command.

14. The method of claim 1 , wherein

the active port is configured to accept READ/WRITE commands, and

receipt of a READ/WRITE command via the passive port invokes a failover.

Assignments (9)
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC (F/K/A VERITAS US IP HOLDINGS LLC)
Reel/Frame 069712/0090 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
TERMINATION AND RELEASE OF SECURITY IN PATENTS AT R/F 037891/0726 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS US IP HOLDINGS, LLC
Reel/Frame 054535/0814 →
MERGER AND CHANGE OF NAME Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC; VERITAS TECHNOLOGIES LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038455/0752 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: SYMANTEC CORPORATION
To: VERITAS US IP HOLDINGS LLC
Reel/Frame 037697/0412 →
CHANGE OF NAME Recorded Sep 21, 2007
From: VERTITAS OPERATING CORPORATION
To: SYMANTEC OPERATING CORPORATION
Reel/Frame 019866/0544 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 26, 2004
From: RAJPAL, SHIV; SALPEKAR, AJAY; KWONG, MARGARET
To: VERITAS OPERATING CORPORATION
Reel/Frame 015275/0811 →