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

Software Determination of Diskette Drive Characteristics

IP.com Disclosure Number: IPCOM000101217D
Original Publication Date: 1990-Jul-01
Included in the Prior Art Database: 2005-Mar-16
Document File: 3 page(s) / 127K

Publishing Venue

IBM

Related People

Dhopeshwarkar, D: AUTHOR [+3]

Abstract

Disclosed is a procedure for indirectly measuring the motor speed and head settle time of a diskette drive using software. Previously these characteristics were typically either measured directly using electronic testing equipment or were assumed to be within specifications if diskettes could be read and written in the diskette drive. The latter method can cause problems if diskettes are to be written by one drive and read by others.

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

Software Determination of Diskette Drive Characteristics

       Disclosed is a procedure for indirectly measuring the
motor speed and head settle time of a diskette drive using software.
Previously these characteristics were typically either measured
directly using electronic testing equipment or were assumed to be
within specifications if diskettes could be read and written in the
diskette drive.  The latter method can cause problems if diskettes
are to be written by one drive and read by others.

      The hardware signals required to test the motor speed and head
settle times directly are not usually available to software.
Instead, these diskette drive characteristics must be measured
indirectly using the diskette controller commands that are available
to software. The following procedures were developed for diskette
controllers compatible with the NEC uPD765* Floppy Disk Controller.

      The drive motor speed is determined by measuring the time it
takes for the diskette to complete one revolution. This measurement
is performed twenty times and the results are averaged to get the
average rotational speed.  The command sequence to perform this
measurement is as follows:
1. Issue a read data command for cylinder 0, head 0, sector 1. The
diskette controller will generate an interrupt when the command
completes.  When the interrupt is received, the diskette heads will
be at cylinder 0, head 0, sector 2.
2. After the interrupt has been received, save the value of the real
time clock.  Immediately issue another read data command for cylinder
0, head 0, sector 1.  When the interrupt is received, the diskette
heads will again be at cylinder 0, head 0, sector 2.
3. After the second interrupt has been received, read the value of
the real time clock and subtract the value saved in step 2.  This is
the time it took to complete a single revolution.

      The head settle time test depends on the drive having passed
the motor speed test.  The head settle time is the time that it takes
the drive heads to settle after the drive heads have been stepped to
a new cylinder.  The key to this test is that a write attempted after
stepping the heads will not complete successfully if the heads have
not settled sufficiently.

      The figure shows the pertinent diskette locations and timings.
The lines labeled a and d are always at the boundaries between
sectors 1 and 2 and sectors 7 and 8, respectively.  The locations of
the lines labeled b and c vary depending on the times t1, t2, and t3.
t1 is the unknown and is the time delay needed between the heads
reaching the boundary between sectors 1 and 2 and the issuing of the
command to step the heads from cylinder 0 to cylinder 1.  t2 is the
time that it takes for the drive heads to be stepped from cylinder 0
to cylinder 1.  It is known as the step rate and is a constant for
a given drive type.  t3 is the time between the heads arriving at
cylinder 1 and the heads reachi...