Windows XP SSD tweaks?

J

John Doe

(Crossposted, please feel free to trim group)

Are the following Solid-State Disk drive tweaks for Windows XP
legitimate and significant? Anything else?

Disable AHCI in both Windows and in the BIOS.

Make sure write caching for the SSD is enabled.

Change the Windows registry.
[search for Values]
Enableprefetcher...change 3 to 0
ClearPageFileAtShutdown...change 0 to 1
LargeSystemcache...change 0 to 1
SecondlevelDataCache... in decimal mode, change 0 to
(what ever the L2 cache is on your CPU)
NtfsDisable8dot3nameCreation change 0 to 1
[search for Keys]
the indexing service.HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg
\BootOptimizeFunction
change Enable Y to N

Download and unpack dskcache.exe to C drive (root)
open command prompt and type
c:\dskcache +p c:
that sets XP to cache writes the same as Vista.

Turn off Indexing Services. Turn off the Windows XP page file for the
SSD. Turn off System Restore. Disable Hibernation.

Thanks.
 
P

Paul

John said:
(Crossposted, please feel free to trim group)

Are the following Solid-State Disk drive tweaks for Windows XP
legitimate and significant? Anything else?

Disable AHCI in both Windows and in the BIOS.

Make sure write caching for the SSD is enabled.

Change the Windows registry.
[search for Values]
Enableprefetcher...change 3 to 0
ClearPageFileAtShutdown...change 0 to 1
LargeSystemcache...change 0 to 1
SecondlevelDataCache... in decimal mode, change 0 to
(what ever the L2 cache is on your CPU)
NtfsDisable8dot3nameCreation change 0 to 1
[search for Keys]
the indexing service.HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg
\BootOptimizeFunction
change Enable Y to N

Download and unpack dskcache.exe to C drive (root)
open command prompt and type
c:\dskcache +p c:
that sets XP to cache writes the same as Vista.

Turn off Indexing Services. Turn off the Windows XP page file for the
SSD. Turn off System Restore. Disable Hibernation.

Thanks.

This article mentions turning off "timestamp for last access".

http://www.ocztechnologyforum.com/forum/showthread.php?t=43460

Paul
 
E

Eric Gisin

All the tweak sites regurgitate untested bullshit.
There is one that debunks most of this stuff.
I know AHCI and L2 cache are dead wrong.
 
J

John Doe

The most outstanding misconception in this context must be "wear
leveling"... when you have an SSD drive with 2 million hours mean
time between failure MTBF.

Anyway, that is why I am asking.


Eric Gisin said:
All the tweak sites regurgitate untested bullshit.
There is one that debunks most of this stuff.
I know AHCI and L2 cache are dead wrong.

John Doe said:
(Crossposted, please feel free to trim group)

Are the following Solid-State Disk drive tweaks for Windows XP
legitimate and significant? Anything else?

Disable AHCI in both Windows and in the BIOS.

Make sure write caching for the SSD is enabled.

Change the Windows registry.
[search for Values]
Enableprefetcher...change 3 to 0
ClearPageFileAtShutdown...change 0 to 1
LargeSystemcache...change 0 to 1
SecondlevelDataCache... in decimal mode, change 0 to
(what ever the L2 cache is on your CPU)
NtfsDisable8dot3nameCreation change 0 to 1
[search for Keys]
the indexing service.HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Dfrg
\BootOptimizeFunction
change Enable Y to N

Download and unpack dskcache.exe to C drive (root)
open command prompt and type
c:\dskcache +p c:
that sets XP to cache writes the same as Vista.

Turn off Indexing Services. Turn off the Windows XP page file for the
SSD. Turn off System Restore. Disable Hibernation.

Thanks.



--
 
F

Franc Zabkar

The most outstanding misconception in this context must be "wear
leveling"... when you have an SSD drive with 2 million hours mean
time between failure MTBF.

Anyway, that is why I am asking.

MTBF is more a measure of the reliability of a population of drives
rather than an individual drive. So if you had 1000 SSDs, then the
average time between failure would be 2000 hours. In any case I would
expect that the most important predictor of failure would be the
number of writes, not the number of powered-on hours.

