Patent ID: 7996576

Claim:
A method of generating an identifier for a disk, the method comprising the steps of: requesting an ASCII identification string for the disk; generating a padded string by the steps of truncating the ASCII identification string to be 68 bytes long and padding the ASCII identification string by adding 4 bytes to a least significant end of the string; dividing the padded string into six 12-byte substrings from a most significant end to a least significant end of the padded string and dividing each substring into four 3-byte pieces from a most significant end to a least significant end of the substring; generating an encoded value for each 3-byte piece by the steps of converting each byte of each 3-byte piece from a standard ASCII character set to a radix-39 character set and if a byte does not fit the radix-39 character set, setting the byte to a predetermined value, then generating a 16-bit binary hash encoded value for each byte of each 3-byte piece by multiplying the most significant converted byte by 1521, adding the result to the middle byte multiplied by 39, and adding the result to the least significant byte; generating a candidate value compatible with a Word-Wide Name (“WWN”) by the steps of combining the encoded values for each of the four 3-byte pieces of each substring into a concatenated 64-bit value, combining the concatenated 64-bit values for each substring into one 64-bit candidate value by an exclusive-or operation, swapping the most-significant 32 bits of the candidate value with the least significant 32 bits of the candidate value, and setting the most-significant byte of the candidate value to a predetermined value; comparing the candidate value to a list of previously generated candidate values and if the candidate value differs from the values in the list, including the candidate value in the list of generated values; and providing the candidate value as the identifier for the disk.