IP Library Granted Patent US 7,210,068
Granted Patent B1
US 7,210,068 · App. 10/092,007 · Granted Apr 24, 2007

System and method for multipath I/O support for fibre channel devices

Assignee: Network Appliance, Inc.
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 7,210,068
App. No.
10/092,007
Granted
Apr 24, 2007
Kind
B1
Abstract

A system and method enables a file server, to support multi path input/output operations for Fibre Channel devices. Upon each Fibre Channel Arbitrated Loop initialization event generated, the system and method updates a path and device instance to track multiple paths to a given device. While the file server is attempting input/output operations, the failure of a given path can be corrected by the use of another path associated with a given device. The data structures generated by the low levels of the storage operating system are exposed for use by upper level services for routing a storage device identification purposes.

Claims (31)

1. A method for maintaining a set of data paths accessible by a set of upper level services of a storage operating system of a computer, the method comprising the steps of:

creating a device instance associated with a storage device;

creating a first path instance distinct from the device instance, where the first path instance is associated with a first path to the storage device;

creating, in response to events identifying an addition of a path, an additional path instance associated with an additional path to the storage device, where the additional path is distinct from the device instance; and

deleting, in response to events identifying a removal of a path, a path instance associated with the removed path.

2. The method of claim 1 wherein the step of creating a device instance occurs in response to receipt of an event identifying an addition of a storage device.

3. The method of claim 1 wherein the events identifying an addition of a path is a Fibre Channel loop initialization event.

4. The method of claim 1 wherein the events identifying removal of a path is a Fibre Channel loop initialization event.

5. The method of claim 1 wherein the step of creating an additional path instance further comprises the step of linking the additional path instance to a linked list of path instances associated with the storage device.

6. The method of claim 1 wherein the device instance and path instances are accessible via an application program interface.

7. The method of claim 1 wherein the set of upper level services further comprises a redundant array of inexpensive disks layer of the storage operating system.

8. The method of claim 1 further comprising:

dynamically generating the set of data paths in response to a storage device event.

9. The method of claim 1 further comprising:

selecting, as the first data path, a last used data path associated with the storage device.

10. The method of claim 1 further comprising:

performing the input/output operation to a disk drive as the storage device.

11. The method of claim 10 further comprising:

interconnecting the computer with the disk drive by a Fibre Channel Loop.

12. The method of claim 1 further comprising:

performing the input/output operation from a file server as the computer.

13. A computer-readable medium, including program instructions executing on a computer, for maintaining a set of data paths accessible by a set of upper level services of a storage operating system, the program instructions including steps for:

creating a device instance associated with a storage device;

creating a first path instance distinct from the device instance, where the first path instance is associated with a first path to the storage device;

creating, in response to events identifying an addition of a path, an additional path instance associated with an additional path to the storage device, where the additional path is distinct from the device instance; and

deleting, in response to events identifying a removal of a path, a path instance associated with the removed path.

14. An apparatus for maintaining a set of data paths accessible by a set of upper level services of a storage operating system of a computer, comprising:

means for creating a device instance associated with a storage device;

means for creating a first path instance distinct from the device instance, where the first path instance is associated with a first path to the storage device;

means for creating, in response to events identifying an addition of a path, an additional path instance associated with an additional path to the storage device, where the additional path is distinct from the device instance; and

means for deleting, in response to events identifying a removal of a path, a path instance associated with the removed path.

Assignments (2)
CHANGE OF NAME Recorded Sep 28, 2010
From: NETWORK APPLIANCE, INC.
To: NETAPP, INC.
Reel/Frame 025039/0969 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 10, 2002
From: AIELLO, ANTHONY F.; ASTER, RADEK
To: NETWORK APPLIANCE, INC.
Reel/Frame 012989/0521 →