idea for a universal disk interface

Tom Gardner tom94022 at comcast.net
Sat Apr 16 14:13:50 CDT 2022


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



-----Original Message-----
From: Fred Cisin [mailto:cisin at xenosoft.com] 
Sent: Friday, April 15, 2022 3:54 PM
To: General Discussion: On-Topic and Off-Topic Posts
Subject: RE: idea for a universal disk interface

On Thu, 14 Apr 2022, Tom Gardner via cctalk wrote:
> This was the approach IBM used in it's first RAMAC RAID where I think 
> they had to buffer a whole cylinder but that was many generations ago

(my copy of the specs may not be exact):
Buffering a whole cylinder, or a whole surface, of the RAMAC was no big
deal.
One hundred surfaces (52 platters, but not using bottom of bottommost nor
top of topmost) totalling to 5 million 6 bit characters.

That's 50,000 characters per surface.
OR 50,000 characters per cylinder
("square geometry" :-)

100 tracks per side of a platter (at 20 tracks per inch) meant about 500
characters per track

Problematic in the CP/M days, but such a buffer is small in current usage.




More information about the cctalk mailing list