Which kind of programs benefit most by SSD?

tom2u

Distinguished
Aug 26, 2010
387
4
18,785
I've been using a small (30gb) SSD for XP and it only takes up about 8gb. I use part of my 7200rpm Sata drive for the paging file because apparently its not too to have your paging file on C drive. Anyway, I was thinking that perhaps I could benefit by running some programs on C as well using the SSD performance advantages. Trouble is I don't know what kind would benefit the most. I use the Opera browser and it seems to be a real resource hog for at least the last couple of years. I don't play games and I don't do any photo/video editing (yet). Word seems to be fine as well as everything else. Any suggestions?

For my next upgrade I bought a newer mb with a mSata plug on it. Is there any advantages to using that or should I just use my mSata drive? Both wll be low quality as I'm on a conversative budget. And do either have a performance decline when they start to get filled up? Is one worse than another? Is there any inexpensive controller cards that help them better than whatever is built in?
 


Any program that runs entirely from the harddrive or goes to the harddrive often for data, in effect all of them. You need to decide which ones are used more often by you and put them on the SSD.
 
Yeah but surely some benefit from the speed more than others? In Task Manager could their CPU or Memory use be used to pick them? I can't put them all on there. I can't even put a few big ones on there so I have to pick wisely.
 
SSD's are fast more then anything because they have very fast access times.

So ANY program that needs to either read or write from different locations(they can be at any location on the SSD) of the drive will get the boost.

Since a hard drive has to wait for the arm to bring the head into place then read/write them move across the drive again then read/write, it has much slower access times(Slow for a computer, but you are talking times in the milliseconds[varies with the drive, but 9-14 would be an average for a good drive], ssds can get under 1 millisecond in many cases).

Now anything that needs to sequentially read or write data is fast with an SSD because flash is fast(and faster then a hard drive), but depending on how fast the program can receive or send data(some programs used compression that actually becomes limited by the cpu it self), this kind of workload is still good for hard drives.

So most programs will benefit from the SSD, how much depends on how the program works.

Now onto MSATA

MSATA SSD's have the same parts as the normal sata part, so performance wise, they are the same.

SSD speed over time.
Unlike a hard drive that just changes data as it writes(overwriting old stuff), SSDs have to first erase the data in the block of memory. so if an ssd gets overfilled then in many cases it will have to clear out old blocks to make room for more data, this can cause a performance drop.

To amplify this problem, SSDs do not just write a single bit into this block of flash(SLC ones do, but they cost allot). MLC(multi level cell) nand like that used in consumer level SSDs hold 2 bits per block(i am gonna call it a block, is it accurate? It is more easy to visualize that way). So lets say you have most of the drive full, chances are you will have some half full blocks. When you go to write data to the drive, it will have to group up some of these half full blocks to make some empty ones for your data. This can lead to a drop in performance. All drives deal with this differently.

So at this point it has to read the data from block A then read the data from block B then erase block A and write the combined data from the 2 blocks(A and B) it was merging. Next it can erase block B and use it to write your data.

To make things even more interesting for the SSD, the controller does not always know if the DATA has been erased. The normal way to erase data is just to mark it as free and the hard drive will overwrite it. With the SSD the controller has to keep an eye on the data and know when it is no longer needed(so it can make free blocks ahead of time, this keeps performance high). Now with newer operating systems, the operating system can send the TRIM command to tell the SSD that it can erase the data, this makes the creation of clean blocks very fast.

Unfortunately, XP backs that ability, but the SSD's firmware will in most cases have its own background garbage collection that will deal with making free blocks and knowing what data is no longer needed. While not perfect, it is much better then nothing.

I personally have everything but my personal files on the SSD. Believe it or not, the page file is an ideal situation for the SSD.

This image may give you an idea of just how much faster an SSD can be under certain conditions. Tossed in a ram drive for good measure.
hddssdram.png
 
That was a most comprehensive answer!
But for a nuubie, do you think there are any tests one could do with a prospective program to determine if there would be much of a difference in speed? We tend to have different types of tests for different program types so I'm wondering if that is even possible.
Meanwhile I'll just install my browser on C and compare between that one and the one installed on the slower D drive. Most of my slowdowns are web related as Opera seems to have some issues with some types of javascript used these days. They tend to lock up my system so it may not even be Opera's fault as I'm using 2gb of 800mhz DDR-2 ram on a 1.8ghz Core 2 Duo e4300 CPU at the stock speed. Funny as we look back when web surfing meant you didn't use much in the way of resources. Boy has that changed!
 
