Google Answers Logo
View Question
 
Q: Emulating IDE/ATA Interfate ( No Answer,   2 Comments )
Question  
Subject: Emulating IDE/ATA Interfate
Category: Computers > Hardware
Asked by: quacky-ga
List Price: $20.00
Posted: 27 May 2003 06:31 PDT
Expires: 26 Jun 2003 06:31 PDT
Question ID: 209293
Hi,

I am looking for information on emulating a standard IDE/ATA disk.

By this i mean creating a device which would connect to a standard PC
via the IDE interface and report itself as being a standard disk.
(where infact it would not be a disk at all, but an electronic
component serving real-time data as emulated 'files' to the host
computers operating system)

What i am looking for are projects documented on the internet which
have achieved this, and if not, then any information relating to the
subject.
(there may infact be OEM components for embedded developers which
achieve most of the low-level work. Possibly even ATA controller chips
??)

As a further example of what i am looking for, think of 'CompactFlash'
devices (mainly for embedded use) which 100% emulate the IDE/ATA
interface.
so operating systems see them as a standard dos/windows file systems
without extra drivers necesary.

This is not for a data storage project, but for real-time data
collection.
The IDE iterface is important due to verry high bandwidth requirements
and cross-platform compatibility.

Thanks in advance.

(PS: i was not sure if this question was specifically computer
related, as most computer questions i see in that section are 'end
user' troubles. I could not find a 'electronics/projects' group -
perhaps a good suggestion to have one)

Request for Question Clarification by skermit-ga on 27 May 2003 06:37 PDT
What exactly are you going to do with this? It seems pretty
interesting what you have written so far, and I've found a couple
slashdot.org articles/discussions about building your own RAMdrive
(same dealie as you mentioned about the compact flash cards pretty
much, only larger), but don't forget you're still limited by the
bandwidth of the IDE/ATA specs ATA33-ATA133 (33 megabits/sec -> 133
megabits/sec). Ram type storage is capable of MUCH faster transfer
rates. So more specifically, could you trim down your question a bit
so it's easier for me to understand?

skermit-ga

Clarification of Question by quacky-ga on 27 May 2003 07:28 PDT
Hi Skermit,

Without giving too much detail about the exact use of this device (for
obvious reasons :)), i can say that the speed of the IDE/ATA BUS is
sufficient.

That does sound interesting RE the slashdot.org articles, it could
point us in the right direction of how we would go about this.

But keep in mind that this is not a storage device.
the files on the 'emulated filesystem' would serve dynamic real-time
data.
(of course some form of buffer would be necesary to ensure no data
corruption, as i believe, correct me if im wrong, the data from a
disk, even an emulated one, comes off in chunks - so a whole file
would not be retrieved at once)

In the end, we want our device to act as a data 'stream', where
opening and reading from a file would never actually end.
Once the file is opened in a program, and a read loop initiated, the
EOF would never actually happen, giving a driverless interface to a
fast data stream.
this is our goal.

Apart from speed, the IDE/ATA interface would allow this to be
completely cross-platform without drivers and support issues. As
reading from files is one of the most basic thing any O/S can do.
(and an emulated dos fat16 partition format would be the most
compatible across all platforms presumably)

Sorry for the lack of specifics, but this is only a new idea, and we
are still 'working out the details'.


For examples sake, lets assume we are making an IDE temperature
sensor.
Where once installed, the bios would detect this device as a "XXXmb
Temperature.drive".
Under dos/windows/linux, it would assume the next available drive
letter.
(or in Linux' case, be mounted as /whatever)
Opening the file <drive_letter>:\temp.in would then return the current
temperature.

Something to accomplish this would serve as our base.


I hope this clears it up and narrows the field a little.
This is a difficult question. :)
Answer  
There is no answer at this time.

Comments  
Subject: Re: Emulating IDE/ATA Interface
From: mark_f-ga on 27 May 2003 16:21 PDT
 
Hi,

The search term "Solid State Disk" + IDE or EIDE, and "ATA controller
card chipset" may assist answering your question. A vaguer "Hardware
Ramdisk" returned some hits.

Please don't shoot the messenger, but with the ethic of streaming,
have you compared to a USB removable drive? Searching for "USB
cross-platform Linux drive" reveals further advantages. USB 1.x up to
12 Mbps and USB 2.0 up to 480 Mpbs. See www.usb.org/developers

Regards,
Mark F
GB


My Ref: Emulating IDE/ATA Interfate
http://answers.google.com/answers/main?cmd=threadview&id=209293
Subject: Re: Emulating IDE/ATA Interfate
From: quacky-ga on 28 May 2003 00:52 PDT
 
Hi Mark,

Yes, i got a lot of vague information with my searches, but nothing
verry usefull (not unless i was to start from the ground up and really
do a *lot* of work).

Yes, currently our system does use a USB interface, but that causes a
lot of driver problems under different OS's and also not all hardware
platforms (SBC's) support USB. Especially the lower-end cheaper ones.
(they dont all support IDE either, but there is definantly more
support for it, and the simplicity of use is what is so attractive
about it ... )

i will try some of your search terms ...
Thanks :)

Important Disclaimer: Answers and comments provided on Google Answers are general information, and are not intended to substitute for informed professional medical, psychiatric, psychological, tax, legal, investment, accounting, or other professional advice. Google does not endorse, and expressly disclaims liability for any product, manufacturer, distributor, service or service provider mentioned or any opinion expressed in answers or comments. Please read carefully the Google Answers Terms of Service.

If you feel that you have found inappropriate content, please let us know by emailing us at answers-support@google.com with the question ID listed above. Thank you.
Search Google Answers for
Google Answers  


Google Home - Answers FAQ - Terms of Service - Privacy Policy