adamd@rhi.hi.is (Adam David) (05/14/91)
In a previous article with subject 'Cannot open /dev/rfd? (ST 1.5:3)' I wrote: >So, why is it that /dev/rfd? fails during open()? (I didn't break it). >Has anybody already tackled the issue of formatting different floppy disk >parameters under minix? There are several issues involved, most notably >which interleave and skew factors to use and reducing the inter-sector gap >to add another 10% to disk capacity. The error was found in stfloppy.c and was causing open() to fail for all /dev/*fd? devices (except /dev/fmtfd? which was disabled). Actually it would handle SS disks correctly but barfed on DS disks. simple fix: multiply nr_sectors by nr_heads in the sanity checks at the end. I have heavily modified format.c and it now succesfully formats DD disks to 924k and HD disks to 1848k using 512-byte sectors. Changes to support ED disks up to 3696k are trivial. An ED format of 3864k is possible using 1024-byte sectors but will require further modification to the system, because the 512-byte sector size seems to be fairly extensively used as a constant. stfloppy.c could handle the deblocking internally, and no other part of the system would have to know about it - but there might be better ways since the minix system works mainly with 1024-byte disk blocks. The formatter supports complete flexibility in specifying interleave and skew factors, also various sector and track combinations. Slight squeezing of sector gaps is used for the 21-sector HD format, and tight squeezing is used for the 11-sector DD and 22-sector HD format. When they are implemented the ED formats above 42-sector will also need to use squeezing. If there is reasonable interest I shall post the stfloppy.c patches and the modified version of format.c, otherwise I will make them available by email. -- Adam David. (adamd@rhi.hi.is)
HBO043%DJUKFA11.BITNET@cunyvm.cuny.edu (Christoph van Wuellen) (05/15/91)
It is no problem to work with 1024Byte sectors. My standard Disk format is 80 Cylinders 2 Heads 5*1024 bytes/Track yielding 800K/Disk. All formats that go beyond that I should call them unsafe. I use an interleave of 1:3 for MINIX file systems, so it is VERY good that the sector size equals the block size! C.v.W.
adrie@philica.ica.philips.nl (Adrie Koolen) (05/16/91)
In article <3143@krafla.rhi.hi.is> adamd@rhi.hi.is (Adam David) writes: >I have heavily modified format.c and it now succesfully formats DD disks to >924k and HD disks to 1848k using 512-byte sectors. Changes to support ED disks >up to 3696k are trivial. An ED format of 3864k is possible using 1024-byte >sectors but will require further modification to the system, because the >512-byte sector size seems to be fairly extensively used as a constant. Although it's technically marvelous that you can squeeze that much data on a floppy diskette, I advise NOT to do it. Three important points in diskette data storage come to my mind now: 1. High capacity (as high as possible) 2. Compatibility (media level as well as data level) 3. Reliability With respect to the first item, you've gained a substantial improvement in the storage capacity, but obviously you've lost compatibility with many computer systems and users. While this may not seem important to you now, this incompatibility will get to you later. The most important problem however, is the reliability of the data storage. In high density, you format 84 cylinders with 22 sectors of 512 bytes per track. You cannot guarantee that every drive can read/write 84 cylinders and a drive that cannot read past the 80th cylinder is not implicitly faulted. Furthermore, the coating of the magnetic media need not extend to the 84th cylinder and when it does, the coating on the last cylinder might not be as thick as on the first 80 certified cylinders. The gaps are needed to allow fluctuations in the spindle motor (and to allow easier synchronization of the data seperators). If a sector is rewritten after a long time and the spindle motor runs faster than the last time the sector was written, the angle the sector is written over, becomes larger. The gap after the sector provides some extra space for the sector. In the IBM system 34 diskette format definition (MFM), minimum gap sizes are defined to allow for 3% speed differences (+1.5% / -1.5%). I bet that you dropped below those gap sizes. That's all right, I hear you say, because modern diskette drive have much better motors. But don't forget that your drive may be running at 303 rpm and the drive of someone else at 297 rpm, both stable at within the specs! Also, your drive might wear out and drop speed after a few years. I can imagine that you only want to use your squeezed diskettes for your own archiving purposes, but even that I advise against. I've wanted to restore some old programs I wrote on my Commodore PET some 10 years ago on a PC. The PET used a 5.25" double sided floppy diskette with 10 512 bytes sectors per track. The PC constantly had problems with the short gap before the first sector of each track and therefore could not synchronize its data separators. Sectors 2-10, I could read but not the first sector. Adrie Koolen (adrie@ica.philips.nl) Philips Innovation Centre Aachen
adamd@rhi.hi.is (Adam David) (05/18/91)
In <813@philica.ica.philips.nl> adrie@philica.ica.philips.nl (Adrie Koolen) writes: >The most important problem however, is the reliability of the data storage. >In high density, you format 84 cylinders with 22 sectors of 512 bytes per track. >You cannot guarantee that every drive can read/write 84 cylinders and a drive >that cannot read past the 80th cylinder is not implicitly faulted. Furthermore, >the coating of the magnetic media need not extend to the 84th cylinder and when >it does, the coating on the last cylinder might not be as thick as on the first >80 certified cylinders. I agree that compatibility between different types of drives / controllers is a potential hazard well worth being aware of. Modern drives conform to a higher standard of design / manufacture in this respect. The old DD drives on the original ST could not guarantee beyond 82 sectors without filing away the headstop, but as far as I know most recent DD drives and all the newer HD drives step reliably out to 84 sectors. The drives on the first ST's might be expected to have a rotational speed somewhere between 295 and 305 rpm. Mine was somewhere between 300 and 301. Since I replaced it with HD drives I get better speed accuracy. Using an 84-track disk on an 82-track drive, a seek error occurs beyond the 82nd sector during read/write or format verify. (assuming that all tracks are formatted first before verifying the whole disk). Concerning floppy disks, the media on any disk worth buying extends beyond 85 tracks so there is no problem here except when buying disks from shoddy or ill-informed manufacturers. Only the 11 sector DD, 22 sector HD and 44 sector ED formats would have possible trouble sharing the disks between different drives using the same (or equivalent) floppy controller. This is because the sector gap is uncomfortably tight, particularly the 11 sector DD. Other computer systems than the ST use a wider range of controller types and this is where the biggest compatibility problem lies, but with modern equipment it is more likely that the hardware can cope, but the software doesn't know about it yet. An example was mentioned of failing to read old Commodore disks on an IBM PC. Both of these systems have known shortcomings in the disk controller circuitry, and this was before compatibility became a real issue. 10-sector DD disks shouldn't really run into any problems between different systems in use today. -- Adam David. (adamd@rhi.hi.is)
adrie@philica.ica.philips.nl (Adrie Koolen) (05/21/91)
In article <3157@krafla.rhi.hi.is> adamd@rhi.hi.is (Adam David) writes: >I agree that compatibility between different types of drives / controllers is >a potential hazard well worth being aware of. Modern drives conform to a >higher standard of design / manufacture in this respect. `Modern drives' are not yet old, but they will be somewhere in the future. When current modern drives get old, they won't get better; they probably run worse as they get aged. Also, the diskettes they've now written, are also worn-out after a few years. Your observations are based on `modern' drives with `new' diskettes, which you instantly read back after you've written them. Of course, I can't exactly tell how much the current drives and diskettes deteriorate in the future, but neither can you! The only precaution you can take is not to push disk formatting too far! >An example was mentioned of failing to read old Commodore disks on an IBM PC. >Both of these systems have known shortcomings in the disk controller circuitry, They worked properly with diskettes, formatted according the IBM system-34 (MFM) specs! >and this was before compatibility became a real issue. 10-sector DD disks >shouldn't really run into any problems between different systems in use today. But what about the systems, in use in the future? I've diskettes, formatted on my Apple II+ some 7 years ago and when I tried to read them lately, much of the diskettes gave read-errors. Now I know that diskettes need not last for more than 5 years, but I can GUARANTEE that diskettes, formatted closely to the limits of the specs, will give you more read problems and earlier than diskette, formatted according the MFM specs. Adrie Koolen (adrie@ica.philips.nl) Philips Innovation Centre Aachen
Christoph van Wuellen <HBO043%DJUKFA11.BITNET@cunyvm.cuny.edu> (05/21/91)
Why dont you switch to bigger sectors: While 10-Sector DD is potentially unsafe, and 11-Sector DD is russian roulette, 5-Sector (5*1024 bytes) DD is perfect! C.v.W.
adamd@rhi.hi.is (Adam David) (05/23/91)
In <816@philica.ica.philips.nl> adrie@philica.ica.philips.nl (Adrie Koolen) writes: >In article <3157@krafla.rhi.hi.is> adamd@rhi.hi.is (Adam David) writes: >>I agree that compatibility between different types of drives / controllers is >>a potential hazard well worth being aware of. Modern drives conform to a >>higher standard of design / manufacture in this respect. >`Modern drives' are not yet old, but they will be somewhere in the future. >When current modern drives get old, they won't get better; they probably run >worse as they get aged. Also, the diskettes they've now written, are also >worn-out after a few years. I agree with you entirely. My main point is that the standard of manufacture has (in most cases) improved considerably over the last two or three 5-year periods. Floppy disks used to be rated for 5 years storage if used lightly enough not to wear the magnetic surface clean away. Today's floppies are rated at ten years reliable storage and it is possible to get Teflon-coated disks which reduce the problem with the surface wearing out. Newer models of drives are mostly improvements over previous models. Manufacturing techniques, materials and knowledge have definitely improved. You make a valid statement and so do I. Just take a (little-used) drive from ten years back and a modern one. If you find no significant difference I'd be inclined to say that the so-called modern drive was old stock. Who trusts valuable data to magnetic media anyway? :-) -- Adam David. (adamd@rhi.hi.is)
adamd@rhi.hi.is (Adam David) (05/23/91)
In <54215@nigel.ee.udel.edu> HBO043%DJUKFA11.BITNET@cunyvm.cuny.edu (Christoph van Wuellen) writes: >Why dont you switch to bigger sectors: This is definitely the way to go. 5*1024 and 11*1024 (HD) formats do not squeeze the gaps between sectors. I have some difficulties though in moving over to 1024-byte sectors on the ST. I seem to have made all the necessary changes to stfloppy.c but get nothing but read/write errors from the DMA. 'dma status 0x0' is reported during the verify stage of formatting. Obviously some other part of the system has to be fixed before 1024-byte sectors will work on ST-Minix. I'm sure this problem has been solved before. What am I missing, and where should I be looking? >While 10-Sector DD is potentially unsafe, and 11-Sector DD is russian >roulette, 5-Sector (5*1024 bytes) DD is perfect! 10-sector (*512) works fine with the WD1772 controller, even between systems. I agree that 11-sector (*512) has doubtful merits and should not be used without understanding the risks involved. (it seems also to be slower). -- Adam David. (adamd@rhi.hi.is)
leo@krabat.marco.de (Matthias Pfaller) (05/28/91)
In article <3179@krafla.rhi.hi.is>, adamd@rhi.hi.is (Adam David) writes: > sectors will work on ST-Minix. I'm sure this problem has been solved before. > What am I missing, and where should I be looking? > I have posted diffs for the ST-Minix floppydriver to make it possible to change the sector-size via ioctl. It works well and I use 1k sectors all the time. My driver also supports the (illegal, unportable ... I know) hack with connecting 10.24 Mhz to your FDC. You can then put 7 1k-sectors on a track without any problems, also there are few people who can read it. Mattias