LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Hardware (https://www.linuxquestions.org/questions/linux-hardware-18/)
-   -   SATA performance problem (https://www.linuxquestions.org/questions/linux-hardware-18/sata-performance-problem-608890/)

Apollo77 12-24-2007 08:51 AM

SATA performance problem
 
Not sure if I've got a hardware or a software issue here ... or both ... or neither.

I just put together a new PC.
Motherboard: EVGA nForce 650i Ultra
SATA HDD: Seagate Barracuda 7200.10 320GB Hard Drive (7200,16MB,SATA-300)

The motherboard supports SATA II.

The PC works fine and generally seems quite responsive. However, I expected the HDD to be noticeably faster than IDE drives I use in other boxes, but it is not. Is it valid to use hdparm on an SATA drive to check performance? I understand hdparm is really for IDE drives. Here's what I have done:

=======
zoo:~# hdparm -tT /dev/sda

/dev/sda:
Timing cached reads: 2034 MB in 2.00 seconds = 1016.58 MB/sec
Timing buffered disk reads: 14 MB in 4.04 seconds = 3.47 MB/sec
zoo:~#
=======

The first value looks ok -- not spectacular, but ok (1016.58 MB/sec). However, the second value looks really bad (3.47 MB/sec). On my IDE drives, these values would typically be 700 MB/sec and 50 MB/sec (in that ballpark).

I have tried running both Ubuntu 7.10 (gutsy) 32 and 64 bit. I also tried Debian etch 64 bit, which I will probably stick with. The hdparm numbers looked similar in all 3 cases.

I have checked BIOS settings and I think I've got everthing set up ok. However, I am open to suggestions.

Can anyone suggest what is wrong? Is there a better way than hdparm to check SATA performance?

Apollo

LinuxManMikeC 12-24-2007 10:22 AM

My only experience with slow disks is not having DMA enabled (the default in Knoppix). Make sure DMA is enabled. Other than that, I have no idea.

LinuxManMikeC 12-24-2007 10:57 AM

Just came across another thread. This reply had a good link in it. I'm looking to try out this performance tweaking myself now.

http://www.linuxquestions.org/questi...34#post3000534

Uncle_Theodore 12-24-2007 11:08 AM

DMA is always enabled for SATA disks. Even more, you can't enable or disable it, even with hdparm.
The problem might be in the unfortunate combination of your harddrive model and the MB. Can you show the output of lspci ?

HappyTux 12-24-2007 11:17 AM

Quote:

Originally Posted by Apollo77 (Post 3000514)
Not sure if I've got a hardware or a software issue here ... or both ... or neither.

I just put together a new PC.
Motherboard: EVGA nForce 650i Ultra
SATA HDD: Seagate Barracuda 7200.10 320GB Hard Drive (7200,16MB,SATA-300)

The motherboard supports SATA II.

The PC works fine and generally seems quite responsive. However, I expected the HDD to be noticeably faster than IDE drives I use in other boxes, but it is not. Is it valid to use hdparm on an SATA drive to check performance? I understand hdparm is really for IDE drives. Here's what I have done:

=======
zoo:~# hdparm -tT /dev/sda

/dev/sda:
Timing cached reads: 2034 MB in 2.00 seconds = 1016.58 MB/sec
Timing buffered disk reads: 14 MB in 4.04 seconds = 3.47 MB/sec
zoo:~#
=======

The first value looks ok -- not spectacular, but ok (1016.58 MB/sec). However, the second value looks really bad (3.47 MB/sec). On my IDE drives, these values would typically be 700 MB/sec and 50 MB/sec (in that ballpark).

I have tried running both Ubuntu 7.10 (gutsy) 32 and 64 bit. I also tried Debian etch 64 bit, which I will probably stick with. The hdparm numbers looked similar in all 3 cases.

I have checked BIOS settings and I think I've got everthing set up ok. However, I am open to suggestions.

Can anyone suggest what is wrong? Is there a better way than hdparm to check SATA performance?

Apollo

My 7200.10 had a small jumper on it that had to be removed for it to work as a SATA 300 drive so I would check for that even though at the 150 speed you should be able to get at least 50-60MB/sec. I would suggest checking for a motherboard chipset driver update in a newer kernel because as you already see that is pretty disgusting performance for that class of drive, here is my results on a P965 based board ICH8 controller you should be getting close to this if it was working right.

Code:

HappyTux:/home/stephen# hdparm -tT /dev/sda

/dev/sda:
 Timing cached reads:  7780 MB in  2.00 seconds = 3892.80 MB/sec
 Timing buffered disk reads:  220 MB in  3.01 seconds =  73.18 MB/sec

Another thing I would suggest is booting with the Seatools diagnostic disk you can get from Seagates site or sometimes already included if you bought retail boxed drive to see if it finds any error. Plus if you have a windows disk handy I would try a test install on it then check the performance numbers there and maybe even put the drive in another machine with a different chipset to see what you get there. That is a couple of things to try and in my experience hdparm is a good tool for checking the performance of a hard drive that always seems to give me good results in line with what the drive should be doing. Ah one more thing check for is a BIOS update for the motherboard sometimes that can help with problems like this if it is a known issue.

Apollo77 12-28-2007 09:54 PM

This still is not resolved, but you all gave me many good suggestions which I have not quite exhausted yet.

The jumper on the drive ... I tried both positions. The MB is supposed to support SATA II, so 3.0 GB/s should be supported. At any rate, the jumper makes no difference on or off, so after checking both positions, I've left it off (3 GB/s).

BIOS update ... there were 2 updates since the version I had. Flashed the BIOS with the latest version. No difference.

Seatools was interesting. The short test showed an error. It said "Unknown error". The long test bombed on me 3 times. Then it finally ran to completion and found about 50 bad sectors. I chose to repair them. Now both long and short tests pass. I thought this was great, but the hdparm performance numbers are unchanged after the repair. So, I am still left wondering if the drive is bad or if it's just some unfortunate combination of MB and HDD. I'll explore the idea of a chipset driver update in a newer kernel, but I've tried very recent kernels (Debian Etch 2.6.16 .. I think, and Ubuntu 2.6.22 or something like that).

I will post my lspci output in a day or two (I'm tired and too lazy right now).

As a last resort, I've ordered a different SATA drive to try before I attempt to return the bad one (assuming it's bad).

I'll post back again in a day or two.

Apollo77 12-29-2007 12:26 PM

Here is my lspci output:

zoo:/home/ape# lspci
00:00.0 Host bridge: nVidia Corporation C55 Host Bridge (rev a2)
00:00.1 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:00.2 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:00.3 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:00.4 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:00.5 RAM memory: nVidia Corporation C55 Memory Controller (rev a2)
00:00.6 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:00.7 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:01.0 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:01.1 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:01.2 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:01.3 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:01.4 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:01.5 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:01.6 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:02.0 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:02.1 RAM memory: nVidia Corporation Unknown device 03bc (rev a1)
00:02.2 RAM memory: nVidia Corporation C55 Memory Controller (rev a1)
00:03.0 PCI bridge: nVidia Corporation C55 PCI Express bridge (rev a1)
00:06.0 PCI bridge: nVidia Corporation C55 PCI Express bridge (rev a1)
00:07.0 PCI bridge: nVidia Corporation C55 PCI Express bridge (rev a1)
00:09.0 RAM memory: nVidia Corporation MCP51 Host Bridge (rev a2)
00:0a.0 ISA bridge: nVidia Corporation MCP51 LPC Bridge (rev a3)
00:0a.1 SMBus: nVidia Corporation MCP51 SMBus (rev a3)
00:0a.2 RAM memory: nVidia Corporation MCP51 Memory Controller 0 (rev a3)
00:0b.0 USB Controller: nVidia Corporation MCP51 USB Controller (rev a3)
00:0b.1 USB Controller: nVidia Corporation MCP51 USB Controller (rev a3)
00:0d.0 IDE interface: nVidia Corporation MCP51 IDE (rev a1)
00:0e.0 IDE interface: nVidia Corporation MCP51 Serial ATA Controller (rev a1)
00:0f.0 IDE interface: nVidia Corporation MCP51 Serial ATA Controller (rev a1)
00:10.0 PCI bridge: nVidia Corporation MCP51 PCI Bridge (rev a2)
00:10.1 Audio device: nVidia Corporation MCP51 High Definition Audio (rev a2)
00:14.0 Bridge: nVidia Corporation MCP51 Ethernet Controller (rev a3)
04:08.0 VGA compatible controller: ATI Technologies Inc 3D Rage Pro 215GP (rev 5c)
04:09.0 Ethernet controller: National Semiconductor Corporation DP83815 (MacPhyter) Ethernet Controller
zoo:/home/ape#

Apollo77 12-31-2007 08:08 AM

Looks to me like there are issues with this SATA controller. However, I am barely able to understand all of this. Maybe it means my HDD is ok, which is somewhat of a relief.

http://kerneltrap.org/mailarchive/li...07/9/13/258974

I'll continue to research this, but anyone have comments that might help me here?

Apollo77 01-01-2008 04:53 PM

Not sure if anyone is still looking at this thread. Still haven't resolved this problem. Since my last post I tried another distro (openSUSE 10.3), but no difference.

I noticed this ... when booting, there is a message indicating the HDD is on an "IDE channel". Is this normal? I am wondering if the SATA HD is running in "IDE mode" instead of "SATA mode" or something like that. I cannot seem to find anything in the BIOS that is related to this, but maybe I have missed something.

Any thoughts?

Apollo77 01-08-2008 09:36 AM

I dropped in a new HDD. Now I get this:

==============
zoo:/home/ape# hdparm -tT /dev/sda

/dev/sda:
Timing cached reads: 2042 MB in 2.00 seconds = 1021.02 MB/sec
Timing buffered disk reads: 202 MB in 3.00 seconds = 67.24 MB/sec
zoo:/home/ape#
==============

I don't have a full understanding of this, but is it only the buffered disk reads I should care about? Cached reads are about the same.

I am going to assume the original HDD was bad and the new one is ok.

HappyTux 01-08-2008 12:04 PM

Quote:

Originally Posted by Apollo77 (Post 3015557)
I dropped in a new HDD. Now I get this:

==============
zoo:/home/ape# hdparm -tT /dev/sda

/dev/sda:
Timing cached reads: 2042 MB in 2.00 seconds = 1021.02 MB/sec
Timing buffered disk reads: 202 MB in 3.00 seconds = 67.24 MB/sec
zoo:/home/ape#
==============

I don't have a full understanding of this, but is it only the buffered disk reads I should care about? Cached reads are about the same.

I am going to assume the original HDD was bad and the new one is ok.

That is a much more reasonable a figure for the speed and the buffered one is the important one to have higher. Now just because the old drive did not want to work at the higher speed does not necessarily mean it is bad it could just be a firmware on the drive/chipset on motherboard interaction that caused the problem you never know with hardware sometimes ...

Apollo77 01-08-2008 12:55 PM

The old drive was failing the Seatools short test. It also had lots of bad sectors. I managed to repair it at one point, then it passed both long and short tests. However, I re-ran the tests a few days later and it was failing again. I suspect this is a pretty good indication the drive was bad.

The new drive is also a Seagate Barracuda 7200.10, but larger (500GB). It passes Seatools tests and seems to perform much better. I am fairly convinced the HDD was the original problem.

Thanks for all the help on this.

Apollo.

HappyTux 01-08-2008 01:54 PM

Quote:

Originally Posted by Apollo77 (Post 3015768)
The old drive was failing the Seatools short test. It also had lots of bad sectors. I managed to repair it at one point, then it passed both long and short tests. However, I re-ran the tests a few days later and it was failing again. I suspect this is a pretty good indication the drive was bad.

The new drive is also a Seagate Barracuda 7200.10, but larger (500GB). It passes Seatools tests and seems to perform much better. I am fairly convinced the HDD was the original problem.

Thanks for all the help on this.

Apollo.

Your welcome yeah it is definitely dead then, my drive is the same model/size as yours it is interesting to see the difference in the speeds of the chipset controller yours seems a little slower than mine.

niklas78 01-16-2008 05:51 AM

Question to HappyTux
 
Hello HappyTux,

I am not sure what preformance to expect from a SATA-II drive in a Linux system, this is the figures I get currently:

sudo hdparm -tT /dev/sda

/dev/sda:
Timing cached reads: 1746 MB in 2.00 seconds = 873.15 MB/sec
Timing buffered disk reads: 232 MB in 3.03 seconds = 76.61 MB/sec
nwaren@amanda:~$ sudo hdparm -tT /dev/sdb

/dev/sdb:
Timing cached reads: 1248 MB in 2.00 seconds = 624.23 MB/sec
Timing buffered disk reads: 162 MB in 3.03 seconds = 53.55 MB/sec

If I understand your comments above correct, this might be "normal"?

Your preformance indicates a better performance:

HappyTux:/home/stephen# hdparm -tT /dev/sda

/dev/sda:
Timing cached reads: 7780 MB in 2.00 seconds = 3892.80 MB/sec
Timing buffered disk reads: 220 MB in 3.01 seconds = 73.18 MB/sec

What drive are you using? Why the higher cached reads figure?

(I am running Ubuntu on a AMD X2 +4400 CPU).

I have one SAMSUNG HD501LJ and one Seagate ST3160812AS, both under 2 years old...

Apollo77 01-16-2008 09:48 AM

I am also quite curious about the higher cached figure, HappyTux.

The box I described earlier is doing some very disk intensive stuff and I am finding the performance mediocre at best, even with the new good HDD. I am even considering trying a similar motherboard as HappyTux (P965 based board with ICH8 controller) to see if that helps.


All times are GMT -5. The time now is 03:41 AM.