Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Generic Technique to Uniquely Detect Storage Devices

IP.com Disclosure Number: IPCOM000022052D
Original Publication Date: 2004-Feb-20
Included in the Prior Art Database: 2004-Feb-20
Document File: 3 page(s) / 92K

Publishing Venue

IBM

Abstract

The ability to uniquely detect a small computer system interface SCSI device whether attached to a parallel SCSI bus or a Fibre Channel fabric. The SCSI/Fibre Channel devices have information stored on their code pages that can be used to uniquely identify a device. The information within these code pages can be vendor unique and do not always follow standards. The problem is worse when looking across devices provided by different vendors where the same field within a code page has different meanings. The problem with uniquely identifying a device has become a real problem when the device is attached through multiple paths. In this case the same device will be presented multiple times to the host system. If path management software is to work properly it must know which device instances detected down different paths are really the same unique physical device.

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

Page 1 of 3

Generic Technique to Uniquely Detect Storage Devices

The ability to uniquely detect a small computer system interface SCSI device whether attached to a parallel SCSI bus or a Fibre Channel fabric. The SCSI/Fibre Channel devices have information stored on their code pages that can be used to uniquely identify a device. The information within these code pages can be vendor unique and do not always follow standards. The problem is worse when looking across devices provided by different vendors where the same field within a code page has different meanings. The problem with uniquely identifying a device has become a real problem when the device is attached through multiple paths. In this case the same device will be presented multiple times to the host system. If path management software is to work properly it must know which device instances detected down different paths are really the same unique physical device.

A device attribute will be provided by the device vendor that defines a set of tuples. Each tuple defines the code page, offset and length in bytes of data to be extracted from the target device being detected. The values extracted based on these tuples will be concatenated and used as the device serial number. Additionally the vendor and product identifiers will be extracted from the device's standard inquiry page. The unique identifier universal device identification (UDID) will be generated based on the information extracted.

This method does not rely on a unique identifier being written to the device media. Methods that write unique identifiers to the device media can have problems with accessing the data should another host system implement a reservation scheme that the first host is not participating in.

This method implements a generic methodology that can be customized on a per device basis by changing the value of one attribute.

This method can be implemented within device detection and configuration code to uniquely detect a device attached by multiple connections to a host system.

The following is a description of how the UDID generation algorithm builds each of the pieces of the UDID.

UDID=UDID_LEN + sec1_len + sec1_data + sec2_len + sec2_data + sec3_len + sec3_data+UDID_TYPE

UDID_LEN

The UDID_LEN will consist of two uppercase hexadecimal characters representing the length in bytes of the UDID, not including the two bytes of the UDID_LEN.

sec1_len

The sec1_len will consist of two uppercase hexadecimal characters and will be set to the

1

Page 2 of 3

length in bytes of the sec1_data.

The sec1_data is the device serial number and is defined by a unique_id attribute provided by the device vendor. The unique_id attribute defines one or more device serial number substrings which when concatenated together form the device serial number. If the unique_id attribute value is "" or if all substrings read from the code pages are "", the UDID generation routine will fail and return an error to the calling routine. Each time...