mis@seiden.com (Mark Seiden) (02/28/90)
format is obviously less mature than the standalone diag, but its big advantages is that you can run it while doing other ordinary things, though not on a disk which has a mounted partition. since a lot of us are adding disks to/repairing blocks on existing systems, that's operationally more typical than formatting standalone... a few comments on large scsi disks (e.g. Wren VII): the ONLY thing important from the viewpoint of the disk's embedded scsi controller is the block address, so all we really care about is the number of blocks on the disk after formatting. cylinders, alternate cylinders, heads, sectors per track, bytes per track, are all artifacts of ESDI and SMD, and those artifacts are carefully preserved in the disk label and format.dat for no good reason i know of. anyone know to the contrary? what i usually do when getting a big scsi disk is find out the maximum addressable block. ignore the mfr supplied numbers of hds and cylinders. compute my own hdsprime * cylindersprime * sectorsprime <= maximum addressable block. /usr/games/factor finally has a known purpose! these numbers are almost completely arbitrary! the closer the product is, the less space is wasted. the smaller a "cylinder" is, the less waste in backup disk labels and the more waste in cylinder group overhead. concerning cylinder groups and zone recording techniques: The big CDC disks have variable numbers of sectors per track depending on whether you're on the inner tracks or on the outer tracks. The number is constant within a zone, a contiguous band of cylinders. This means BSD file system cylinder groups within any sizeable file system cannot be both of fixed size and also be aligned starting on a cylinder boundary. If you knew, or could find out (you can, with some difficulty) at what cylinder numbers the zones begin, you could arrange a good compromise where cylinder groups begin at cylinder boundaries, but what would you gain? that a cylinder group doesn't begin at a cylinder boundary doesn't necessarily impact performance, since it's only *relative* rotational position (and only 3 bits of it at that!) that is used for disk block allocation. for seeks between one cylinder and another that *happens* to cross a zone boundary, you may lose a rotation, but there are relatively few zones on a disk and when you seek you shouldn't be surprised in losing anyway. (while i have you here...) is format.dat documented anywhere? (what is cache? trks_zone? asect? fmt_time?) is there any convenient way to do a Read Capacity to find out the maximum addressable block on a formatted scsi disk? mark seiden, mis@seiden.com
dan@breeze.bellcore.com (Daniel Strick) (03/05/90)
The following comments are vaguely in response to the the query: " ... and those artifacts are carefully preserved in the disk label and format.dat for no good reason i know of. anyone know to the contrary?" In theory, using the correct geometry will improve performance with a Berkelix fast file system. Unfortunately, all the SCSI systems I have played with (including the ones I cook up) are either too slow to begin with or simply don't try very hard to optimize for the exact disk geometry. They tend to assume the geometry is a lie and do some sort of elevator algorithm in the block address space instead of the cylinder address space. I don't think anybody tries to do rotational optimization with SCSI. The amount of disk space that can be saved by carefully selecting cylinder geometry is trivial. When I label a SCSI disk, I usually use the correct number of heads and the actual track length for the first cylinder. At least this way I get the first few cylinders correct. Then I lie about the number of cylinders. The arithmetic is easy and I only lose an average of half a cylinder (no big deal when you have ~1500 cylinders). Dan Strick, aka dan@bellcore.com or bellcore!dan, (201)829-4624