Browse Prior Art Database

IOCTL Methodology for Multi Path Storage Subsystems Disclosure Number: IPCOM000022075D
Original Publication Date: 2004-Feb-23
Included in the Prior Art Database: 2004-Feb-23
Document File: 2 page(s) / 28K

Publishing Venue



This disclosure introduces a new set of path aware IOCTLs (Input Output Control) to the device driver that is multi path capable, enabling application programs to control which path an IOCTL is issued.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 52% of the total text.

Page 1 of 2

IOCTL Methodology for Multi Path Storage Subsystems

The IOCTL (Input Output Control) interface provided by disk device drivers for application level software is not adequate for todays multi path hardware configuration.

Traditionally a storage device has a single hardware path which includes but not limited to host bus adapters cabling. Therefore the device driver that controls the disk device also has no knowledge of hardware paths. For the purpose of reliability and performance, today's storage devices may have multiple hardware paths a command can be issued.

IOCTL are commands that are provided by the disk driver to provide additional functionality for the application level software to interface with the disk driver. IOCTL commands are issued without reference to any path information since only a single path existed. This limits the scope of applications to have no control of selecting the path the IOCTL should be issued.

A new set of path aware IOCTLs will be added to the device driver providing the IOCTL interface which will include a logical path identifier that the disk driver can associate with the actual physical path. An application can now issue the IOCTL to a specific path resulting in potential performance gains. This also allows the development of more sophisticated applications, being able to decide the route to issue the IOCTL based on prior knowledge of the IO infrastructure such as throughput, available bandwidth, etc.

This disclosure requires the disk driver to be aware of and manage multiple paths. The disk driver must be able to issue a command down a specific path among the many paths that are connected to the actual device. A path identifier will be associated with each path, and the set of path identifiers will be provided to the application that corresponds to all the physical paths to the device. In addition, the device driver can provide a means for the application level program to obtain information regarding each path from the device driver, such as throughput statistics, available bandwidth, path status, etc.

Two new types of path aware IOCTLs will be provided:

1. forcepathioctl(path identifier) This IOCTL is intended to provide the capability to issue IOCTLs that are not pa...