HD_Speed

Copyright 2000-2010 Steel Bytes

FAQ

Q. what is the block size
A. it's the size of the chunks that HD_Speed requests data from windows

Q. why does this affect the throughput
A. it theoretically shouldn't affect it greatly, (as long as you dont select too small a setting that cpu usage and other such inefficiencies come in to play). but on some systems it does. so why ? my guess is that something in the chain between HD_Speed and the physical drive is not as well written as it should be :-)

Q. what is the chain through which the data flows to reach hd_speed
A. simplified: drive platters -> driver controller (including it's own cache) -> ide/scsi/sata connection -> host controller (for ide&sata, usually part of the motherboard chipset) -> drivers for hdd controller -> hd_speed

Q. can I set the block size that windows uses.
A. not that I know of (not with out writing you own drivers for the HDD controller).

Q. burst rate vs non burst rate ...
A. burst rate repeatedly reads (or writes) the the same section of the disk. since most modern drives cache the read, this really amounts to a test of the speed of the drive's controller. non burst sequentially reads the disk, and is a better test of the drive performance.

Q. what method does HD_Speed use to read/write
A. the following Win32 API calls: CreateFile(devicename,...), ReadFile() and WriteFile(). See Microsoft's PlatformSDK for more info.

Q. can I see/have the sourcecode
A. no

Q. what relevance is the offset setting ?
A. the transfer speed of most disk types varies at different points. eg, harddrives are usually fastest at the start, and slower further on. CD-Roms are typically the opposite

Q. is the write test destructive?
A. yes.

Q. Does 1G equal 1024M or 1000M?
A. In HD_Speed, 1G=1024M and 1M=1024K and 1K=1024. Also 'B' denotes Bytes, and 'b' denotes bits. Hence 1 GBytes/sec = 8*1024*1024*1024 bits/sec.

Q. how does using /z filename differ from testing a drive? A. the postion of the file on it's drive and also the fragmentation will affect performance. contig.exe from SysInternals may assist.

Command Line

/rread test
/wwrite test
/wrwrite+read test
/wrvwrite+read+verify test
/d drivedrive to test, eg C:
/t timeduration in seconds
/b blocksizeblock size in KB, eg 64
/xexit after test
/l logfilefile to output result
/o percentdrive postion to start test at
/z filenamefile to use instead of a drive

eg.
    start /wait hd_speed /r /t 5 /d c: /x