Making Your Own ATA device / Reverse IDE/ATA Bridge

  • Thread starter Thread starter Rubey Vogle
  • Start date Start date
R

Rubey Vogle

Two things:

1) If I were developing an ATA/6 device, is there a generic ATA
reference platform I can buy that implements the IDE interface (e.g.
UDMA33) and allows me to just hook up my additional h/w to an internal
bus.

2) It is my impression that most bridges to ATA/IDE are 1 directional.
For example, a USB ATA bridge allows me to access an ATA drive as if
it were a USB drive. It does NOT allow me to access a USB drive as if
it were an ATA drive.

Are there any BRIDGE chips that allow me to access USB2 or PCI as if
it were an ATA drive. For example, I would hook this bridge up to my
IDE controller instead of a disk and all ATA commands from that disk
controller would be translated to PCI?
 
Previously Rubey Vogle said:
Two things:
1) If I were developing an ATA/6 device, is there a generic ATA
reference platform I can buy that implements the IDE interface (e.g.
UDMA33) and allows me to just hook up my additional h/w to an internal
bus.

Since ata is an internal bus, what would be the point?
2) It is my impression that most bridges to ATA/IDE are 1 directional.
For example, a USB ATA bridge allows me to access an ATA drive as if
it were a USB drive. It does NOT allow me to access a USB drive as if
it were an ATA drive.

Since ATA and USB has a master-slave architecture, yes, it is like
this. For it to be different both busses would need to have an
architecture where all devices can act as initiator/master/whatever.
For example SCSI and ethernet are such architectures.
Are there any BRIDGE chips that allow me to access USB2 or PCI as if
it were an ATA drive. For example, I would hook this bridge up to my
IDE controller instead of a disk and all ATA commands from that disk
controller would be translated to PCI?

Of course not.

PCI and USB have entire different addressing and command shemes than
ATA. In fact USB uses the SCSI command set for most things, but the
"writable storage" part of the SCSI command set if only a small fraction
of the complete SCSI command set.

PCI does not have a storage command set at all or even a command set
the sense of ATA commands. PCI is just a layer 2 channel, i.e. direct
device to device communication. USB is layer 3, I would say and SCSI
should layer 7 in the OSI reference model.

As a consequence there is no way to specify PCI transactions in
the ATA command set or vice versa.

To illustrate this: USB does not have storage commands at all! USB
knows enpoints of a communication but has no idea of the contents of
that communication. It just can transport the SCSI commands to a
storage device.

Arno
 
Back
Top