Blog Forum Wiki Links Contact Us
 
Translations of this page:

Slow performance and Read/Write errors with SD cards, and SSDs

Several model Eees have had read / write problems with SD cards, and SSDs. The symptoms can vary:

  • Slow writes
  • Slow overall system performance
  • System tray pop-ups indicating “Delayed Write failure”
  • Data corruption

SD problems

The SD reader in the 70x series is known to be temperamental, exhibiting the performance problems above. The problem, oddly enough, may be caused by the “Stock” under-clocking that the machine comes with. Several users have reported the problem going away by overclocking the CPU. For computers like the 701 4G this can be done with Eeectl. Looking at an example speed profile in EeeCtl

 85,100,1,Medium;

The first number is the front side bus, the second number is the PCI bus, and the third number the voltage. It is believed that it may be the voltage parameter increase over the stock “0” that's speeding things up.

For computers equipped with “Super Hybrid Engine” software, try setting it to “performance mode”, instead of “Powersaving mode” which should run the CPU at the Intel stock speed. I have no idea if this actually fixes the problem, and would appreciate feedback from those users.

Unfortunately at this time the 2G surf is unable to be overclocked with any software.

SSD problems

One reason for poor performance may simply be the SSD in the computer. Some of the larger SSDs like the large ones in the 900 and 901 computers are of a slower cheaper design than the 4GB SSD in these computers. The reason for this is it allows Asus to provide more storage while meeting a desired price point, as faster SSDs are more expensive. In these computers it is recommended that you use the 4GB drive for installing the operating system, and any frequently used files, and use the larger SSD for program installation, and document use.

Another reason for poor performance is because Windows is getting read/write errors from the drive, and is slowing down the access speed of the drive to improve reliability. The system may step down to PIO (program input output) mode, which much slower, and more CPU intensive than the preferred DMA mode.

To check if the drive is running in PIO mode, follow these steps:

  1. Open Device manager (start⇒run⇒devmgmt.msc)
  2. Navigate to IDE/ATA/ATAPI controllers
  3. Double click on “Primary IDE Channel”
  4. Go to the “Advanced Settings” tab
  5. Repeat for “Secondary IDE Channel”

Look at the “Current Transfer Mode”. If there is no drive at that location it will say “Non Applicable” (which is fine). We want it to say “Ultra DMA Mode 4”. If it says “PIO”, that's the source of our problem.

To correct it, first change Transfer mode to “DMA if available” if it is not already, and restart the computer.

Check in device manager again. If Advanced Settings still shows “PIO”, Windows has determined the drive too unreliable for the faster DMA speed, and won't try anything faster than PIO.

There's two parts to solving this problem:

  1. Convince Windows to use the faster speeds (the symptoms)
  2. Figure out what is causing the problem (the root problem)

Solving Data Errors

Before fixing the symptoms, we should look at what's causing the read/write errors. Windows will store a record of these disk errors in the event log: start⇒run⇒eventvwr.msc Go to the system log and look for errors or problems labeled “disk” or “NTFS”. It is important to check in here to see if it is continuing to have read/write problems.

You should also disable Write-behind caching of affected drives. This should decrease the risk of data corruption.

  1. Open My Computer
  2. Right click the SSD drive, go to properties
  3. Hardware tab, select the drive from the list, then press properties
  4. Go to Policy tab, and un check “Enable write caching on the disk”

A number of users have reported solving the problem by:

  1. Speeding up the CPU. With “Super Hybrid Engine” computers, set it to “Performance mode” and not “Power savings mode”. For users of EeeCtl, Overclock the CPU as above.
  2. Checking drive SSD manufacturer for an updated driver or firmware for the drive.

Restoring DMA modes

There are two ways to “fix” this. One is to right click the hard drive controller in device management, hit uninstall, and reboot the computer. Windows will re-detect the controllers, and should run at full DMA speeds. However if it continues to encounter more errors it will eventually step down speeds to PIO again.

Disable aggressive step down in speeds The following steps should keep Windows from stepping down speeds. This is from Microsoft KB 817472 under “More information”

Follow these steps, and then quit Registry Editor:

   1. Click Start, click Run, type regedit, and then click OK.
   2. Locate and then click the following key in the registry:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}\0001
   3. On the Edit menu, point to New, and then click DWORD Value.
   4. Type ResetErrorCountersOnSuccess, and then press ENTER.
   5. On the Edit menu, click Modify.
   6. Type 1, and then click OK. 

Follow these steps, and then quit Registry Editor:

   1. Click Start, click Run, type regedit, and then click OK.
   2. Locate and then click the following key in the registry:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}\0002
   3. On the Edit menu, point to New, and then click DWORD Value.
   4. Type ResetErrorCountersOnSuccess, and then press ENTER.
   5. On the Edit menu, click Modify.
   6. Type 1, and then click OK. 

Note The numbered subkeys that are listed earlier correspond to the primary and 
secondary IDE channels on a computer that contains a single IDE controller. If 
your computer contains two IDE controllers, the numbered subkeys for the primary 
and secondary IDE channels for each of the two controllers may be:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}\0002

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

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

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}\0005
To verify that you have located the correct subkey, verify that the DriverDesc 
value for the subkey contains the string value "Primary IDE Channel" or the 
string value "Secondary IDE Channel."

Other users have found success with the following Registry patch. Copy all the text below and paste it in notepad. Save with the file name SSDspeedpatch.reg. Double click on the saved file, and agree to merge it with the registry

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96A-E325-11CE-BFC1-08002BE10318}\0002]
"MasterIdDataCheckSum"=-
"SlaveIdDataCheckSum"=-
"ResetErrorCountersOnSuccess"=dword:00000001

These both more or less accomplish the same thing.

After applying this fix you should still monitor Event viewer for reported errors. Otherwise you're treating the symptoms, not the problems.

Using Flashfire Driver

(Previously Flashpoint)

Some slow performance with SSDs is due to a cheap SSD with a poor write speed (secondary SSD in some models, and I believe the 16GB single SSD 900 model, some aftermarket SSDs). None of the steps above will overcome this. The Flashfire driver speeds things up by allowing the drive to continue before the writes are truly committed to disk.

Be aware that this driver is beta, experimental and some users have had problems booting their system after removing it.

Flashfire site

Related forum postings

 
windows/slowsd_ssd.txt · Last modified: 2009/10/15 18:12 by turionaltec
 
Recent changes RSS feed Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki