| Amiga Realm: Web Directory Index |
| home | knowledge base | people & chat | shopping | entertainment | internet services |
| main | workbench faqs | online help | amiga next generation | networking faqs | internet faqs |
| knowledge base channel: /home/knowledge base/the faqs/performance/hd optimisation |
|
Optimizing Your Hard Drive -or- How Big is Your Mask? By Ed Hoffmann Recently I installed a SyQuest removable hard drive on my A2000. This is a SCSI device, and was easily attached to the A2091 SCSI controller. However, after installing the drive, it seemed a little slow, so I looked into the setup to see what I could do. As it turns out, there was plenty. When partitioning a new device, you must specify the file system to be used. The Commodore HDToolBox tool, normally installed in the Tools drawer on the WorkBench (or boot) partition, is used to set the file system and for other hard disk operations. (The following discussion is based on the AmigaDOS 3.0 version of HDToolBox, although the earlier versions are similar.) Typically the FastFileSystem (FFS) is used, the default Commodore file system. In addition, there are three cryptic codes that can be specified related to the file system: the Identifier, the Mask, and Max Transfer. These are set from the File System Characteristics screen, under the Advanced Options screen, which is in turn under the Partition Drive screen of HDToolBox. Note that HDToolBox file system modification operations might make the data on the drive inaccessible. The modification suggested below should not affect the drive (I have not had a single problem on any drive), but warning is given to those not familiar with these operations: only experiment with what you are familiar with, or you may have to restore the drive from your backup (you do backup your hard drive, right?). The three codes are hexadecimal (base 16) values, where each value begins with "0x" to indicate hexadecimal. The Identifier defines the file system being used, and is usually already set by HDToolBox according to the file system chosen. Typically, the FFS is used (coded as 0x444f5301), and this entry is ghosted unless a Custom File System is selected. The Max Transfer determines the maximum number of bytes to be moved during each Direct Memory Access (DMA) transfer (typically 0xffffff, or 16 MB). The Mask defines the areas of memory that can be used with DMA and is critical to the transfer rate of the device. The value I specified was the highest memory address on my machine, which in my case was 0x17ffffe. Ok, how do you know the highest memory address? I know of two ways: the ShowConfig tool (also located in the Tools drawer) that comes with AmigaDOS 2.1 and 3.0, and the GVPinfo command, which is part of GVPutils included with GVP accelerators. Both will report all memory addresses, broken down by type of memory (chip, fast, and 16 vs. 32 bit). I looked for the highest memory address of all the memory on the machine and used that for my mask value. This resulted in a very dramatic increase in transfer rate (it now rates 660,000 bytes/second according to DiskSpeed 4.1). The mask value is critical for accelerated machines with 32 bit memory on the accelerator (like my A2000). If restricted to the memory addresses of the 16 bit RAM on the motherboard, the data bus would be a major restriction in DMA operations. When the 32 bit memory is used for DMA transfers, the restriction is typically with the device I/O rate, not the bus. This is what occurred with my A2000, and why it was so slow. So if you have added a hard drive to your accelerated machine with 32 bit RAM installed, then it is important to check the Mask value for optimum transfer rates. It wouldn't hurt to check this value anyway to make sure it coincides with your memory configuration, especially if transfer rates seem a little low. |
| [ terms of service ] | [ contact form ] | [ help & info ] | [ acknowledgements ] | |
| Copyright ©2000-2021 Amiga Realm Smart Directory Service. All Rights Reserved. Serve Cool Design. |