CHECKHD ------- Authors: Claus Brod, Anton Stepper SO WHAT IS THIS CHECKHD ALL ABOUT? CHECKHD is from our book "SCHEIBENKLEISTER - Massenspeicher am ST", a floppy and hard disk book. It monitors important hardware values of hard disks available for the ST and times access and transfer rates. We wrote it to create a low-level standard test for hard disks. Additionally, we wrote other test software to check hard disks on higher (OS) level to complete the picture. (These programs are bundled in the hard disk benchmark package of the German computer magazine 'ST-Computer'.) To ease fair comparison among hard disk for the ST, some hard disk manufacturers made up their mind to include CHECKHD on their system disks. This way, we hope to help ordering arguments in those 'my hard disk is faster than yours' discussions. WARNING Let me warn you in the first place: CHECKHD directly accesses the hardware. This means that only those hard disks may be tested that follow the so-called ACSI protocol. It also means that we cannot guarantee for 100% performance and data integrity - simply because we cannot test all hard disk/controller combinations. We have included a list of hard disks that have been tested with CHECKHD in the HELP pages of the program. HOW DO I CHECK MY HARD DISK WITH CHECKHD? CHECKHD is a GEM program and should therefore be easy to use. After you start CHECKHD by double-clicking it, it scans the DMA bus for devices connected to it. The DMA bus can connect 8 controllers at max, and each controller can have 8 subdevices, in turn. CHECKHD runs through all 8 target numbers and checks each controller for subdevices 0 and 1. Other device numbers aren't currently in use by any device we know of. 'Scanning' means: CHECKHD tries to read block 0 of each device. If this fails, CHECKHD thinks there's no device at this target and device number, and the corresponding target number in the main dialog remains gray. Otherwise, the corresponding target number in the main dialog becomes selectable. In most of the cases, the device number is 0; this is also the default value which you probably won't ever have to change. The target number, however, may vary according to the DIP switches on the back of your hard disk. CHECKHD pre-selects the first hard disk found on the DMA bus. In the main dialog you can choose between various hard disk types and four different test scenarios. You can get additional information by clicking on 'HILFE' and 'START'. Several help pages appear which you can view completely (always click on 'More') or selectively ('Enough'). Choosing the right hard disk type is important because CHECKHD can't handle a SCSI hard disk's responses in the ATARI mode and vice versa. It might be possible to detect the type of hard disk in _most_ cases automatically, but this doesn't seem safe enough for us. After all, you know the brand of your hard disk, don't you, so choosing the right type should pose you no severe difficulties. Most manufacturers use fast SCSI drives today; the DataJet series, manufactured by the German 'Vortex' company, also bases on SCSI drives. The Vortex HDplus series and the ATARI hard disks use drives and controllers of other types, so you MUST switch to the Vortex or ATARI mode. If you forget this, you will get an error message when testing an ATARI drive in SCSI or Vortex mode, and you might suffer complete data loss when testing a Vortex HDplus drive in ATARI or SCSI mode! So beware - you will be warned throughout the program whenever reaching a point where proceeding might be fatal for a Vortex HDplus drive. FINE! AND HOW CAN I TORTURE MY DRIVE WITH CHECKHD? CHECKHD offers four different tests which are explained under 'HELP'. Some additional comments and background information follows. STEP ---- Measures the access times of the selected drive. Access times means the times the heads of the drive need to get to specific track. The faster a drive can do this the faster you can work with your drive. Most hard disk manufacturers cite an 'average access time' at least; this is the time that the drive needs - in the average - to access a cylinder. The manufacturers use the so-called 'two-third-test' for this, which moves the heads over a constant distance covering about two third of the whole disk surface. Another test method moves the heads to cylinders that are selected by random and calculates an average value. CHECKHD applies both methods; with most drives, they deliver similar values. CHECKHD gives you - the minimum access time (the time that passes when moving from cylinder n to cylinder n+1) - two average access times (one from random head seeks, one from the two-third-test) - the maximum access time (the time that passes when seeking from the lowest to the highest cylinder) Elder drives have average access times between 60 and 80 milli- seconds (ms). Cheap drives offer about 40 ms today; a good drive is under 30 ms, very good ones under 20 ms. Is is not at all simple to implement the test methods of the drive manufacturers. Meanwhile, we have reduced the test overhead in CHECKHD to the minimum and have optimized the test methods so that it works with many, many drives properly. The results of previous CHECKHD versions (7.0 and before), however, have become victims of our optimizatiomania; they differ from the current results by about 3 ms. (This means, previous versions had more test overhead and told you of a certain drive that it had 28 ms access time, while the new version says 25 ms.) So if you cite CHECKHD results, please give the version number. Changing the test methods in STEP was unavoidable for several reasons; albeit you cannot compare CHECKHD7 and CHECKHD81 results anymore, but you can compare the manufacturer's claims to the new CHECKHD results now. The other CHECKHD values (transfer rates etc.) are still comparable over all CHECKHD versions. In daily work, the average access time mainly influences operations like creating a file or searching for a file. With these operations, the GEMDOS overhead is very high, so that a halved average access time won't give you twice the speed in searching; this means, the access time influence the searching times underproportionally, especially with TOS versions before TOS 1.4. LESEN (READ) ----- In those good old days, CHECKHD's main purpose was proofreading all sectors on a drive. 'READ' is a relict of those days. All sectors on a drive are being read; if the drive's controller issues an error message this will be displayed and translated into plain text if possible. You don't have to fear for your data because CHECKHD only _reads_ while testing; but this also means that CHECKHD cannot find _all_ errors on a drive as some of them only occur while writing. 'READ' reads the drive blockwise; when an error occurs, two sector numbers are being displayed: One for the start sector of the current block to be read and one for the number of the erroneous sector. TRANSFER -------- Together with the access times, the transfer rate of a drive determine its speed in daily use. What does transfer rate mean? Many manufacturers claim utopic figures as the maximum transfer rate and often call it 'burst transfer rate' or 'bus transfer rate'. These transfer rates only give you some hint how fast data might be sent over the bus that the controller or drive is connected with. It has not much to do with reality, approx as that much as the maximum speed that a highway can endure with the maximum speed your car will actually run on that street. Other more seriouse transfer rates are 'bit transfer rates' that are roughly corresponding to the flux traversal density of a track. MFM drives have bit transfer rates of 625 KB/s, RLL drives approx. 937 KB/s. But even these figures are misleading because they include the 'administrative' portions on a track that cannot be used for storing user data. The user data usually occupies less than 80% of a track. But even if you conside that, you are not telling the whole story: After reading a complete track, heads are switched to reach the next track on a cylinder. This costs additional time which can result in one additional rotation of the disk before reading the next sector. When moving from one cylinder to the next, additional rotations may be lost. CHECKHD tries to test drives for such 'dead times'. To do this, two slightly different transfer tests are used: The first one (Transfer I, "mit Zylinderwechsel" = with cylinder seek) multiply reads all sectors on a cylinder and calculates a transfer rate from the time needed for that. With this test, at the end of cylinder one complete revolution is lost in most cases because the drive cannot switch back from the last sector of a cylinder to the first one. The second transfer test (Transfer II, "ohne Zylinderwechsel" = without cyl. seek) tries to eliminate this with a trick; this way, 'Transfer II' will give you the maximum transfer rate within a cylinder. The transfer rate influences certain daily operations - like reading and writing long files - almost proportionally. Typical transfer rates ('Transfer I'): MFM drives (SH204, SH205) 408 KB/s Vortex HDplus <<300 KB/s RLL drives 650 KB/s SCSI drives >650 KB/s good SCSI drives >750 KB/s (some more than 900 KB/s) CHECKHD is very exact in this test; the results differ from the theoretical expectation by only about two or three percent. ALLES (All) ----------- All tests in one go. This is fine place to mention that you can cancel all tests by pressing the right mouse button or ESC. CHECKHD first completes the current operation and then exits, so you may have to wait a little bit for a reaction. MISCELLANEOUS After you selected a test and STARTed it, CHECKHD reads some important format parameters from the delinquent and offers them in dialog box: - cylinder # of cylinders of the drive. - sectors/track # of sectors on a track - heads # of heads that are use to read data tracks - start sector normally 0; this is the first sector to be tested in 'READ' - end sector normally, the maximum # of data sectors of the drive. In 'READ', this is the last sector to be tested - bytes/sector size of a data sector in bytes These parameters may be edited before continuing. Why? 1. CHECKHD may be wrong, so you can fill in the correct values. If this occurs, please send us a message so that we can adapt CHECKHD to unusual drives. 2. When test-READing sectors, you often only want to check a certain range of sectors. To do this, adjust 'start sector' and 'end sector' to your needs. From the 'end sector' parameter, you can easily calculate the real capacity of your drive: (end sector * bytes/sector)/(1024*1024) Many facturers still want us to believe that 1 MB is 1000*1000 bytes. In fact, 1 MB is 1024*1024 bytes. After the test, the results are displayed in another dialog box. You can write the results into a file or send them to your printer. When writing to a file, the default filename is 'CHECKHD.DAT'. CHECKHD.DAT is an ASCII file that my be read or edited by any standard ASCII editor. We are very interested in receiving results of your tests. We will collect the results and publish them in the German magazine 'ST-Computer'. If you own a drive that is not mentioned yet in the list of drives we have tested so far, please send us a short test report. My address: Claus Brod Am Felsenkeller 2 D-8772 Marktheidenfeld (049)-(0)9391-3206 E-Mail: C.BROD@LINK-N (German Zerberus net) Claus Brod @ WUE (German Maus net) csbrod@medusa.informatik.uni-erlangen.de (Usenet) VERSION HISTORY V1.0 - 6.9 The good old days when CHECKHD was a TOS program and only could READ a disk. V7.0 First GEM version; appeared first on the KLEISTERSCHEIBE V2.0, the disk in our book SCHEIBENKLEISTER. Formed the basis to the ST-Computer hard disk benchmark package. V8.0 New algorithms, better GEM implementation, adapted to many drives. V8.1 Also runs as an accessory; may be started in GEMINI by double-clicking CHKHD81.ACC. With ATARI and SCSI drives, CHECKHD81 temporarily disables the controller's internal error correction while READing. Growing and shrinking boxes when opening and closing dialogs are switched off by default.