- Franc Zabkar
 
J

John Doe

Franc Zabkar said:
MTBF is more a measure of the reliability of a population of
drives rather than an individual drive. So if you had 1000 SSDs,
then the average time between failure would be 2000 hours.

That is lame mental gymnastics.
In any case I would expect that the most important predictor of
failure would be the number of writes, not the number of
powered-on hours.

Are you suggested that MTBF is calculated/predicted without drive
activity?

But seriously.

It "wear leveling" is a silly idea conjured up by an uneducated and
misinformed techie. Or, at least, hopefully, it was not conjured up
by a professional. There is mention of it in a PDF file downloadable
from OCZ's website. That is a bit discouraging, but probably not
written by American engineers. Solid state devices have always been
known to have extremely long life spans compared to mechanical
devices.
 
F

Franc Zabkar

That is lame mental gymnastics.

http://www.hitachigst.com/hddt/know...a03ca96b145bc68e86256df6004d318e?OpenDocument

===================================================================
MTBF is a statistically derived number, typically based on ideal
environmental conditions, under which one would expect a failure.

For example:

A product has a MTBF specification of 1.2 million hours.

This means that in a specified environment with a population of 1.2
million (drives) one could expect a failure every hour (from within
that population)
===================================================================
Are you suggested that MTBF is calculated/predicted without drive
activity?

I don't know how it is calculated. I would hope that the manufacturer
takes into account some "standard" usage pattern, whatever that may
be.
But seriously.

It "wear leveling" is a silly idea conjured up by an uneducated and
misinformed techie. Or, at least, hopefully, it was not conjured up
by a professional. There is mention of it in a PDF file downloadable
from OCZ's website. That is a bit discouraging, but probably not
written by American engineers. Solid state devices have always been
known to have extremely long life spans compared to mechanical
devices.

Flash memories are typically rated for at least 100,000 writes per
cell. I would think tat such a rating could be easily exceeded if the
OS were allowed to write a swap file to the same memory cells ad
infinitum.

See http://en.wikipedia.org/wiki/Wear_leveling

The article states that "some file systems aggravate the problem by
tracking last-access times, which can lead to file metadata being
constantly rewritten in-place". This is the problem that Paul was
alluding to.

Wear leveling algorithms are built into the controller chips in flash
drives. Wikipedia's external links point to application notes by
Sandisk, Corsair, and Spansion (AMD).

- Franc Zabkar
 
J

John Doe

Franc Zabkar said:
..."some file systems aggravate the problem by tracking
last-access times, which can lead to file metadata being
constantly rewritten in-place". This is the problem that Paul was
alluding to.

Paul's recent comment was about speed. That might be a good point
though IMO.
Wear leveling algorithms are built into the controller chips in
flash drives.

Looking around the Internet, avoiding Wiki using my new MicroGear
scroll wheel with THUMP, I see specifications for flash memory write
cycles from 10,000 to 1,000,000. Still, if their flash memory write
cycles are rated at 10,000, I would agree that some manufacturers
are playing with the MTBF members. Any excessive write cycle problem
would probably show up in SMART, if that is supported by the SSD.
Would be fun if Windows XP Performance Monitor would track that.

I can see how wear leveling would be interesting and fun, but it
probably is not necessary.
 
P

Paul

John said:
Paul's recent comment was about speed. That might be a good point
though IMO.


Looking around the Internet, avoiding Wiki using my new MicroGear
scroll wheel with THUMP, I see specifications for flash memory write
cycles from 10,000 to 1,000,000. Still, if their flash memory write
cycles are rated at 10,000, I would agree that some manufacturers
are playing with the MTBF members. Any excessive write cycle problem
would probably show up in SMART, if that is supported by the SSD.
Would be fun if Windows XP Performance Monitor would track that.

I can see how wear leveling would be interesting and fun, but it
probably is not necessary.

It's Wikipedia time.

http://en.wikipedia.org/wiki/Wear_leveling

http://www.corsairmemory.com/_faq/FAQ_flash_drive_wear_leveling.pdf

