Newsgroups: comp.sys.ibm.pc.hardware
Path: cantaloupe.srv.cs.cmu.edu!das-news.harvard.edu!noc.near.net!howland.reston.ans.net!agate!dog.ee.lbl.gov!network.ucsd.edu!pacbell.com!amdahl!netcomsv!netcom.com!stam
From: stam@netcom.com (David Stam)
Subject: Re: Recommendations for a Local BUS (Cache
Message-ID: <stamC5r5FL.1At@netcom.com>
Organization: NETCOM On-line Communication Services (408 241-9760 guest)
X-Newsreader: TIN [version 1.1 PL8]
References: <1993Apr19.185511.2072@icd.teradyne.com>
Date: Mon, 19 Apr 1993 22:35:44 GMT
Lines: 85

Penio Penev (penev@rockefeller.edu) wrote:
>
>I have a Maxtor 212MB on an ISA IDE controller, although my machine is
>DX2/66 VLB. I has the save transfer rate of 0.647 MB/s regardless of
>the variations of the ISA bus speed. I tested it with speed between
>5.5MHz and 8.33MHz. Not _any_ difference. The problem is not the
>interface between the controller and the memory.
>

Chris Brinton (brinton@icd.teradyne.com) wrote:
: I also have a DX2/66 and a Maxtor 212. I have a local bus IDE controller (generic) and I get
: 985 KB/s. I tried swapping my local bus IDE controller for an ISA IDE controller and my
: transfer rate went to 830 KB/s. The specs for this drive show a maximum platter to controller
: transfer rate of 2.83 MB/s. I dont know how to get there from here. The local bus interface
: got me a little, but certainly not as much as I had hoped. I am also looking for a way to 

What is the deal with the IDE transfer rates?  Is anybody getting throughput
anywhere close to the platter->controller rate?  I haven't seen anything
even close to the 5MB/sec limit of the IDE interface.  These drives are 1:1
(non-interleaved), aren't they?

Here are the rates I get:

1) sequential read (MSDOS C program that uses bios calls to read 64-sector
                    blocks sequentially from outside (first) track inward)

                     8mhz bus    10mhz bus
                     --------    ---------
   MAXTOR LXT340:    860KB/sec   976KB/sec
   QUANTUM LPS240:   862KB/sec   887KB/sec

2) disk buffer read (same C program, but re-reads the same block repeatedly
                     so in effect is reading the RAM buffer on the drive)

                     8mhz bus    10mhz bus
                     --------    ---------
   MAXTOR LXT340:   1046KB/sec  1212KB/sec
   QUANTUM LPS240:  1015KB/sec  1276KB/sec

3) CORETEST V2.7 transfer rate (seems to agree with (2) above)

                     8mhz bus    10mhz bus
                     --------    ---------
   MAXTOR LXT340:   1051KB/sec  1224KB/sec
   QUANTUM LPS240:  1026KB/sec  1298KB/sec

I managed to get hold of the QUANTUM LPS240AT product manual and it goes
into excrutiating detail describing how the bits get from the platter,
through the controller, and out the IDE interface.  Nowhere do I see
anything like "after the bits are whipped of the platter at high speed
they sit around in a buffer to thaw before they are sent to the host"
(even though I SWEAR that's whats happening ;->).  Here are some relevent
quotes from the manual:

  "Data is transferred from the disk to the read buffer at a rate of
   3.75 MB/s maximum, 1.87MB/s minimum."  (My calculations show 3121KB/sec
   maximum and 1578KB/sec minimum...  disk spins at 4306 RPM with 87
   sectors per track on the outside and 44 on the inside)

  "Single burst errors of up to 24 bits within one sector can be corrected
   'on-the-fly', in real time as they occur, allowing a high degree of
   data integrity with no impact to the drive's performance."  (I take
   this to mean error correction isn't the bottleneck)

  "For page-mode operations, the data-transfer rate to and from the buffer
   RAM is up to 10.0 MB/s. This high transfer rate allows the AT Interface
   IC to communicate over the AT bus at a data-transfer rate of 5.0 MB/s,
   while the DCS simultaneously controls disk-to-RAM transfers"
                 ^^^^^^^^^^^^^^
So the thing can even do it's cache pre-fetch WHILE it's sending the
requested sector (it has 3 64KB read buffers for pre-fetching, I guess
you could call that a cache :-|).

So when I do a sequential read on the outer tracks, WHY am I getting a
measly 862KB/sec when I should be getting around 3MB/sec???

Any of you hard-disk engineers out there know?


Wondering why my disks are so slow,  
David
                        o o
--------------------oOO-(_)-OOo--------------------------------------------
David Stam                            Linux: The choice of a GNU generation
stam@netcom.com                       386-un*x-X11R5-Openlook-gcc-TeX-FREE!
