I think
you'd definitely want to have enough storage to hold a
complete image--it'd make copying much simpler, no?
I don't see what it would gain you, though. You've still got the same amount
of data to transfer between host and device - and I bet someone can come up
with a situation where they'd want to just read or write a single track rather
than an entire image, which makes transferring an entire image wasteful
(particularly at RS232 speeds!)
Maybe someone can think of a situation where you *need* more than one track in
memory at once, though. (Note I'm not thinking at all about storage formats
which aren't track-based though)
If you buffer a track at a time, then you need to start/stop the drive while you
wait for the data to transfer to the PC (esp. RS-232) - Buffering an image at
a time would allow you to read the whole disk while the data is dribbling out -
I would still logically do it track by track however - you may need to reanalyze
as track formats change etc.
Besides, a few
megabytes of RAM is nothing nowadays.
DRAM, no. In that sort of situation providing a SIMM / DIMM socket would seem
the best bet and people can populate it with whatever memory they have to
hand. There is the refresh issue then, though.
I've been using some CIRRUS ARM based CPUs lately, and the DRAM interface
is very simple - reflresh etc. is all done transparently by the DRAM controller. If
you go ARM, no reason not to put on a pile of DRAM.
Dave
--
dave06a (at) Dave Dunfield
dunfield (dot) Firmware development services & tools:
www.dunfield.com
com Collector of vintage computing equipment:
http://www.classiccmp.org/dunfield/index.html