Introduction
DiskSpeed32 for Windows 9x/Me/NT4/2000/XP

Copyright © 1998 - 2002 Victor M.Grinenko. All rights reserved.

DiskSpeed32 is a program for hard drive speed measurement in Win32 environment.

DiskSpeed32 measures reading speed in whole disk or its part and plots graphical dependence for reading speed by cylinder number. This allows to obtain comparable data not only for different drives, but also for the same disk under different Win32 implementation  - Windows 9x/Me or Windows NT4/2000/XP, and also if you change drivers or operation system settings.

DiskSpeed32 allows visually to estimate hard disk surface state and to determinate bad sectors existing, remapped tracks and weakly reading sectors in whole disk, independently of file systems for which disk space allocated and in non allocated space too.


How to make measurements

To reduce influence of different events to measurement accuracy:

- Close all other applications,

- If you are connected to network make measurements in low network activity time or disable access to your network resources,

- Wait a minute and let Windows finish all cashed operations,

- Click Start diagnostic.

DiskSpeed32 automatically turns off screen saver and turns it back on when it is closed.


What can you see?

As you know hard drive has cylinders, tracks (hears) and sectors. A track is a record made by one disk turn. A track is split on sectors and the aggregate of tracks is a cylinder. Hard drive has a logical and physical data organization. Logical cylinders, tracks and sectors are disk's representation for computer itself. Physical ones are corresponding to internal drive implementation. Different modes of logical representation (NORMAL, LARGE è LBA) can be switched in BIOS.

Hard drive has a different number of sectors per physical track on internal and external cylinders. There are more sectors on external cylinders and less on internal ones, but logically drive represents as device with the same number sectors per track. When drive makes reading or writing operation it performs mapping of logical sectors to physical ones. Usually drives use "vertical" mapping, when the drive reads all tracks of one cylinder and after that moves heads to next cylinder. Sometimes "horizontal" mapping is used, when drive reads all tracks on one disk surface and then switches to next head. In view of different number of sectors per physical track reading of logical tracks respective to external physical tracks takes place faster than internal physical tracks reading. In addition to the number of sectors per physical track changes in different disk zones, whole disk is split to 10-20 zones with equal number of sectors per track. Therefore the dependence of reading speed from cylinder number should look like in the picture below.


Start
Start menu

Start menu commands.

Start menu contains commands for start and stop diagnostic and saving test results.

Start diagnostic.

Start a disk diagnostic.

Stop diagnostic.

Stop a disk diagnostic.

Save data file.

Save results to file. File format: first column is cylinder number; second one is reading speed in kBytes per second.

Exit.

Close application.


Options menu

Options menu command.

Option menu contains mode switchers.

Set highest priority

Set highest priority for reading thread. Turn on by default. This allows reducing the influence of different events to the measurement accuracy.

Fast test/Full test

Switch between a fast crude estimate test and a full test. The fast test checks only. a small part of disk surface. The full test checks the whole disk surface and allows to find bad and remapped sectors.

Burst speed test

Activates the cache reading test. The test can be performed only when the full test mode is switched on and there is no selection.

Random access

Activates the test of the average time to access a random cylinder. The test can be performed only when the full test mode is switched on and there is no selection.


Tools Bar

Tools Bar contains the same buttons as menu.

  Start diagnostic - start a disk diagnostic

  Stop diagnostic - stop a disk diagnostic.

  Save data file - save results to file.

  Set highest priority - set highest priority for reading thread.

   Fast test - the fast crude estimate test.

  Full test - the full test.

  Burst speed test - activates the cache reading test.

  Random access - activates the test of the average time to access a random cylinder.

  Exit - close application.


Help menu

Help menu commands.

Help menu contains commands to start help system.

Contents.

Calls help system in English or Russian languages.

Web Site

Connects to DiskSpeed32 web page.

About

Shows window with information about program, version and copyright.


Drive

Control Drive allows selecting drive for test.


CPU monitor

Window CPU monitor allows to determinate CPU usage during test process. Low CPU usage is typical for software drivers with DMA, high CPU usage for drivers with PIO access to hard drive.


Disk info

DiskSpeed32 provides you with information about logical partitions as a colored map.

Besides application shows information about cylinders, tracks and sectors number and current test information on Information tab.

Tab Legend provides information about colors for representation of different file systems.


Selection

You can test whole disk surface or only one part of it. Click left mouse button and keep it pressed until area for the test is selected and then release the button.

Status bar will show a range of cylinders for the test.

You can select if the diagnostic is not started. Test results in selected area cannot be saved.


Review

At the picture below you can see the result of drive test with turned on and turned off DMA under Windows NT4. There are not DMA drivers in original packages of Windows 95, OSR1 and Windows NT4. These drivers are distributed with Windows 95 OSR2, OSR2.5 and Windows 98 packages, but DMA is turned off by default.

"Tableland" in curve with turned off DMA is typical enough and testify to low driver performance.

There are more details about test results in DiskSpeed32 web page - http://www.geocities.com/vgrinenko/DiskSpeed32/


Dip of speed and errors
Dip of speed and errors.

Usually a speed curve has narrow dips. There are different reasons of this happening, which are mentioned bellow:

- Different events can lead to disk access. These events change the heads position from tested cylinder and back. These are a cashed writing operations, network activity and start of other applications.

see dips example in this picture.

The turning on of Set highest priority reduces the influence of such events. The tool Selection helps you to test these dips and check if these dips repeat again.

This dip didn't repeat in second test. Don't worry about one.

- Hard drives have a reserved area that can be used for change of bad tracks (remapped tracks) automatically by hard drive internal controller. Repeated dip is either the sign of such tracks or the sign of week sectors.

This dip repeats in every test. It is the remapped track in the hard drive.

- Reading errors. The application shows a message box with information about error details; you can suppress this message during current test.

Error dips are marked with red color.


Features

DiskSpeed32 uses "virtual" geometry for SCSI drives with volume more than 8.4GB under Windows 9x, because Windows does not provide information about real disk geometry.