Solved

Performance problem on Hard Disk

Posted on 2012-12-24
19
669 Views
Last Modified: 2016-06-26
Hi.

I have two hard disks installed on my computer: on one C: and one on D:

I have run HD Tune 2.55 (a program that measures the speed of the hard disk) which says my C: unit speed is about 10MB/sec, meanwhile my D: unit is about 100MB/s.

C: is a Western Digital Hard Disk and D: is a Seagate Hard Disk. Both have 1000GB (1TB) of capacity.

Both drives arahciue SATA and OnChip SATA mode is configured in IDE mode on BIOS (I tryied to change this to  AHCI mode but then my Windows XP doesn't start).

My computer is a Quad CPU with 8GB or RAM, running Windows XP as operating system. Any help to improve my hard disk performance will be appreciated.

Thanks.
0
Comment
Question by:gplana
  • 8
  • 5
  • 3
  • +3
19 Comments
 
LVL 47

Expert Comment

by:dlethe
ID: 38719484
You need to reinstall the O/S to get AHCI ... which is a good idea because AHCI mode enables more efficient I/O, and additional low-level commands to facilitate less overhead and larger transfers.  The way it is now, every byte of I/O is causing an interrupt.

Alternately ... it will probably work if you:
 * Buy a USB->SATA bridge adapter (under $20) to enable that SATA disk to attach to a USB port.
 * Buy a new HDD (same or greater capacity, you can then use the current C drive for backup later).   $80 or so.   If the HDD does not come with disk cloning software, then download something (I prefer just using a USB stick booted to LINUX).

 * THen shut down, remove the C drive, and unplug power to the D disk to prevent it from being accidentally written to.
* Put the replacement drive inside the PC where C is
* Turn on everything, enable AHCI in BIOS.  It should now see the new disk that will become C, plus the original drive.
* Clone your O/S from the USB drive to the new AHCI disk (booted to USB stick or cloning software that typically comes on CDROM)

* unplug the USB port for safety.
* Boot to the new disk.   Then shut down if OK, plug power into the D disk, and then everything should come online.

Once new disk is booted, you are good to go.  The other drive in the USB is backup.
0
 
LVL 23

Expert Comment

by:DanCh99
ID: 38719548
I've used Acronis Disk Director many times for disk cloning, and it's always worked for me.  Just take your time with it, and it's all cool.  Free trial too!
http://www.acronis.com/homecomputing/products/diskdirector/#overview
0
 
LVL 47

Expert Comment

by:dlethe
ID: 38719569
P.S.  Since you are running XP, then no way would the AHCI drivers already be installed, unless you installed an OEM version of the o/s specifically for your motherboard.  

Actually, just buy a copy of Win7 64-bit.  I doubt this will work.  Besides, XP won't let you use all your memory either, and XP doesn't have native SATA drivers ... so unless this is an OEM version of windows, pre-installed with all drivers, then I don't think you will even be able to migrate XP.  Sorry.  You'll probably just have to live with this issue until you do a re-install.
0
 
LVL 70

Expert Comment

by:garycase
ID: 38719606
First, you noted in your system specs that you have 8GB of RAM ... but XP x32 can has a 4GB address space; and some of that is reserved for system level functions, so you're only using around 3-3.5GB of that memory.    That's not the reason your disk is operating slow;  but it may be something you want to consider.     Microsoft is offering electronic downloadable Windows 8 Pro upgrades for only $39.95 through the end of January -- so you may want to simply upgrade to Windows 8 to resolve not only your disk access problem;  but also allow you to use all of your memory.   [Note you would lose all of you installed programs and all of your data -- so you'd need to first save your data and then reinstall all of your programs.]

If you prefer to stay with XP, the first thing I'd check with such slow disk access is whether the system has reverted to PIO access mode for your C: drive.    Go to Device Manager;  expand the IDE/ATA/ATAPI Controllers line (click the "+" sign);  and then, for each of the channels (primary and secondary), right-click, select Properties;  click on the Advanced Settings tab.   See what the "Current Transfer Mode" is for all devices.    If ANY of these show "PIO" then that's your problem.     There's a fairly simple registry mod that will resolve it.

If that's not the case, then there are a few other things you can try ==> but first check that and post back with the results.

... by the way, running in IDE mode is fine.    Switching to AHCI would require a reload of XP;  and does NOT provide any significant benefits in a non-server OS.    The key benefits you gain are (a) hot swap support; and (b) "elevator" seeking, which allows more efficient disk access when multiple requests are being processed simultaneously (not a common scenario on a desktop system).
0
 
LVL 8

Expert Comment

by:Scott Thompson
ID: 38719684
There is certain ways to get AHCI to work on an already installed OS.  Make sure you have the latest chipset installed on your system.  Then go to the following registry key.

HKLM\System\CurrentControlSet\Services\msahci

Change the value of start to 0.

Reboot your computer and change to AHCI in BIOS.  The system will boot and install the AHCI drivers.  NOTE:  Set a system restore point first, just as a backup.

I know this works on Vista and 7, but not positive on XP.

As for your hard drives, if your main drive (The Western Digital) is a Caviar Green, they are generally problematic for speed.  I've ran into it myself too many times building a system.  I no longer use the Green drives as the OS drive, just because they have this issue.  I'm assuming the issue comes from the fact that the drive runs at 5400RPM (or 5900 in some cases).

If you do reload your system, make sure your OS drive is the drive with the fastest RPM and biggest CACHE.
0
 
LVL 47

Expert Comment

by:dlethe
ID: 38719691
The AHCI spec didn't even come out until maybe 2 years after XP was shipping, so don't hold  your breath that you even have AHCI drivers ... unless it is an OEM version of windows designed for your AHCI-compatible computer, and you have a WinXP SP2 or SP3 distribution.
0
 
LVL 70

Expert Comment

by:garycase
ID: 38719729
The registry mod to switch to AHCI only works in Vista and '7 => it does NOT work with XP.    I'm not aware of any way to switch XP to AHCI short of reinstalling it with the appropriate drivers added during the install (via F6).

... but as I noted above, it has virtually no impact on the speed of the drive => it's definitely NOT the problem you're having.
0
 
LVL 91

Expert Comment

by:nobus
ID: 38719738
check first if pin 5 and 6 are not jumpered, to enable 1.5 GB transfer speed, as shown here  :
http://superuser.com/questions/11353/whats-the-jumper-enable-1-5gb-phy-on-a-western-digital-hard-disk
0
 
LVL 70

Expert Comment

by:garycase
ID: 38719741
While it certainly won't hurt to confirm that the drive isn't configured to run at SATA-I speeds; that is NOT the problem here.    Even SATA-I is far faster than the sustained transfer rate of the platters ... so it would not be limiting the transfer speeds seen by HDTune.
0
Scale it in WD Gold

With up to ten times the workload capacity of desktop drives, WD Gold hard drives employ advanced technology to deliver among the best in reliability, capacity, power efficiency and performance.

 
LVL 15

Author Comment

by:gplana
ID: 38719761
Thank you all of you for giving me your answers even on christmas!.

garycase: I think you are right: my problem seems to be my primary hard disk is working on PIO mode. Both hard disks are configured as "use DMA is possible", but primary is using PIO while secondary is using DMA ultra mode 6. How can I enable DMA for my primary device?

I'm thinking also in changing my XP by Windows 7 (I don't really like Windows 8). Should I enable AHCI mode before or after installing Windows 7?

Thanks.
0
 
LVL 70

Accepted Solution

by:
garycase earned 500 total points
ID: 38719782
A couple of thoughts ....

First, fix the issue:

Load RegEdit (Start - Run - Regedit)

Go to the following keys:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}\000x

