From: ajc@pa.dec.com (AJ Casamento)
Newsgroups: comp.arch
Subject: Re: question about DMA devices
Followup-To: comp.arch
Date: 21 Dec 92 19:56:46
Organization: Digital Equipment Corporation
NNTP-Posting-Host: thendara.pa.dec.com
In-reply-to: dfk@wildcat.dartmouth.edu's message of Fri, 18 Dec 1992 16:59:15 GMT




In article <1992Dec18.175402.27841@hubcap.clemson.edu> dfk@wildcat.dartmouth.
edu (David Kotz) writes:


>> I have a question about DMA devices, specifically for networks and disks.

>> Do you know if it is possible (and if so, common) for a DMA device to
>> support scatter/gather? In particular, I'm trying to model a
>> multiprocessor interconnect network interface, and it would be very
>> helpful if I could avoid packetization by specifying the addresses and
>> lengths of my message header and message body, for the network DMA to
>> pick up. I'm guessing that this is not usually an option.

>> Also, in a disk interface, can it read in a whole track but scatter
>> the blocks to different locations in memory? I'm guessing that this
>> kind of thing is more common.

>> Thanks,
>> dave

Dave,

  It is certainly possible to have a DMA device which utilizes a scatter/gather
function. In fact, the TcIA (TURBOchannel Interface ASIC, from Siemens) does
exactly that. It seemed a necessary piece of functionality given that the speed
of servicing an interrupt to the OS to load another pointer is one of the long-
est delays around. You can get a preliminary copy of the TcIA specification by
anonymous ftp from:

gatekeeper:    16.1.0.2		gatekeeper:pub/DEC/TriAdd/tci_spec06.ps
							  tci_spec06.ps.Z

That should give you some backround ideas. Building a network interface around
such a device shouldn't be difficult.

  As to the disk drive interface; well if we determine a DMA capable controller
which can handle good sized transactions I'd say it would have to (I should
mention here that TURBOchannel uses physical DMA addresses). Given that when an
application wants to DMA a large file (say a live video image) into system
memory that application allocates a number of pages of virtual memory, it is
frequently safe to expect that while those pages may be logically contiguous to
the memory system, it is unlikely to be physically contiguous. Therefore, the
disk controller (if it uses physical DMA addresses) will have to be capable of
the type of activity you are suggesting. A possible source of information for
you about this is a company called GENROCO. They make a TURBOchannel IPI card
that is both very fast and handles this sort of DMA activity. You can reach the
company at	sales@genroco.com	and ask that the information request
be forwarded to one of the engineering folks. They're a friendly crowd and not
at all shy about discussing their products (understandably, as they have some
really good products) so I imagine they'll be willing to discuss it with you.

I hope that helps.

				Thanx,
				  AJ


      **********************************************************************
      * AJ Casamento			"The question is not whether or    *
      * Digital's TRI/ADD Program	 not the opinions are mine; but    *
      * 529 Bryant Ave. PAG-2		 rather, which of my personalities *
      * Palo Alto, CA 94301-1616	 do they belong to?"		   *
      * 415.617.3460							   *
      * ajc@pa.dec.com  						   *
      **********************************************************************