Wear leveling is what gives these devices claimed usage
times of years. You do want wear leveling.

Paul
 
F

Franc Zabkar

Paul's recent comment was about speed. That might be a good point
though IMO.


Looking around the Internet, avoiding Wiki using my new MicroGear
scroll wheel with THUMP, I see specifications for flash memory write
cycles from 10,000 to 1,000,000. Still, if their flash memory write
cycles are rated at 10,000, I would agree that some manufacturers
are playing with the MTBF members. Any excessive write cycle problem
would probably show up in SMART, if that is supported by the SSD.
Would be fun if Windows XP Performance Monitor would track that.

I can see how wear leveling would be interesting and fun, but it
probably is not necessary.

Years ago I was troubleshooting a digital instrument cluster for a
Ford. The odometer data were stored in a Xicor X2444 "serial 256 bit
NOVRAM featuring a static RAM configured 16 x 16, overlaid bit-by-bit
with a nonvolatile E2PROM array".

Here is the datasheet for the X24C44:
http://www.datasheetarchive.com/pdf/Datasheet-040/DSA00101400.pdf

"Xicor NOVRAMs are designed for unlimited write operations to RAM,
either from the host or recalls from E2PROM and a minimum 1,000,000
store operations. Inherent data retention is specified to be greater
than 100 years."

Imagine if the odometer data had to be written to EEPROM every 0.1
miles or km. That would mean that the EEPROM would exceed its rated
lifetime after only 100,000 km. In this case the designer could shift
the data around within the 32 bytes of available space, thus
implementing a form of wear leveling. Alternatively he could retain it
in RAM for 10 clicks and then update it, or he could choose to write
it to EEPROM when the ignition is switched off and parts of the
dashboard revert to keep-alive battery power.

Another interesting problem is posed by my D-Link DSL-302G ADSL modem.
If I use NNTP to automatically sync the modem with an Internet time
server, then the time and date appear to be written to the
AT45DB161BTC flash EEPROM every 15 minutes. Otherwise, if I set the
time manually, and disable NNTP, then the EEPROM is not updated.

Here is the AT45DB161BTC datasheet:
http://www.atmel.com/dyn/resources/prod_documents/doc2224.pdf

The above document doesn't appear to specify a rating for max write
cycles, but at 4 writes per hour, 24 hrs per day, that means that the
EEPROM will experience in excess of 100K writes within 3 years.
Hopefully the designer has implemented wear leveling to account for
this.

- Franc Zabkar
 
J

John Doe

Paul said:
It's Wikipedia time.

<SNIP>

I do not consider wiki stuff to be authoritative (some is, some is
not). It comes up first in search engines, but I glide past it
effortlessly using my new MicroGear scroll wheel with THUMP.

Is the implementation of wear leveling the same for Solid State Disk
drives as it is for USB flash drives?
Wear leveling is what gives these devices claimed usage times of
years. You do want wear leveling.

But... Hopefully you are not assuming the user provides wear
leveling, and that the manufacturer has a right to count on the user
doing so. In other words, then the wear leveling must be an integral
part of the SDD. And in that case, the issue is academic, it is not
something the user needs to know.
 
F

Franc Zabkar

But... Hopefully you are not assuming the user provides wear
leveling, and that the manufacturer has a right to count on the user
doing so. In other words, then the wear leveling must be an integral
part of the SDD. And in that case, the issue is academic, it is not
something the user needs to know.

The user would benefit from knowing that excessive writes are bad, and
that defragmenting a drive is pointless because of transparent wear
leveling.

In any case Windows 7 will have specific SSD optimisations:
http://download.microsoft.com/download/5/E/6/5E66B27B-988B-4F50-AF3A-C2FF1E62180F/COR-T558_WH08.pptx

To this end the latest ATA spec will be able to distinguish between
SSDs and mechanical HDs.

================================================================
SSD can identify itself differently from HDD in ATA as defined by
ATA8-ACS Identify Word 217: Nominal media rotation rate

Reporting non-rotating media will allow Windows 7 to set Defrag off as
default; improving device endurance by reducing writes

Microsoft implementation of “Trim” feature is supported in Windows 7