The last four digits will be 0000, 0001, 0002, 0003, and so on.

Under each key, delete all occurences of the following values (not every key will have these values, but delete them whenever they occur):

     MasterIdDataChecksum
     SlaveIdDataChecksum

Now reboot your system and your drive will be in DMA mode.    You'll notice a BIG improvement :-)


Second, if you want to reload the system with Windows 7, then yes, you should change the BIOS to AHCI mode before doing the reload.    [Be sure you back up your data first.]

However ... if you're going to reload, I'd recommend going directly to Windows 8 Pro.   The $39.99 upgrade is an excellent deal;  and you can "fix" the unwelcome new GUI issue by buying a copy of Stardock's excellent Start8 => a superb utility I consider mandatory for Windows 8 that only costs $4.99.    http://www.stardock.com/products/start8/
0
 
LVL 15

Author Comment

by:gplana
ID: 38720245
garycase: thanks you very much for your answer. I can't see values "MasterIdDataChecksum" or "SlaveIdDataChecksum". I have export HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}.

Thanks too for your advice about Windows 8 and Stardock's. I will consider it.
myreg.reg
0
 
LVL 70

Expert Comment

by:garycase
ID: 38720278
Look closer.   In your key ...0002 there is both "MasterIdDataChecksum" key and a "SlaveIdDataCheckSum" key;  and in your key ...0003 there's a "SlavIdDataCheckSum" key.    Delete all 3 of those keys -- then reboot.
0
 
LVL 15

Author Comment

by:gplana
ID: 38720309
Oh, you are absolutely right. Sorry. I looked to values instead of keys, so I haven't seen these texts on values.

I deleted these 3 values, reboot, and now HD tune shows 115MB/s as a maximum value (however it shows 11MB/s as minimum value, but I think this is an outlier).