Unfortunately, very few programs list the load types.

Most games especially MMO or other free roaming games tend to load textures on the fly and those are from different locations because the game is not linear, but programs are a bit different.

Windows it self gets data from all over the place so windows on the SSD was the BEST thing you could have ever done.

I would not want to fill the drive over about 80% of its capacity just top leave room for the drives garbage collection and wear leveling to do its thing.

I would put ANY program you use often(web browser for sure) onto the SSD and leave the others on the hard drive(just don't over fill it). You have to watch out as most web browsers store the cache(files they downloaded and can use to load repeat visits faster in another location. most times the appdata folder.)

Chances are your appdata folder is on the SSD already.

I am personally running my browser and it cache off a ramdrive, but you do not have lots of memory to spare, so that is NOT recommended.

Not playing games saves you all kinds of room on the ssd :) If you use MS office or Open Office. Placing those on the SSD in general will improve the startup time of those programs. Once running, most programs sit in memory and run about the same.

You may be able to move programs to the SSD without the need to reinstall as well with this guide.

It was written with Vista/7/8 in mind, but should work on XP as well. If you try this, it will be more easy just to make a folder on c : called programs or something similar then place what you move into it. To move anything back, you just remove the link then copy the folder back over the old location. At this point you can remove the folder from the SSD. Please ensure the programs is working on the hard drive first.
http://www.tomshardware.com/forum/294557-32-guide-move-software-games-drive-reinstalling
 
Yes, the cache is on the SSD. I wonder if that's the most important aspect of the browser in terms of performance.

The ram drive idea is great. I really look forward to that in the next upgrade. Do you just keep everything in one folder and copy it over when the computer starts or do you just never turn it off and put it in Standby when away? And how much ram should I get to be able to use a ram drive well?

As for folder location I found that most smaller programs not entangled in Microsoft's web perform fine wherever they are: C, D, Z, it doesn't matter. But often if you want a program to open a file type as default it can be a headache twisting XP's arm to get it to do that. Often I just give up and open the program first, then open the file from that program which always works. Its sickening how Microsoft makes it look as if you're committing some grievous digital sin if you opt to place something other than where they deem it best which is often a terrible choice when your OS crashes and you have to reinstall C.

I also wondered if you wanted to copy files off C drive (say your mSata) on to another computer or if you wanted to do diagnostics on that card thing called an mSata, how would that be possible if it doesn't have a MSata card slot on the motherboard? Can you just plug it in like a typical Sata drive? I looked on an image search and the power supply pins and Sata pins do look identical. That would be important.
 
The cache while it would not seem to be important to have on the SSD seems to work out quite well.

My ramdrive is loaded on startup and saved on shutdown to my hard drive. This does slow the startup and shut down times a bit. On my media center it works out very well because that system is almost always running anyway.

You should be able to Shift + right click a file and use the open(choose program) with dialog to point to the location of your programs(with the Junction trick, Windows sees everything as a part of c: :) ).

MSATA is only able to be used with a normal SATA port/power supply with an adapter.
Msata-50mm-SSD-to-2-5-SATA-Disk-Adapter-Replace-Laptop-HD-for-a-Faster-Performance-MSTS-.jpg


SSD's do not tend to require much diagnostics and traditional diagnostics do not work well on an SSD.

Hard drive diagnostics rely on data being in the location that the file system sees it(so write to this block then read it move to the next and go forever), but the SSD controller takes care of this. So even if windows sees a file in this section of the drive. It can be at ANY location that the SSD controller decided to place it in.

SSDs use a process known as wear leveling to ensure that ALL flash is written to evenly. The avoids premature drive failure. While a hard drive can write over the same section over and over, SSDs have a much more limited amount of times a cell can be erased(then written). This time can be as low as 1000 and can go over 10 000 on expensive(and older flash) flash.

To this end, hard drive diagnostics will actually force the SSD to to use up extra erase(then write) counts and may not even be able to see a bad section as the controller may be just placing data at another location.

This is also why you do NOT defragment SSDs. No matter how fragmented it looks, the SSDs controller is the only one that knows the data locations. The near instant access times on SSDs also make any actual fragmentation(and the controller will have data fragmented as it sees fit to keep the overall wear level even) a non issue.
 
Thanks again. Very informative. Saw the Msata adaters on Ebay for 10 bucks. That's just if the computer fries and I need data off the mSata later. Of course with a normal hard drive, whether SSD or not this is a non-issue.

Curious about your ram drive: Do you have a progrm that takes care of that or is it written into the registry or bios?