NTFS will send down delete notification to the device supporting
“trim”

Enhancing device wear leveling by eliminating merge operation for all
deleted data blocks

Making early garbage collection possible for fast write

Keeping device’s unused storage area as much as possible; more room
for device wear leveling

The alignment of NTFS partition to SSD geometry is important for SSD
performance in case of Windows XP and Windows XP upgrade to Windows
Vista and Windows 7

The first Windows XP partition starts at sector #63; the middle of a
SSD page

Misaligned partition can degrade device’s performance down to 50%
caused by read-modify-write

Implementing correct alignment according to the latest ATA and SCSI
spec.
================================================================

- Franc Zabkar
 
J

John Doe

Franc Zabkar said:
John Doe <[email protected]>

The user would benefit from knowing that excessive writes are bad,

Not with a mean time between failure of 1-2 million hours, assuming
the MTBF is even roughly accurate for normal use. Yes flash wears
with writes, but they would include writes in their MTBF
calculation. One or the other is wrong.
In any case Windows 7 will have specific SSD optimisations:
http://download.microsoft.com/download/5/E/6/5E66B27B-988B-4F50-AF3A-
C2FF1E62180F/COR-T558_WH08.pptx

That is interesting.
(FWIW. I will probably buy Windows 7 when it is published, but will be
using a substitute for what's left of WordPad and Windows Explorer.)
The alignment of NTFS partition to SSD geometry is important for SSD
performance in case of Windows XP and Windows XP upgrade to Windows
Vista and Windows 7

The first Windows XP partition starts at sector #63; the middle of a
SSD page

Misaligned partition can degrade device's performance down to 50%
caused by read-modify-write

Implementing correct alignment according to the latest ATA and SCSI
spec.

Does that mean that simply installing an SSD and installing XP will be
50% slower than doing some sort of alignment first?
 
P

Paul

John said:
<SNIP>

I do not consider wiki stuff to be authoritative (some is, some is
not). It comes up first in search engines, but I glide past it
effortlessly using my new MicroGear scroll wheel with THUMP.


Is the implementation of wear leveling the same for Solid State Disk
drives as it is for USB flash drives?


But... Hopefully you are not assuming the user provides wear
leveling, and that the manufacturer has a right to count on the user
doing so. In other words, then the wear leveling must be an integral
part of the SDD. And in that case, the issue is academic, it is not
something the user needs to know.

You said

"I can see how wear leveling would be interesting and fun, but it
probably is not necessary."

It is present in some form, in a lot of these devices. Without it,
the lifetime of the device would be short. Since wear leveling
is present, you get to use your device longer, whether it is a
USB flash or an SSD. It isn't always possible, to get details
about what method is used. There are patents on this stuff,
and if the licensing fee was an important part of the
manufacturing cost, then there may be reasons to not use
the best method.

That was one of the things I was curious about, when I first
read a document describing wear leveling, and the fact that
a patent had been applied for. I figured the patent owner
would use it to "club" the opposition. But there seems to be
an awful lot of wear leveling going on out there, so the
licensing must be reasonable.

And you may be interested in wear leveling, if, say, it
affected the performance of the device, whether doing
4KB random writes, or long sustained transfers. If the
algorithm happens to be intrusive, then you start to
care. (Like, what happens to my files, if a file
is being moved inside the device, and the power
goes off.) Yes, there are reasons to be a little
bit curious.

You're an early adopter, so it is your job to
keep your eyes open :) When you've finished testing
it, then maybe I'll buy one.

Paul
 
P

Paul

John said:
I did not know it was for the most part an academic discussion. I
apparently mistakenly thought the people discussing it expected the
user to provide wear leveling using some third party software or
whatever. That would not justify the extremely long MTBF. But I
would rather accept the correction than try to find the discussion.
I have no problem with what you all are saying since you are not
suggesting that the user is supposed to provide the wear leveling.

It's built in. And it's a good thing.

The flash SSD would be pretty crappy without it.

I think consumers should still be curious about
the method used, since it isn't a given that
every company is doing it the same way. One thing
I'm curious about, is whether all these companies
have to pay a licensing fee to use wear leveling.
I thought there was a key patent covering it.

