# hdparm UDMA 100 gives 20MB/s - why sa slow?

## epinefryna

Hi

So, I'm using old Dell2200 machine with PCI HDD controller chipset, ITE IT8212F ATA 133 RAID.

/dev/hda is the only hardrive. Master on chanel 0.

DMA is compiled in kernel as well as IT8212 chipset support.

Here is the score:

```
/dev/hda:

 Timing cached reads:   172 MB in  2.04 seconds =  84.26 MB/sec

 Timing buffered disk reads:   60 MB in  3.06 seconds =  19.63 MB/sec
```

Isn't it to low for ATA100 hardrive?  Even on Old PCI bus it should be more, what do you think?

```
/dev/hda:

 multcount    = 16 (on)

 IO_support   = 1 (32-bit)

 unmaskirq    =  0 (off)

 using_dma    =  1 (on)

 keepsettings =  0 (off)

 readonly     =  0 (off)

 readahead    = 256 (on)

 geometry     = 16383/255/63, sectors = 78165360, start = 0

```

```

/dev/hda:

 Model=ST3402111A, FwRev=2AAA, SerialNo=5PF00XYL

 Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }

 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4

 BuffType=unknown, BuffSize=2048kB, MaxMultSect=16, MultSect=16

 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=78165360

 IORDY=on/off

 PIO modes:  pio0 pio1 pio2

 DMA modes:  mdma0 mdma1 mdma2

 AdvancedPM=no

 Drive conforms to: Unspecified:  ATA/ATAPI-1 ATA/ATAPI-2 ATA/ATAPI-3 ATA/ATAPI-4 ATA/ATAPI-5 ATA/ATAPI-6 ATA/ATAPI-7

```

I was using Promise UDMA66 PCI controller before - it gave I/O errors all the time - but the cached speed was also ~80 MB/s and buffered was around 18MB/s  so not so big improvement from ATA66 to ATA100.

Any hints?

And last question:  if I buy another harddrive and set up two drives stripe, will it be faster?

----------

## Mad Merlin

Is it a 5400 rpm drive?

Yes, striping two drives in raid 0 will make things faster, roughly double. It also means if you lose one drive, all of your data is gone.

----------

## epinefryna

It's:

```

Capacity: 40.0 GB

Speed: 7200 rpm

Average Seek Time: 11 ms

 
```

I know stripping should make this almost double but the question is is there enough bandwith on PCI to acomplish that.

There is no problem with raid in new hardware but this junk is old, very old...

----------

## Kabuto

What kind of processor?  Since you didn't get much change I would say you are limited to the MB/CPU and how fast it can handle the data coming in.

----------

## epinefryna

2 x PII 300MHz procesors  :Smile:  on DELL Poweredge mainboard.

20MB/s as a limit?  I do not want to believe this. But on the other side I do not know how to check it. (theory or in pracise)   :Sad: 

The built in SCSI controler should support up to 40 MB/s so I do not think 20MB/s is the limit of processor.

I can belive in PCI limits but on the other hand this drive can transfer data with 80MB/s from cache, so...

what is the limit, 20 or 80 MB/s?  Can I invest in second drive to make RAID 0 or this does not make sense?

----------

## chunderbunny

It's an old system with a fairly old drive. 20MB/s sounds about right to me.

----------

## Cintra

```
root@slax:~# hdparm -i /dev/hda

/dev/hda:

 Model=WDC WD1600JB-00FUA0, FwRev=15.05R15, SerialNo=WD-WMAES1643139

 Config={ HardSect NotMFM HdSw>15uSec SpinMotCtl Fixed DTR>5Mbs FmtGapReq }

 RawCHS=16383/16/63, TrkSize=57600, SectSize=600, ECCbytes=74

 BuffType=DualPortCache, BuffSize=8192kB, MaxMultSect=16, MultSect=off

 CurCHS=65535/1/63, CurSects=4128705, LBA=yes, LBAsects=268435455

 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}

 PIO modes:  pio0 pio1 pio2 pio3 pio4

 DMA modes:  mdma0 mdma1 mdma2

 UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5   <<<<<<<<<<<<<<<<

 AdvancedPM=no WriteCache=enabled

 Drive conforms to: device does not report version:

 * signifies the current active mode

```

you should be seeing *udmax on the <<<< line

If you aren't getting at least *udma4 I would swap my ATA cable for the best quality round cable you can find  :Smile: 

----------

## Kabuto

I can tell you your first number or 84.26 MB/sec is good.  PCI bus is ~127MB/s.  IDE has about a 35% overhead.  The Pentium II has right under 80MB/s memory access.  I can't find a definate on platter size for the drive.  The best I find is 160GB platter.  I knew you could use only 1 side of a platter but not half a side.  Anyway that platter size should allow over 40MB/s access on a modern system.  I think just chipset/CPU/memory speed just slow it down.  My 1.3GHz Duron and MB doesn't even provide me all the speed on my drive compared to benchmarks with newer systems.

You could try to run zcav from bonnie++ as hdparm isn't always correct.  It will give you a better view on inner and outer speed.  I have a feeling it will be a pretty flat graph.

