On 2022-04-16 1:13 p.m., Tom Gardner via cctalk wrote:
Not the RAMAC of 1956 but the RAMAC Virtual Array of 1996,
https://www.ibm.com/common/ssi/cgi-bin/ssialias?htmlfid=897/ENUSC96-029&info
type=AN&subtype=CA&appname=skmwww
It emulated several different IBM DASD of varying CKD track lengths on fixed
block HDDs
The trick they used and the one I'm suggesting is they stored an entire
track, index to index including, gaps, headers, etc, in a concatenated set
of fixed blocks greater than the maximum length of the raw track.
For example, an SMD drive turning at 3600 RPM and with a data rate of 15
Mb/sec and a 5% speed variation has a maximum track length of 31,250 bytes
nominally but never more than 32,895 on the slowest drive. So allocating 65
sectors (512 byte) will fit the worst track. Of course since the emulator
doesn't have any speed variation only 62 sectors need be allocated per
track.
I poked around in some old Disk/Trends and it seems the largest ESDI/SMD
drive was on the order of 2.5 GB which is likely a formatted capacity so a
full drive emulation might require a maximum of 3.3 GB which is well within
the size of a modern PC and given the memory data rate I suspect an emulator
wouldn't have to buffer more than two memory words.
Tom
How do you handle the disk hardware timing, power up, seek
and disk RPM?. Ben.