Interesting idea, there are three broad classes of HDD interfaces:

1.       Dumb, that is serial data and parallel control

2.       Intelligent parallel

3.       Intelligent serial

IMO if you can do dumb interraces then the others follow and given today’s 
technology I suspect it is feasible

Within the dumb group there are several “standards” with very similar controls 
but with different data rates and track formats

*         2311/2314 including PCM versions

*         DEC RL0x which is pretty much the same as 2311/2314 except interface 
voltages and goes up to 200 MB disk pack drives, maybe higher

*         Diablo which is a simplified control version of RL0x

*         SMD which is an enhanced control version of RL0x

*         ST502/412/412 RLL which is a simplified control version of RL0x

*         ESDI which unfortunately serialized some of the control over the 
parallel interface otherwise similar to RL0x

There are a few others like ANSI and CalComp but they are probably not worth 
investigating.

 

 

I don’t know who invented the 1311 interface but IMHO he spawned an industry :)

 

I think the maximum data rate is something on the order of 15 MHz so one ought 
to be able to read in an entire track at a sufficiently high data rate so as to 
be able to decode the data  using an appropriately programmed DSP.  Essentially 
all the hardware used for serializing/deserializing, formatting/deformatting 
and ECC in a traditional controller reduced to firmware

 

Likewise there is a maximum number of control pins and only two voltage 
signaling levels (IBMs and DTL) so a combination of a programmable transceiver 
with a personality module ought to allow connection to and signaling with any 
physical device.  Communicating control and status then is also a programming 
exercise

 

Writing all the firmware would be a challenge but in the end you would be 
dealing with an array of blocks of good data, which would then be the starting 
point for tackling  the intelligent interfaces which purport to start and stop 
at the same array of blocks of good data.  I think u might be able to make this 
work with all the flavors of SCSI (with maybe a DSP on the personality module 
to handle the bus states) but good luck with intelligent serial interfaces.

 

Just my 2 cents :)

 

tom

 

 

 

-----Original Message-----
From: shadoooo [mailto:shado...@gmail.com] 
Sent: Tuesday, April 12, 2022 10:36 PM
To: cctech@classiccmp.org <mailto:cctech@classiccmp.org> 
Subject: idea for a universal disk interface

 

Hello,

I'm a decent collector of big iron, aka mini computers, mainly DEC and DG.

I'm often facing common problems with storage devices, magnetic discs and tapes 
are a little prone to give headaches after years, and replacement drives/media 
in case of a severe failure are unobtainable.

In some cases, the ability to make a dump of the media, also without a running 
computer is very important.

 

Whence the idea: realize an universal device, with several input/output 
interfaces, which could be used both as storage emulator, to run a computer 
without real storage, and as controller emulator, to read/write a media without 
a running computer.

To reduce costs as much as possible, and to allow the better compatibility, the 
main board shall host enough electrical interfaces to support a large number of 
disc standard interfaces, ideally by exchanging only a personality adapter for 
each specific interface, i.e. connectors and few components.

 

There are several orders of problems:

- electrical signals, number and type (most disk employ 5V TTL or 3.3V TTL, 
some interfaces use differential mode for some faster signals?)

- logical implementation: several electrical signals are used for a specific 
interface. These must be handled with correct timings

- software implementation: the universal device shall be able to switch between 
interface modes and be controlled by a remote PC

 

I suppose the only way to obtain this is to employ an FPGA for logic 
implementation of the interface, and a microprocessor running Linux to handle 
software management, data interchange to external (via Ethernet). This means a 
Xilinx Zynq module for instance.

I know there are several ready devices based on cheaper microcontrollers, but 
I'm sure these can't support fast and tight timing required by hard disk 
interfaces (SMD-E runs at 24MHz).

 

The main board should include a large enough array of bidirectional 
transceivers, possibly with variable voltage, to support as much interfaces as 
possible, namely at least Shugart floppy, ST506 MFM/RLL, ESDI, SMD, IDE, SCSI1, 
DEC DSSI, DEC RX01/02, DG6030, and so on, to give a starting point.

The common factor determining what kind of disc interface can be support on 
hardware side is obviously the type of transceiver employed, for instance a 
SATA would require a differential serial channel, which could not be available.

But most old electronic is based on TTL/CMOS 5V logic, so a large variety of 
computer generations should be doable.

 

For the first phase, I would ask you to contribute with a list of interfaces 
which could be interesting to emulate, specially if these are similar to one 
from my list.

I please submitters to send me by email or by web link when possible, detailed 
documentation about the interface they propose, so I can check if it could be 
doable and what kind of electrical signals are needed.

Also detailed information about interfaced I listed is appreciated, as could 
give some detail I'm missing.

 

Thanks

Andrea

 

Reply via email to