View Single Post
Old 26 September 2008, 07:49   #2
NovaCoder
Registered User
NovaCoder's Avatar
 
Join Date: Sep 2007
Location: Melbourne/Australia
Posts: 3,438
In a blind fit of RTFM, I've answered most of my own questions which I'll post here for other users.

Quote:
Originally Posted by Mask
The Mask field can be used to tell a filesystem that the device which comes with your (harddisk) controller cannot directly access its data in all regions of memory available on your system.

When a device has been properly written it should be able to cope with data located anywhere in memory. For those devices the Mask should be set to 0x7FFFFFFF. Only badly written or very old devices need a different Mask -- in other words, the Mask value is a compatibility kludge to fix broken devices.

For example, some devices can't access data starting at an uneven address in memory. Some even can only access data when it starts at an address which can be divided by four. In the first case you would set the Mask field to end in 'FFFE', and in the second case to 'FFFC'. If your controller can handle addresses without alignment restrictions then you can set it to 'FFFF' (which is of course the preferred value).

There are also devices which can only access memory in the 24-bit memory area (everything below the 16 MB boundary). Usually these are Zorro-II controllers which cannot directly access memory located on, for example, an accelerator card. For these devices you should the mask to 0x00FFFFFF, indicating that the device can only access data in the 24-bit address space.

Devices which can access data located anywhere in memory (a SCSI controller which is embedded on an accelerator card, or a Zorro-III IDE or SCSI controller) should have a mask of 0x7FFFFFFF.

Remember, the Mask value needs to be set for each partition. Just changing one Mask value will only affect a single partition, not the entire drive. Also don't forget that each harddisk controller can have different Mask settings.
Quote:
Originally Posted by MaxTransfer
The MaxTransfer field can be used to tell a filesystem that the device which comes with your (harddisk) controller can't handle more than a specific amount of data in a single access. This problem usually occurs with IDE drives, which usually have a limit of 64 or 128 kB which can be transfered at once. You can set the MaxTransfer field in HDToolBox or in your mountlist.

When a device has been properly written it should be able to cope with any amount of data being transfered. These devices can have a MaxTransfer value of 0x7FFFFFFF. Only badly written or very old devices need to set a smaller value in MaxTransfer -- in other words, the MaxTransfer value is a compatibility kludge to fix broken devices.

In any case, if you have a SCSI drive, then a MaxTransfer value of 0x7FFFFFFF should be just fine. For IDE drives, you probably need to set it to 0x1FFFE or to 0xFFFE. Those values represent 128 kB minus 2 bytes and 64 kB minus 2 bytes respectively.

An incorrect MaxTransfer value can usually be detected by copying a few large files (more than 200 kB) to such a partition. If the large files are damaged while smaller files are undamaged then this is usually an indication that the MaxTransfer value is too large.

Remember, the MaxTransfer value needs to be set for each partition. Just changing one MaxTransfer value will only affect a single partition, not the entire drive.
Quote:
Originally Posted by BlockSize
Performance with large files, for example 5 MB or more, isn't very good when you use the default blocksize of 512 bytes with FFS. Larger blocksizes can fix this problem but introduce other problems.
This is also handy -> Drives larger than 4GB

All info gleaned from -> SFS
NovaCoder is offline  
 
Page generated in 0.07331 seconds with 9 queries