[Original portuguese article here]Although SSD (Solid State Disks) are now becoming a lot more common (even cheap mini-laptops like the Eee PC use Flash disk storage) it doesn't mean that our old trusted MS Windows XP knows how to use it properly.
The main issue with flash based SSD is the limited number of write cycles.
Although hundreds of thousands may sound like a lot, a computer can issue hundreds of writes per second - and even though some SSD use a "smart" relocation scheme, so it spreads the writes across different sectors in order not to wear down a single area; the fact remains that paging files and temporary files cause significant degradation that can cause disk errors in just a few months of regular use.
On Linux (like on the Asus Eee PC) you can turn off the swap files with just 512Mb of Ram; on Windows XP that wouldn't be possible (and would be even worse on Vista.)
So, before considering upgrading your laptop or UMPC for SSD use, it's best to upgrade your RAM to its highest capacity.
On XP, with 2Gb of Ram you can turn off the paging file - I've done so over 2 years ago and just rarely get a "out of memory" error (and only when forcing it, like trying to use Photoshop to edit multiple 12Mpixels images while having 2 browsers with dozens of tabs open, and burning a DVD at the same time.) Under regular conditions, even with multiple browsers open, I can still play memory intensive games like ETQW and UT3 without any problem.
With no swap file, you avoid the constant disk trashing due to the page file constant reading/writing, However, there's still more to be done.
There are other programs that use disk space for temporary buffers and caches. Internet Browsers are probably the worst of them. Each time you visit a new page, hundreds of small files are written to disc to speed up future requests. Although not a big deal on magnetic hard drives, these are not well suited to SSD.
Until these programs offer a finer control on how to use their RAM/disk caches and memory usage, the most efficient way to deal with it is by using a RAM disk.
Yes, I know it sound illogical - waste RAM making it look like it's a disc... However it does work out ok for the time being.
You just need to configure your programs to use the newly created ram disk to store their temporary files.
(As an added advantage you also stop worrying about cleaning your disk and privacy issues - every time you reboot it will clear all you temporary files; though some Ram disk drivers also allow you to commit the changes to disk at shutdown time, restoring it when you boot up again.)
There still one other alternative - though it requires a fair amount of computer knowledge.
If you use the EWF (Enhanced Write Filter) originally designed for XP Embedded, it allows you to manage writes much more efficiently.
Just like Ubuntu "live CD" that allows you to boot and save files even if you don't have a hard-drive installed, the EWF reroutes all writes through a management layer which would allow you to commit the changes to disk only when absolutely necessary. Usually, when a shutdown/suspend is in order, or when some extra free memory was required. However, this is not easy to setup, and not indicated for a "normal" windows user.
With Linux - although I'm not an expert on it - I imagine all these changes would be a lot easier to implement (or they might be there already, requiring just the correct settings.)
On Windows, as we can't change its source-code, we need to resort to these ips and tricks to maximize SSD performance and reliability (though you can also use it even if you use regular Hard-Drives.
- Install as much RAM as possible (at least 2Gb, but ideally 3 or 4Gb)
- Deactivate the paging file
- Use 128-512Mb as a RAM disk (depending on your needs) and setup your programs to use it as storage space for temporary files/caches
Update]
Article further expanded here.


27 comments: