# Disk test (Hard disk, Floppy, flash drive)

This suite contains a number of tests that exercise the mass storage units (Hard disk or otherwise) connected to the computer. By default drive C: is used for the hard disk and drive A: for the floppy disk but this can be changed from the Preferences Dialog. and up to twenty drives can be selected for simultaneous testing. From this twenty it is possible to select any combination of available floppy disk and hard disks. Drives can be connected via the IDE bus, SATA, SCSI, USB, Firewire or any other method supported by Windows.

The user can select one of the following patterns or choose to automatically cycle between the patterns. This selection is done in the preferences window. Possible test mode patterns are,

- Default (Cyclic)
- Sequential data pattern (0,1,2...255)
- Random data with random seeking
- High Low freq data overwrite (10101 then 00001)
- Butterfly seeking
- Binary data pattern 1 (10101010)
- Binary data pattern 2 (01010101)
- Zeros data pattern (00000000)
- Ones data pattern (11111111)
- Random data pattern

During each test cycle (except butterfly seeking) a file is created and verified on the disk. The size of the file is equal to a certain percentage of the disks capacity and all files are created in the root directory of the drives selected. The default file size is 1.0% of the disk size. For small capacity drives, like floppy disks, there is a minimum file size of 32KB. It is possible to change the default file size percentage from the preferences window.

Each test file is filled with a coded number sequence (a Pattern) that is used to verify the correct operation of the disk when the file is verified (read). Files are created in the free space on the disk until the disk is at least 94%* full (we’ll refer to this as the ‘full’ level). When the disk has reached this limit, all the test files are deleted and the test starts again.

(*) 94% is used on disks that have a swap file or a Windows directory. A limit of 94% is used to ensure that some space is kept for use by other applications (including the windows swap file). On disks that do not have a swap file or a Windows directory, between 99.5% and 100% of the disk will be used.

A number of test modes perform additional testing to that described above. These are described below:

Random data with Random seeking generates 7 blocks of random data for each test disk and sequentially writes a file using the first block of random data, followed by the second, third then first, until the file size specified is reached. This file is then verified with sequential reads of data blocks from the file just written. This is followed by seeking to a block within any of the created files, selected at random. At random either a read and verify or a write will occur at this position on the disk. This random seek and random read/verify or write will be repeated the number of times specified by the user in the disk preferences “seek count” field. New files are written and verified with this process until the disk full level is reached. At this point, all the test files written to disk will be deleted and the cycle will be repeated.

High Low frequency data overwrite works by first writing a file with a high frequency pattern (10101010101010010101…), then overwriting this with a low frequency pattern (00001000010000100001…) and then verifying that the low frequency pattern has been fully and correctly written.

Butterfly seeking works by detecting the hard disk geometry (number of cylinders etc) and then seeking between cylinder 0 and cylinder X and back to cylinder 0. This is repeated the user specified ‘seek count’ times, before X is incremented by 1. This is repeated until the last cylinder on the Volume is reached. The number of operations reported refers to the number of combined Seek/Read operations. Note (1) that this test is only supported in Windows 2000, XP and above on non-Floppy/CD/DVD drives. (2) Performing a seek in many cases does not move the disk driver head, to ensure the disk drive head is moved to the seek position, a small read (of the Sector size) is done at each seek position. Also, incremental offsets of the sector size are used for the ‘X’ seek and the return to ‘0’ seek, to ensure that the disk drive cache is overflowed and physical disk seeks consistently occur (once the disk cache has overflowed). (3) Disk drive geometry may be faked or translated by hard disks/ device drivers and may not be the actual drive geometry. (4) The Cylinders, track and sector size used are typically logical values provided by the hard disk. (5) Up to 8 different physical extents per Volume (or Drive letter) are supported in the butterfly-seeking test. (6) As with other disk tests, if a physical disk is partitioned into multiple volumes (drives) and testing is simultaneously carried out on these volumes, the nature of the test will change. In the case of Butterfly seeking, the movement of the physical disk drive head will not reflect butterfly seeking, but something between butterfly seeking and random seeking, as the seeks for volume 1 go from its logical cylinder 0 to X and the seeks for volume 2 go from its logical cylinder 0 to Y are mixed in time. (7) Some disk drive device drivers do not support the supply of disk geometry information that is needed for this test. Error reporting may be configured not to report “Butterfly seeking test not supported for this disk” errors. This can be achieved by editing the Error Classifications file (BITErrorClassifications.txt) for Error Number 160 to NONE. For example, changing the line from:

160,"Butterfly seeking test not supported for this disk",INFORMATION,

to

160,"Butterfly seeking test not supported for this disk",NONE,

The default setting is to cycle between the patterns. In this case a new pattern will be selected each time the disk has reached the BurnInTest ‘full’ level. Where the disk drive is a floppy/CD/DVD or the operating system is less than Windows 2000, Butterfly seeking will be skipped in the Cyclic testing.

The user can chose to log SMART errors. To learn more about SMART, see section What is S.M.A.R.T?

Each of the following settings: Slow drive warning threshold, File size, Test pattern and the logging of SMART errors may be configured differently for each disk drive. The disk drive Duty Cycle setting will be used for all drives when the Duty Cycle Override entry is set blank (no value). If a different duty cycle is required for a particular disk drive, a value may be entered in the Duty Cycle Override entry.

The following settings can be configured differently for each drive: Slow drive warning threshold, File size, Test Pattern and Log SMART errors. To use the general disk drive Duty cycle for each disk just set the Duty Cycle override value to blank (no value), otherwise set the required value per disk.

If an error is detected in the coded number sequence then the error count is incremented. The numbers of bytes written and read from the disk are displayed in the test window. The addition of these two values is displayed in the main window.

Graphical progress bars indicate if the test is currently writing or verifying (reading) information, the percentage complete for the particular file and the space remaining on the disk.

The speed of the hard disk and the duty cycle determine how quickly test files are created.

When multiple copies of BurnInTest are used to test shared or networked drives at the same time, care must be taken to avoid file name collision on the drive being tested. File name collision will manifest itself as file creation errors. As the name of the test files created in the root directory of the disk being tested contains the drive letter, collisions can be avoided by assigning different drive letters to the network drive on each machine running BurnInTest.

There are a few issues to aware of when interpreting the results of the disk test. These are covered in the precautions section.

Note (1) To test Firewire ports using BurnInTest it is recommended that an external hard disk via the Firewire port is used in conjunction with the BurnInTest disk test. (2) Similarly, to test external memory card readers/writers or other removable drives, it is recommended that the BurnInTest disk test is used.