I think now all will be good. However, is there anything else I can do to improve performance? (apart of installing Windows7 or 8 instead of my XP) ?
0
 
LVL 70

Expert Comment

by:garycase
ID: 38720324
Not a lot to suggest without actually seeing the system.

A few common things that may help ...

=>  Defrag the disks
=>  Uninstall any unused utilities/programs
=>  See what all is starting up during the boot process ... and disable those things that aren't really needed [You can use MSConfig to check this and to easily disable various startup items to see what impact that has on performance]
=>  Clean out the registry.   I'm not a big fan of registry cleaners -- but they can make a difference if the system has a lot of unnecessary "registry trash".      The only one I recommend is MaceCraft's JV16 ... they have a free version that's quite good:   http://www.macecraft.com/powertoolsliteex2013/
0
 
LVL 47

Expert Comment

by:dlethe
ID: 38720342
FYI - the biggest problem you have with performance is AHCI, and it is not being emphasized enough.  Your IDE drivers disable NCQ. This means no I/O queuing.  One I/O gets done at a time.  There is no multitasking and automatic reordering of I/O.  

To put in perspective, say you have a read request at block 100, then one at block 9999999 then another at block 101 for multiple processes or threads going on.  (This is quite common, especially when you consider that NTFS is always updating certain logs and directory info).

With NCQ, the HDD will reorder so that it reads blocks 100-101, returns the result, then goes to 9999999 and returns the result.   With your system, it reads 100 then goes to 9999999 then it goes to 101.   This might take 10X longer.  

Defragging helps because it minimizes (to a small effect) bouncing around getting files, but since so many things are going on at once, in the grand scheme of things, it isn't all that statistically significant.   You can prove this to yourself by reading a fragmented file into the bit bucket, defragging, and then repeating.  It might save you 20 milliseconds on a 10 second test.  

HDDTune is not a real-world indicator of performance anyway.  You don't do large block sequential reads.  You can't.  NTFS is probably set for 4KB chunk size anyway, and since your system can not process I/Os in parallel, and you run services that also do I/O then HDDTune can't replicate real-world.   Not only that, but HDDTune cheats by raising I/O priority for HDDTune, so other applications are starved for I/O.

Update to Win7 if you want major performance increase (along with using AHCI).   Here is something else you could do for an incremental improvement ... repartition C into C & E.  Then build E with NTFS and a larger NTFS size, like 64KB.   Move files there.  If you do that, then you will read a minimum of 64KB at a time, instead of 4KB at a time.
0
 
LVL 70

Expert Comment

by:garycase
ID: 38720367
With a desktop OS (i.e. not a server) there's very little benefit from AHCI.   NCQ ("elevator seeking") is indeed a nice feature -- but the vast majority of disk accesses with a desktop OS are sequential.    NCQ only helps when there are a lot of simultaneous accesses (common with servers).

... it's true that NCQ will help a bit with NTFS logging -- but in a desktop environment that's simply not a significant factor.
0
 
LVL 47

Expert Comment

by:dlethe
ID: 38720474
Everything is relative, but a 2X - 3X overall performance increase with NCQ enabled can happen.   I found these two graphs that compare same HDD with NCQ enabled/disabled on Win7. The numbers speak for themselves.



Open in new window

ncq DIsabledNCQ Enabled

Source: Tom's hardware
0
 
LVL 70

Expert Comment

by:garycase
ID: 38720496
Completely agree that in a transactional environment with high IOPS (like a server or database server) there's a big advantage to AHCI-enabled disks => not because there's any difference in transfer rates, but because the more efficient "elevator seeking" (i.e. NCQ) will significantly improve IOPS.

But a desktop environment is NOT typically a high IOPS environment.     Clearly there are exceptions =>  small businesses and home users sometimes use a desktop as effectively a server ... but in the vast majority of home user cases it's effectively irrelevant whether or not NCQ is enabled.
0

Featured Post

Save on storage to protect fatherhood memories

You're the dad who has everything. This Father's Day, make sure your family memories are protected. My Passport Ultra has automatic backup and password protection to keep your cherished photos and videos safe. With up to 3TB, you have plenty of room to hold the adventures ahead.

Join & Write a Comment

Suggested Solutions

Your wedding is a big day and a big deal. Whether you have ten guests or 350, it’s highly probable that you and your sweetie will be posing for a lot of pictures and videos. By the end of it, your faces might even hurt from smiling so much!
When you start your Windows 10 PC and got an "Operating system not found" error or just saw  "Auto repair for startup". After a while, you have entered a loop for Auto repair which does not fix anything and you will be in a  panic as all your work w…
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…
This video explains how to create simple products associated to Magento configurable product and offers fast way of their generation with Store Manager for Magento tool.

705 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now