ESDI controller recommendations

John Plocher plocher%sally at Sun.COM
Wed Aug 30 06:22:56 AEST 1989

In article <4843 at>, brad at (Brad Templeton) writes:
> Surely it makes more sense for the OS to do all other cache duties.
> Why put the 512K in your drive when you can put it in your system and
> bump your cache there?   Other than the CPU overhead of maintaining the

We have here the timeless tradeoff between software and hardware.  The old
proven method of doing I/O is to use the main processor to shove the bits
all over the place.  e.g., MAC Video, Apple ][ floppy, IBM Serial I/O, IBM
hard disk, Sun Monochrome BW2 video, IBM VGA/EGA/CGA/MDA/Herc graphics...

This works well for a minimal system, but the high performance systems all
have migrated to the "add CPUs/smarts to the I/O system" camp.  Examples
here include Digiboard Com 8/i serial boards, TI/Intel graphics chips,
Adaptec SCSI host adapter, and the above mentioned DPT hard disk controller.

The DPT gives you several things besides the basic caching that an OS would find
hard to do simply:

	Host I/O works in parallel with controller/disk reads and writes
	Sector caching instead of track or cyl caching (finer granularity)
	8 sector automatic read ahead w/o missing a rotation - Data is returned to
		host as soon as avaliable, not after all 8 sectors have been read in
	Read ahead is pre-empted by a cache miss from host
	Ordered write back - Writes are cached and elevator sorted by the controller
	250ms latency between host "write" and start of dirty-sector write back
		All writes "succeed" within 0.5ms, actual write may delay ~250ms
	Burst write back if more than 50% of the cache is dirty
	Geometry spoofing (you tell controller what actual geometry is, and what
		your OS can handle (DOS can not access > 1024 cyls, ...) and the
		controller maps between them transparently.

In general, pushing all this off onto the controller is a win because it simplifies
the OS design and results in less main processor overhead to handle I/O to the

    -John Plocher

A very happy owner of a DPT PM3011 RLL controller

More information about the Comp.unix.i386 mailing list