home *** CD-ROM | disk | FTP | other *** search
/ PC World 1999 June / PCWorld_1999-06_cd.bin / Hardware / Drivers / h2bench / README.TXT < prev   
Text File  |  1999-01-20  |  15KB  |  306 lines

  1. H2bench -- by Harald Bögeholz / c't Magazin für Computertechnik
  2. Copyright (C) 1999 Verlag Heinz Heise GmbH
  3. ===============================================================
  4.  
  5.  
  6. H2bench runs under DOS and directly accesses the hard disk via BIOS.
  7. In order to achieve correct results, i.e for comparison with ours, you
  8. have to boot DOS without any cache programs, using only those drivers
  9. which are absolutely necessary. If you are using a SCSI adapter from
  10. NCR or Symbios Logic and an SDMS BIOS version 3, you need the driver
  11. Doscam.sys -- otherwise the disks can only be operated in the slower
  12. asynchronous mode of the SCSI bus. 
  13.  
  14. For EIDE disks, whether or not a driver is needed depends on the BIOS
  15. of the EIDE host adapter. Our test system's BIOS (Asus P/I-P55TP4XE)
  16. achieves full performance without the support of a driver. However the
  17. situation is different for most Pentium Pro and Pentium II systems.
  18. The widely used Award BIOS is not able to drive the EIDE interface at
  19. full speed (see also the FAQ section below). If the board manufacturer
  20. supplies a busmastering IDE driver for DOS you should install this
  21. driver to improve performance.
  22.  
  23. H2bench does not produce reliable results when running in a DOS box
  24. under Windows, Windows 95/98/NT or OS/2. Drivers such as Emm386 which
  25. run the processor in virtual 8086 mode also impair the measurements
  26. and should not be used for this reason.
  27.  
  28. On the command line, the number of the hard disk you want to test and
  29. any options for the test procedure must be given. When calling the
  30. program without parameters, a short help text is displayed. All
  31. options must be entered in lower case letters. The number of the hard
  32. disk you want to test is the most important option. The first physical
  33. disk is number 0, the next one is number 1, and so on. When you enter
  34. the disk number without any options, H2bench displays geometry
  35. (cylinders, heads, sectors) and capacity of the disk. If there are
  36. several disks in the computer, it is recommended to run H2bench in
  37. this way first, to make sure that you select the correct disk later.
  38.  
  39. H2bench ignores partitioning and accesses the disk directly, so that
  40. all data will be lost when writing on the disk. For this reason,
  41. H2bench normally operates in read-only mode. The option "-!" activates
  42. write measurements. For safety reasons this will not work if there are
  43. any partitions on the disk.
  44.  
  45. H2bench measurement consists of four components: interface transfer
  46. rate, zone measurement, the Hdbench measurement and the measurement of
  47. access times.
  48.  
  49. The option "-c <n>" (-c stands for "core test" for historical reasons)
  50. activates the interface transfer rate measurement at <n> percent of
  51. the total capacity. This measurement is usually done at 0 percent
  52. since that is the fastest zone for most hard drives.
  53.  
  54. The option "-z" carries out the zone measurement, option "-s"
  55. activates the seek measurement. The Hdbench measurement combines read
  56. and write accesses using different block sizes in a disk area of
  57. approx. 6 MByte. This measurement is activated with the option "-h
  58. <n>", where <n> specifies the location of the measurement in percent
  59. of the total disk capacity (the space between -h and <n> is
  60. important). We normally perform the Hdbench measurement in the fastest
  61. media zone. For most hard disks this is the outer area, i.e. at 0% of
  62. the capacity.
  63.  
  64. When you enter the option "-ha", H2bench automatically selects the
  65. fastest media zone. In order to do so, the program carries out zone
  66. measuring first and then defines the H2bench zone by evaluating the
  67. measured read rates. When selecting the fastest zone the write rates
  68. are not taken into consideration.
  69.  
  70. Therefore it could happen that in some cases the "wrong" zone is
  71. selected, for example some Western Digital EIDE drives like the
  72. AC21600 where the write rate in the outer area of the drive is weak,
  73. results in an average value of 2.95 MByte/s, but when measuring at 20
  74. % of the capacity (with an adequate write rate) a value of 3.39 MB/s
  75. is measured. When you enter the option "-a", all four measurements are
  76. carried out; this option combines "-c", "-z", "-ha" and "-s". Use the
  77. option "-w <filename>" to enter a <filename> for storing the results.
  78. Please note that the name must not contain an extension because the
  79. program automatically adds extensions. H2bench generates two result
  80. files with the extensions ".txt" and ".ps".
  81.  
  82. The file with the extension ".txt" is an ASCII file, the first part of
  83. which is a summary of the results. The second part contains detailed
  84. results of the Hdbench and zone measurements. Please note that the
  85. zone measurement has up to 1000 measuring points for both reading and
  86. writing tests. Each result is given on a separate line, so that the
  87. results can be evaluated with other programs. Before printing out the
  88. .txt file, use a text editor to cut off the second part of the file --
  89. otherwise you print out more than 30 pages of "garbage".
  90.  
  91. The file with the extension ".ps" is in PostScript format and
  92. summarizes all results on a single page (DIN A4). Those equipped with
  93. a postscript printer can simply send the file to the printer, for
  94. example with the DOS command
  95.  
  96. copy /b filename.ps prn
  97.  
  98. If you do not own a postscript printer or if you want to display the
  99. results on the screen, you can use the freeware interpreter
  100. GhostScript or GhostView. These programs are freely available on the
  101. internet for practically all operating systems.
  102.  
  103. The following options can be used for documentation purposes: "-tt"
  104. followed by the name of the hard disk (in quotation marks), assigns
  105. the "title" of the test. In the same way, "-tb" is used for the BIOS,
  106. "-tc" for the CPU, "-tm" for the motherboard, and "-ta" for the
  107. adapter (SCSI or EIDE). Since these last components are rarely
  108. changed, you can also put them in environment variables (i.e. put them
  109. into the Autoexec.bat via the SET command). The relevant variables are
  110. named H2btitle, H2bbios, H2bcpu, H2bboard, and H2badapter. They will
  111. be referred to when the command line does not contain any relevant
  112. data.
  113.  
  114. In most cases, you only have to enter the name of the hard disk for
  115. the test. Here is a typical command:
  116.  
  117. h2bench 0 -a -! -tt "harddisk 42" -w 42
  118.  
  119. This tests the first hard disk connected to the computer and stores
  120. the results in the files "42.txt" and "42.ps".
  121.  
  122. Drives with more than 8 GByte capacity
  123. ======================================
  124.  
  125. From version 2.3, H2bench can use new BIOS functions (INT 13h,
  126. functions AH=41h to 49h) in order to access disks with more than 8
  127. GByte capacity. Enter the option "-e" to use these BIOS extensions if
  128. available. If they are not available or if they don't work correctly,
  129. an error message will be displayed. The warning message "!!! warning:
  130. block size conflicts with Phoenix EDD spec 1.1" can safely be ignored
  131. if there aren't any other errors (see the FAQ section below).
  132.  
  133.  
  134. Drives with more than 32 GByte capacity
  135. =======================================
  136.  
  137. H2bench versions below 2.26 had a bug that caused H2bench to crash or
  138. give wrong results for the sustained write rates if the capacity of
  139. the drive was above 32 GByte. Please don't use the old versions any
  140. more and delete them. If you see an old H2bench version anywhere,
  141. please inform the supplier of that version about this bug and the
  142. availability of a new version.
  143.  
  144.  
  145. Language options
  146. ================
  147.  
  148. H2bench currently "speaks" three languages: German, English and Dutch.
  149. The command line option "-deutsch" selects German, "-english" selects
  150. English and "-nederlands" selects Dutch.
  151.  
  152. The language can also be pre-selected using the environment variable
  153. H2BLANGUAGE. This avoids specifying the command line option each time.
  154. You should usually set H2BLANGUAGE in your Autoexec.bat, for example:
  155.  
  156. SET H2BLANGUAGE=deutsch     for German
  157.  
  158. SET H2BLANGUAGE=english     for English
  159.  
  160. SET H2BLANGUAGE=nederlands  for Dutch
  161.  
  162.  
  163. Questions
  164. =========
  165.  
  166. Please send any questions about H2bench to bo@ct.heise.de (in German
  167. or English). I will take the liberty not to respond to questions
  168. already answered in the FAQ below.
  169.  
  170.  
  171. FAQ
  172. ===
  173.  
  174. ?  H2bench always aborts with a read error.
  175.  
  176. :  In cases of physical defects, the current version of H2bench cannot
  177.    measure the continuous transfer rate (zone measurement). You can
  178.    use the option "-h x" in order to carry out the Hdbench measurement
  179.    in a non-defective area of the disk.
  180.  
  181. ?  When calling up the hard disk benchmark H2bench, I always get an
  182.    error message stating that the timer does not run monotonically,
  183.    and the program is aborted.
  184.  
  185. :  H2bench accesses the system timer directly in order to get exact
  186.    measurements (to the microsecond). In some chip sets, the system
  187.    timer is defective, so that the end bits do not run monotonically.
  188.    One example of this is the I/O chip 82378IB in the Mercury/Neptune
  189.    chip set. For more information see c't 10/95, p. 334.
  190.  
  191.    This symptom impairs the time measurements, which is why H2bench
  192.    first checks the timer for correct operation. You can use the
  193.    option "-Tnocheck" to suppress the timer check -- but not the bug!
  194.    When using this option, H2bench produces more or less correct
  195.    results, but the results are not reliable. Also you may encounter a
  196.    negative value in the Hdbench measurement from time to time.
  197.  
  198.  
  199. ?  When using the option "-e" I get the message "!!! warning: block
  200.    size conflicts with Phoenix EDD spec 1.1".
  201.  
  202. :  The BIOS extensions H2bench uses have been specified by Phoenix.
  203.    According to the spec, each call can transfer at most 127 sectors
  204.    at a time. H2bench, however, uses a block size of 128 sectors. This
  205.    has worked fine with the SCSI adapters from Symbios Logic and
  206.    Adaptec we used so far as well as with the Promise Ultra33. It is,
  207.    however, against the spec, and therefore H2bench outputs this
  208.    warning. The BIOS of some Adapters (for instance the Promise
  209.    FastTrack) follows the spec to the letter and rejects calls with
  210.    128 sectors. On such adapters, the zone measurement and the
  211.    measurement of the interface transfer rate can not be performed if
  212.    the "-e" option is used.
  213.  
  214.  
  215. ?  I can't reproduce your results: For my SCSI drive I get much lower
  216.    write rates than you do.
  217.  
  218. :  On SCSI drives we always enable the write cache for benchmarking.
  219.    Without write cache SCSI drives write only about half as fast as
  220.    they read. There is a small program from Seagate which you can use
  221.    to enable write caching. It also works with drives from other
  222.    manufacturers and requires an ASPI driver. You can download the
  223.    archive Aspiid15.zip from http://www.heise.de/ct/ftp/spezial.shtml.
  224.    SCSI drives can remember the write cache setting permanently so
  225.    that it suffices to turn it on once.
  226.  
  227.  
  228. ?  I have H2bench versions 2.15 and 2.3. Which one is the latest
  229.    version?
  230.  
  231. :  The number after the dot is not meant as a decimal fraction but as
  232.    a minor version number. After 2.9 (two-nine) came 2.10 (two-ten),
  233.    then 2.11 (two-eleven) and so on. On January 20, 1999, the current
  234.    version was 2.26.
  235.  
  236.  
  237. ?  My hard drive achieves a maximum transfer rate of about 7 MByte/s
  238.    when attached to the onboard EIDE channel of my Pentium II board
  239.    although the test results published in c't magazine are much
  240.    better. When I connect the drive to an older Pentium based system
  241.    the performance is better.
  242.  
  243. :  This is the fault of the onboard IDE interface on your board, or to
  244.    be more precise, the BIOS. In addition to the conventional PIO mode
  245.    (Programmed I/O, the CPU is responsible for fetching the data from
  246.    the interface and writing it to main memory) the onboard IDE host
  247.    adapter of current boards can also be operated as a PCI busmaster.
  248.    In this mode the host adapter transfers data directly to and from
  249.    main memory without using the CPU. This is primarily useful for
  250.    multitasking operating systems since it frees the CPU for other
  251.    tasks while data is being transferred over the IDE interface.
  252.  
  253.    On all currently available Pentium Pro and Pentium II chip sets the
  254.    IDE interface is much slower in PIO mode than it is in busmastering
  255.    mode. Unfortunately the programmers of the widely used Award BIOS
  256.    haven't bothered to implement busmastering yet. Current versions of
  257.    the Award BIOS operate even Ultra DMA capable hard drives in the
  258.    slower PIO mode, even if they report them as "UDMA". Only with a
  259.    few boards which use a BIOS from other manufacturers have we seen
  260.    the full performance of the IDE interface without using a driver.
  261.  
  262.    This shortcoming in the Award BIOS only affects DOS or DOS based
  263.    benchmarks like H2bench. Other operating systems don't use the BIOS
  264.    and directly access the hard disk with their own drivers. If these
  265.    drivers use busmastering you can expect full performance. Some
  266.    information about busmastering and drivers is available from
  267.    http://www.bmdrivers.com. 
  268.  
  269.    Triones supplies a busmastering DOS driver for the LX and BX chip
  270.    sets. Some board manufacturers (e.g., Gigabyte) bundle this driver
  271.    with their boards. Using this driver H2bench reaches the full
  272.    performance. Without it such boards (if they use an Award BIOS) are
  273.    not suitable for hard drive performance measurements with H2bench
  274.    for the time being.
  275.  
  276.  
  277. ?  My hard drive achieves a maximum transfer rate of about 6.3 MByte/s
  278.    when attached to an Asus P/I-P55TP4XE board although the test
  279.    results published in c't magazine are much better. In the meantime
  280.    I have used the drive for several days and repeated the test.
  281.    Surprisingly, it now shows the expected performance. How is that
  282.    possible?
  283.  
  284. :  This may be caused by the BIOS. Some BIOS versions, for instance
  285.    version 0203 for the Asus P/I-P55TP4XE, make a difference between
  286.    new hard drives (or drives erased by h2bench) and drives that have
  287.    already been partitioned. This is caused by an algorithm the BIOS
  288.    developers have implemented to support external IDE adapters.
  289.  
  290.    During initialization the BIOS tries to find out if the IDE adapter
  291.    can be accessed with 32-bit instructions. For that purpose it first
  292.    reads the first sector of the drive, the master boot record (MBR),
  293.    using 16-bit instructions. If that sector contains a valid
  294.    partition table (marked with the signature 0aa55h in the last two
  295.    bytes) it reads the same sector again, this time using 32-bit
  296.    instructions. If the data from the two reads matches it uses 32-bit
  297.    instructions thereafter. If the partition table contains invalid
  298.    data the BIOS uses only 16-bit instructions to be on the safe side.
  299.    This is compatible with all IDE adapters but limits the transfer
  300.    rate to between 6 and 7 MByte/s.
  301.  
  302.    As a precaution you should issue the command "Fdisk /mbr" and
  303.    reboot before running H2bench. This writes the correct signature to
  304.    the master boot record so that the BIOS uses fast 32-bit
  305.    instructions to access the IDE interface.
  306.