Also, do you have a 80-pin ribbon on it?

----------

## JC99

```
/dev/hda:

 Timing cached reads:   172 MB in  2.04 seconds =  84.26 MB/sec

 Timing buffered disk reads:   60 MB in  3.06 seconds =  19.63 MB/sec
```

How did you test your drives? Whats the command?

----------

## Kabuto

Hmm.  I found out something trying to track my drive problem.  It looks like hdparm tests the first partition (eg. /dev/hda1).  Mine was testing slow with hdparm but fine with zcav.  My /dev/hda1 is a Windows partition I guess it doesn't like it.  I give it my linux partition and it gave a correct result (eg hdparm -Tt /dev/hda3).

----------

## Ast0r

 *Cintra wrote:*   

> If you aren't getting at least *udma4 I would swap my ATA cable for the best quality round cable you can find 

 

Round cables don't meet the IDE spec. I would recommend against them.

----------

## JC99

 *Quote:*   

> hdparm -Tt /dev/hda
> 
> /dev/hda:
> 
>  Timing cached reads:   1356 MB in  2.00 seconds = 677.96 MB/sec
> ...

 

These are my results, I am using a Maxtor 200GB 7200 8MB cache

----------

## steveb

Result from Maxtor 6L160M0:

```
# hdparm -I /dev/sda

/dev/sda:

ATA device, with non-removable media

        Model Number:       Maxtor 6L160M0

        Serial Number:      L301H94G

        Firmware Revision:  BANC1G10

Standards:

        Supported: 7 6 5 4

        Likely used: 7

Configuration:

        Logical         max     current

        cylinders       16383   16383

        heads           16      16

        sectors/track   63      63

        --

        CHS current addressable sectors:   16514064

        LBA    user addressable sectors:  268435455

        LBA48  user addressable sectors:  312581808

        device size with M = 1024*1024:      152627 MBytes

        device size with M = 1000*1000:      160041 MBytes (160 GB)

Capabilities:

        LBA, IORDY(can be disabled)

        Queue depth: 1

        Standby timer values: spec'd by Standard, no device specific minimum

        R/W multiple sector transfer: Max = 16  Current = 16

        Advanced power management level: unknown setting (0x0000)

        Recommended acoustic management value: 192, current value: 192

        DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 *udma5

             Cycle time: min=120ns recommended=120ns

        PIO: pio0 pio1 pio2 pio3 pio4

             Cycle time: no flow control=120ns  IORDY flow control=120ns

Commands/features:

        Enabled Supported:

           *    NOP cmd

           *    READ BUFFER cmd

           *    WRITE BUFFER cmd

           *    Look-ahead

           *    Write cache

           *    Power Management feature set

           *    SMART feature set

           *    FLUSH CACHE EXT command

           *    Mandatory FLUSH CACHE command

           *    Device Configuration Overlay feature set

           *    48-bit Address feature set

           *    Automatic Acoustic Management feature set

                SET MAX security extension

                Advanced Power Management feature set

           *    DOWNLOAD MICROCODE cmd

           *    General Purpose Logging feature set

           *    SMART self-test

           *    SMART error logging

Checksum: correct
```

```
# hdparm -Tt /dev/sda

/dev/sda:

 Timing cached reads:   2376 MB in  2.00 seconds = 1187.65 MB/sec

 Timing buffered disk reads:  198 MB in  3.00 seconds =  65.98 MB/sec
```

----------

## Cintra

 *Ast0r wrote:*   

>  *Cintra wrote:*   If you aren't getting at least *udma4 I would swap my ATA cable for the best quality round cable you can find  
> 
> Round cables don't meet the IDE spec. I would recommend against them.

 

Well they made a difference of 20MB/sec in my own case.. see http://tinyurl.com/hhhqp

----------

## epinefryna

Hi

I tested it using hdparm -tT /dev/hda command.

Cable is brand new, modern one (flat) - I've tested different cables - no difference.

It's correct that this is old junk, the question persists - if I add a second drive, make a stripe - is it gonna be faster?  or this 20MB/s is the overall limit for my system?

----------

## ripperd

I think it would be quite a bit faster, even with those processors.

My system is a little bit newer but it nearly did double the raw speed.

(athlon64 architecture with 2 modern IDE drives in a software raid0)

```
hdparm -tT /dev/md0 /dev/hda3 /dev/sda1

/dev/md0:

 Timing cached reads:   3784 MB in  2.00 seconds = 1891.52 MB/sec

 Timing buffered disk reads:  312 MB in  3.02 seconds = 103.43 MB/sec

/dev/hda3:

 Timing cached reads:   3836 MB in  2.00 seconds = 1917.29 MB/sec

 Timing buffered disk reads:  156 MB in  3.01 seconds =  51.84 MB/sec

/dev/sda1:

 Timing cached reads:   3820 MB in  2.00 seconds = 1909.44 MB/sec

 Timing buffered disk reads:  174 MB in  3.03 seconds =  57.41 MB/sec
```

Athlon64 socket 939 has good memory bandwidth as you can see.

----------