Articles like this one, may be some of the first
references I saw on the subject. They were prepared
by M-Systems. Note the tiny size of the drive they
describe.

http://www.dataio.com/pdf/NAND/MSystems/TrueFFS_Wear_Leveling_Mechanism.pdf

Paul
 
F

Franc Zabkar

Does that mean that simply installing an SSD and installing XP will be
50% slower than doing some sort of alignment first?

I don't know. However, if I understand the document correctly, ATA-8
will have a new set of Data Set Management commands which will target
SSDs. IIUC, a new "Trim" command is intended to divide the drive, and
file system, into blocks of LBAs so that the file system can more
closely match the structure of flash devices. AFAIK, flash EEPROMs
such as those used to store motherboard BIOS are erased on a block
basis, but I don't know how SSDs do it.

AIUI, Windows 7 will be able to determine whether a drive is an SSD by
checking word 217 of the 512-byte Identify Drive data block. This word
will presumably indicate that the drive "rotates" at 0 RPM. It seems
to me that, if Microsoft has a set of optimisations that will be
automatically applied to SSDs in Windows 7, then at least some of
these optimisations could be made available, perhaps via registry
edits, to users of XP and Vista.

- Franc Zabkar
 
F

Franc Zabkar

That was one of the things I was curious about, when I first
read a document describing wear leveling, and the fact that
a patent had been applied for. I figured the patent owner
would use it to "club" the opposition. But there seems to be
an awful lot of wear leveling going on out there, so the
licensing must be reasonable.

I see numerous patents for wear leveling in flash memory devices:
http://www.google.com/patents?as_q=...as_miny_ap=2009&as_maxm_ap=12&as_maxy_ap=2009

The various patent holders include Intel, Cirrus Logic, Western
Digital, SanDisk, BIT Microsystems, Lexar Media, Unisys Corporation,
LG Semicon, M-Systems Flash Disk Pioneers, Macronix, LSI Logic,
Microsoft ...

It appears to me that patents have been granted for wear leveling
techniques and algorithms, not the basic concept.

- Franc Zabkar
 
F

Fishface

John said:
Are the following Solid-State Disk drive tweaks for Windows XP
legitimate and significant? Anything else?

So, did you buy one of these, JD? Which one? Or just toying
with the idea and doing your homework?
 
C

Conor

So, did you buy one of these, JD? Which one? Or just toying
with the idea and doing your homework?
A bit late in the thread but I'd just like to say that Diskeeper 2009
has a special thing in it for SSDs where it makes sure files are
written sequentially and does some other optimisations as well. 30 day
trial to have a play.
 
J

John Doe

Fishface said:
John Doe wrote:

So, did you buy one of these, JD? Which one? Or just toying
with the idea and doing your homework?

As Paul's crystal ball perceived, yes I ordered the 30 GB OCZ Vertex
model (Scheduled Delivery is 04/08/2009). At the moment, I am using
only 9 GB with a very well developed Windows XP. I think someone here,
maybe Paul, linked to a review that shows Intel's SSDs having truly
stellar performance compared to mechanical hard drives. The OCZ Vertex
comes in a distant second, but equally that much better than third
place. The much cheaper OCZ also appears to leave Raptors in the dust.
Looking at newegg reviews, paying close attention for warning signs
about slow write performance, the OCZ appears to beat everything else
in its price range there too.

The indicated good performance of the OCZ Vertex seems strange because
it uses MLC flash memory, and since many reviews warn against that.
Then again, some of Intel's fast (and expensive) SSD's use MLC memory
too. Apparently many people were burned by wasting money on early SSD
drives, so maybe some of them jumped to the conclusion that MLC is all
bad. Or maybe I made a mistake too.

Will see. If anyone provides a direct download link to their favorite
test program, I will be happy to post the results from that. There are
several real-world situations where I expect a big improvement. Any
lag should be easy enough to perceive. A test is better though, for
objectivity.

Hopefully I can figure out how exactly to best install Windows XP on
it. I do have the Windows 7 beta too, another possibility.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top