Hard Drive Primer

Part 2 of 2

Thanks for the memory!

Howard Carson concludes his hard disk primer with an overview of hard disk driver software...

The three most popular hard disk drivers are made by ICD Inc, Atari and Uwe Seimet. The driver itself is a small SYS file called either

  • ICDBOOT.SYS (ICD),
  • SHDRIVER.SYS (Atari) or
  • HDDRIVER.SYS (Uwe Seimet)

which resides in the root directory of your boot drive
(typically C: for hard disk based systems or A: for floppy based systems)

The ICD driver software, although not 100% AHDI compatible, is very popular and comes in three flavours:

  • The commercial PRO level; which installs on all models with or without an ICD host adapter in the system. CD-ROM, Floptical and other SCSI devices are supported. A copy of the Cleanup ST utility is included to help diagnose and repair disk problems.
  • The LINK level; as shipped with the ICD Link SCSI/ASCI host adapter. This level also supports Floptical and CD-ROM drives.
  • Freeware level; downloadable from on-line services and available from PD/Shareware libraries. This level includes enough utilities to get most hard drives up and running. Cache software is included, although on systems without an ICD host adaptor caching is disabled. CD-ROM and Floptical devices are not supported.

The Atari driver, called Atari Hard Disk Interface (AHDI), is Freeware and includes utilities to format, partition and boot most drives.
Other Atari Freeware utilities are available separately including a software cache (CACHEnnn.PRG) and configuration utility (HD_PATCH.PRG).
HD-Driver, the leading light of the bunch, is fully AHDI/XHDI compatible and comes bundled with a full suite of utilities which supports for the latest devices and multitasking operating systems.
HD-Driver provides the most flexible configuration options overall and is still under active development.

Benchmarking

The relative performance of driver software defies accurate benchmarking but can be usefully defined in general terms:
  • The ICD driver, with optimal cache settings, is faster than the Atari driver when used with pre-TOS v1.04 and any hard drive. Pre-TOS v1.04 write operations to partially full drives are extremely slow. As the drive fills up, writes slow down considerably. The Auto folder program FATSPEED, replaces the slow Atari TOS code to solve this problem. A TOS upgrade to at least TOS v1.04 is recommended - although for around the same outlay a copy of MagiC might be a better investment. MagiC includes fast efficient drive handling code along with the benefits of pre-emptive multitasking and many other features.
  • The Atari driver, with optimal cache settings, used with TOS v3.06 or later (typically TTs and Falcons) is not as fast as the ICD software when using the older Megafile and SCSI I drives. SHDRIVER.SYS is however very reliable and more compatible than ICDBOOT.SYS.
  • HD-Driver, with optimal TOS/FAT buffers, is faster than both the ICD and Atari drivers. In addition, HD-Driver supports the newer SCSI II and III standards which demand SCSI bus arbitration and regular polling queries to prevent drives spinning down. Many newer drive models spin down to save power which can cause mayhem with TOS, Mint, Geneva and MagiC.
  • The ICD driver does not offer any speed advantages over AHDI when used with TOS v3.06 or later and the newer SCSI II drives. In this situation both drivers and their corresponding software caches provide less notable benefits due to the presence of high speed cache/buffers on-board the hard drive controller. Try reducing your software cache to around 1/32 of available memory and see if you can detect any slowdown in system performance.

Always use CACHEnnn.PRG with AHDI.
Always use ICD's built-in caching when using the ICD driver.
Always use HD-Driver's built-in facilities.

Software caching


Some TOS versions require larger sector sizes when formatting the BGM format partitions required to access larger SCSI drives and these will create larger caches. In general the larger the sector size the larger the resulting cache.
For example CACHEnnn renamed to CACHE010.PRG provides 10 FAT buffers and 10 TOS buffers. The total cache size with small 512 byte sectors occupies just over 10Kb of memory. The same setting for 4096 byte sectors takes over 80Kb memory and with 16Kb sectors a whooping 320Kb of memory is gobbled up!
To determine the ideal sized software cache, proceed as follows:

  1. Create a temporary folder. Make sure your software cache is enabled - reboot to make sure where necessary. For the Atari driver rename CACHEnnn.PRG to CACHE010.PRG to set up a small cache. If you're using HD-Driver or ICD drivers use the defaults. Carefully time and make a note of how long it takes to copy 200 files and nested folders to the temporary folder and then how long it takes to delete them.
  2. Disable your software cache, reboot, and repeat the same test using the exact same files and folders.
  3. If the time for step 1 is faster your software cache is having a beneficial effect. Increase the size of the cache by 25%, reboot, and repeat the tests. If you get faster results increase the cache size by another 25% and try again. Repeat this process until there is either no speed improvement or you have used more than one eighth of available memory at which point you have determined the optimum software cache size for your system. Be sure to use exactly the same files and folders for all tests!
  4. If the time for steps 1 and 2 is the same the memory used by your software cache is wasted - or completely inadequate. This situation is most likely to occur when your system is booting one of the newer, faster hard drives, with their own on-board caches and adaptive segmented buffers.
  5. It is important to remember the optimal cache size, determined by these tests, does not provide the fastest data access/retrieval times in all situations - every cache set-up is a compromise.
  6. If you fancy experimenting take a look the shareware uitlity TCACHE, which offers total control over system read/write efficiency, on a par with the most advanced OS/2 or Windows 95/NT utilities. Always read the documentation carefully and back up your data before testing - have fun!

[Home] [Info] [Back] [Next]