Technology Corner ...
SSD'S short Life Span
* Introduction :
For those who don't know, here are the links on how SSDs work, why they've got only limited number of write / erase cycles, and why MLC SSDs have a very short life-span as compared to SLC SSDs. The entire article is in itself quite informative, and you should read it if you've the time to do so.
So now you know that every write / erase means the clock of doom is ticking closer to zero hour for your SSD. The clock ticks ten times faster if you've got a MLC SSD which is what is relatively common. So to protect the data and money you've invested in your SSDs, you definitely need to make them last longer.
But you've got lots of things in Windows, that are an indispensable part of the OS, that keep writing or erasing data a huge number of times without your knowledge. Most of these can be avoided or at least made to operate in such a way that they don't harm your SSDs, and now we'll look at them:
1. Defragmentation software :
Defragmentation software consolidates files by moving all the fragments of a file to one place i.e., to adjacent sectors in a HDD, or adjacent cells in a SSD. In this process, it erases data from some cells and writes them into other cells. Keep doing it daily or even weekly, you're going to end up exceeding the write / erase cycles too quickly for your liking.
And for SSDs, defragmenting is totally unnecessary. You see, in HDDs, the seek head has to move over various sectors and hence it has a read time in the order of miliseconds. So it'd help reduce this seek time noticeably by defragmentation when you place all parts of the file sequentially in order to eliminate the necessity of searching through the entire platter.
But with SSDs, there are no moving parts and the SSD already knows in which cell each part of the file is written and so seek time is thousands of times still less; it's in microseconds, and so however heavily a file is fragmented, the SSD knows exactly where every fragment is, and any amount of fragmentation is not going to affect the seek time of SSDs and hence read time for that file.
So remember to disable defragmentation of any SSD volume that you might be having.
2. Logs and disk clean up utilities :
Logs are another problem because data is being constantly written to the SSD's cells. If you're going to use some disk clean up utility, it'll simply delete the data in those cells. So those cells would have been made to undergo one write / erase cycle everytime the utility cleans up your SSD. And contnuation of the log will be written to other cells (because of wear-levelling) and they will also be made to undergo similar such unnecessary write / erase cycles.
So the best thing is to do is not maintain logs, but if you do need them, like temperature logs for CPU, GPU, etc.. then see if you can change the directory of where a log file is being written. If you can change it, then ensure that the directory does not point to a SSD volume. But most of the logs are maintained by Windows and can't be relocated and so the best thing to do will be to let them be as such and use the clean up utility a lot less frequently.
3. Internet Explorer browser cache and default downloads folder :
The content of every website visited is written to a small browser cache. Within that cache itself, data gets written and rewritten many times. Add to that the number of times you delete that internet cache (or some disk clean utility does it for you) and you end up with a very large number of write / erase cycles.
So you can change the directory of the browser cache and ensure that this directory does not point to a SSD volume. So now, the temporary internet files no longer get written into your SSD. You should also change the default directory where the files you download are saved to, when using download managers, and let the new directory not be on a SSD volume.
4. Instant messaging :
Whenever you send Instant mesages or have PC to PC voice chats, the typed messages, or spoken sound files are written as very small files to the SSD before being sent to the other person (it's in a folder which is either the installation folder of the IM software or located in Application Data or Local settings) and then they are deleted after the chat.
Again, these write / erase wears SSD cells. Try installing the program in a mechanical HDD instead of SSD if the IM files are saved to the installation folder. If it's otherwise and the files are written inside Application data or Local settings, only the program creator should alter the program to suit SSDs. Additionally, if you've read through the entire article I've linked this post to, you'll find writing of very small packets of data into most MLC SSDs by itself causes problems.
5. Page file :
Page file or virtual memory is a portion of the HDD, or a particular number of cells of a SSD that's used as if it were RAM. Now data gets written, erased and rewritten into the page file a staggering number of times every minute. And this data is the page file constantly changes with the dynamism of the data in the RAM. So your SSD will hardly last a year if it has got the page file in it.
And wear levelling algorithms will constantly change the cells that act as page file and so you'll end up with all of the cells of the SSD worn out completely in the blink of an eye. So the best option is to add 2 GB more of RAM and then disable your page file altogether. This simple step will dramatically prolong the life of your SSDs, even if you have the operating system in it.
Or if you're very particular about having a page file, you can change the drive where the paging file is, and have it on a mechanical drive instead, but beware; applications will suffer lags because the mechanical drive involved is not as fast as the SSD and hence the benefits of a SSD will not be fully realized as it is made dependent on a mechanical drive.
6. Registry :
Now coming to the second biggest, but the most incurable problem of all: the Windows registry. It grows constantly everytime you install programs or even simply use Windows, and data entries are also constantly being deleted from the registry. The rate at which registry entries are written / erased is in itself enough to wear out SSDs within a few years. Add to that the fact these are written in very small packets, and that disk caching will not be of much use here.
This is most bugging because there is nothing you can do to translocate the registry to another directory. So this can be resolved only if Microsoft decides to create upcoming versions of Windows optimized for SSDs with registry whose location is left to our choice at the time of installation of the OS. Until then there's nothing we users can do. Perhaps the statement "if SSDs suck, blame Windows and not SSDs" has a lot more veracity in it after all.
7. Intelligent disk management :
The simplest way of all; just don't move files from one partition to another or install or uninstall, or create or delete files and folders unless absolutely necessary.
SSDs are simply great with marvellous read and write speeds, lightning quick access times, great durability and with enormous endurance wherein they can last almost infinitely when you just keep reading files from it.
But when it comes to writing files and erasing them many times over as in normal usage, the real Achilles' heel of the SSDs are exposed and that's where the trouble begins with them. This happens to be the sole aspect in which HDDs beat them.
Source NVidia SLI Zone Forums
64 bit vs 32 bit OS ...
The main differences between the 32-bit versions of Windows and the 64-bit versions of Windows relate to memory accessibility, memory management, and enhanced security features. The security features that are available in the 64-bit versions of Windows include the following:
* Kernel Patch Protection
* Support for hardware-backed Data Execution Protection (DEP)
* Mandatory driver signing
* Removal of support for 32-bit drivers
* Removal of the 16-bit subsystem
One of the greatest advantages of using a 64-bit version of Windows is the ability to access physical memory (RAM) that is above the 4-gigabyte (GB) range. This physical memory is not addressable by 32-bit versions of Windows .
Depending on the version of Windows that is installed, a 64-bit version of Windows supports from 1 GB of RAM to more than 128 GB of RAM. The ability to address more physical memory lets Windows minimize the time that is required to swap processes in and out of physical memory. Therefore, Windows can manage processes more efficiently. This memory management feature helps improve the overall performance of Windows
Memory Basics ...
Before we can discuss timings we need to understand a little about how memory is organized and accessed. Your RAM is basically laid out like an Excel spreadsheet. In other words, it is organized in rows and columns. Suppose that you have a 16 megabit chip on your memory stick. This chip will normally have 4M (4,194,304) address locations, or cells to follow our spreadsheet example, with each one containing 4 bits of data. Since 2^22 = 4,194,304, 22 bit addresses are required to address that many cells. The memory controller will use the first 11 bits to reference the column and the last 11 bits to reference the row. This method allows the memory controller to uniquely address each row and column in your RAM just like you would when you use an Excel spreadsheet. This explanation may seem a little complicated, but it will help us understand memory timings, which is what this FAQ is all about.
What are timings?
Timings generally refer to how long it takes for the memory to get ready for access by the memory controller and CPU. RAM timings play an important role in your system’s overall performance as well as stability. If the memory tries to give up something before the CPU is ready for it, then you could have problems. That’s when someone might say, “you need to loosen your timings.” That way, you allow a little more time for the rest of the system to get ready for whatever action the memory is getting ready for. The converse is someone might say “you need to tighten your timings,” which would speed up how long it takes the memory to get ready so it doesn’t slow down the rest of the system.
Your RAM timings are actually numbers like 2-3-2-5 and refer to the number of ticks (CPU cycles) it takes for memory to get ready to do something on behalf of a request from the system. So we can deduce that timings play an important role in programs that need to access memory quickly in relationship to other system components. Can you guess what type of programs rely more on timings? Games are a big one! Your games have to move data quickly so you don’t get headshot in CS:S or taken down by a zombie in HL2. Timings obviously are not critical in programs that just sit there and crunch numbers. They play a role, but not as big as in games.
You’re probably wondering then why do I sometimes have to adjust my timings if Prime95 craps out since it just crunches numbers? The answer is simple: the researchers that wrote Prime95 developed some of their stress tests so that data would have to be moved quickly in and out of memory to test the stability of your system. You can’t do scientific research unless you have reliable data!
OK. Enough of this Prime95 talk. Let’s get on with RAM timings.
What happens when the CPU wants something from memory?
First, the chip set accesses the ROW of the memory matrix (remember our spreadsheet analogy) by putting an address on the memory's address pins and activating the RAS signal. Then, we have to wait a few clock cycles (known as RAS-to-CAS Delay). Then, the column address is put on the address pins, and the CAS signal is activated, to access the correct column of the memory matrix. Then, we wait a few clock cycles. This is what we all call CAS latency. Then the data magically appears on the pins of the RAM and hopefully you don’t plugged in the head.
CAS? RAS? What are those?
Now we get down to the meat of our discussion. Actually there are several different RAM timings that you can probably tweak in your BIOS, but 4 are really important and you’ll probably never mess with the others. If you do, then you’re geekier than the rest of us and probably have a very large head. That may be the reason you go down so much in CS:S and not because of your timings. Bigger target for headshots. Get it?
We refer to memory timings like 2-2-2-5. What does this mean? Well, these numbers are CAS Latency—RAS to CAS Delay—RAS Precharge—TRAS.
What? Don’t worry. We’ll talk about each one of these settings and explain precisely what they mean. Well maybe not precisely, but you’ll get the picture. Unless you’ve got one of those big heads, then you’ll probably just post corrections to my FAQ J.
CAS – Column Address Strobe
You’ll also see CAS referred to as CAS Latency, CAS Delay, or CL. CAS controls the timing delay (in clock cycles) before the RAM starts a read command after receiving it. CAS timings are usually 2, 2.5, or 3 for DDR and can be higher for DDR2. CAS latency has more affect on your system performance than any other RAM setting. Since this is the number of cycles the CAS needs to find the correct address of the data that it is looking for. That is why your system will run a little faster when the data can be fetched in 2 cycles rather than 2.5 or 3.
RAS to CAS Delay (RAS – Row Access Strobe)
You will sometimes see RAS to CAS Delay referred to as TRCD (time RAS CAS Delay). This timing is the number of CPU cycles between the CAS and RAS signals used when your RAM is written to, read from, or refreshed. Lower settings result in faster performance, but this setting is not as critical as CAS Delay. Typical settings for this are 2, 3, and 4 for DDR with similar values for DDR2 depending on what speed the RAM is set for.
RAS Precharge
RAS precharge is sometimes referred to as TRP (time RAS Precharge) and indicates how fast your RAM can terminate the access of one row and start accessing another. Typical settings for RAS precharge are similar to TRCD. TRP also affects performance, but like TRCD, it is not as critical as CAS Delay.
Active to Precharge
More commonly referred to as TRAS (you should have caught on by now that T is for time) and specifies the number of CPU cycles between getting a memory bank (our spreadsheet) ready for access and then closing it. TRAS generally affects system stability more than performance, but you should strive to run at the lowest number possible while remaining stable in your overclock. Typical values for TRAS are much higher than the others and range from 5 to 8 for decent DDR and from 8 to 12 for DDR2 depending on the speed used.
What about Command Rate?
Command Rate is sometimes referred to as DRC (DRAM command rate). This is the setting that selects the speed of your RAM signal controller. If it is set to 1T, then the controller will run in synchronization with your bus speed. Higher settings will result in slower overall RAM speed, which translates to less bandwith and yes (you guessed it) more headshots for you. Most decent RAM modules will run at 1T, but some have to be set to 2T. The moral of the story here is don’t buy value select RAM!
~Tweaking for Performance and Stability~
Ok, so you’ve overclocked your system and Prime95 ran for 14 minutes and crapped out. You’re already at max vcore, you’ve got an appropriate memory divider, and you’ve tweaked vdimm. What should you do? Adjust the timings!
Start by increasing TRAS. Go up to the max if you need to and if this solves your problem then you’re golden. If not, then try increasing TRCD and TRP. If that doesn’t work, then you may need to bump up your CAS Delay. Since there are 4 timings, you may need to experiment a little to find the right mix to get you through a 12 hour session of Prime95 . or at least 1 1/2 hours of Memtest
Don’t worry about the hype from the forum members yelling at you that you have bad RAM. You can benchmark before and after so you have numbers to see the difference.
Benchmarking
The proof is in the numbers. If you’re really concerned that loose timings will result in drastic performance decrease then you should bench before and after. You’ll probably find that there isn’t a big difference. Besides, what’s more important: a faster unstable system that will crash your game just before you deliver a head shot to melon head or a slightly (very slightly) slower system that lets you plug the bad guy?
Source Nvidia SLI Zone Forums