OS X Understanding & Enabling SSD Trim Support December 31st, 2011
Over the past few years, our understanding of SSD technology has advanced significantly. In theory, SSDs are a massive improvement over conventional spindle drives with no major weakness to speak of. No longer does your computer have to wait for a motor powered platter to rotate into the correct position every time you want to access a piece of data; it can now grab it instantly from a bank of memory cells inside the SSD. As well as this dramatic increase in performance gone is the noise, the heat, and importantly the power consumption, and in its place smooth, silent, virtually instant data transfer.
Well, that’s the theory anyhow.
The reality is that whilst a lot of the above is true, an SSD is not immune to problems like any other hard drive; one of the biggest of these problems is the way in which SSDs handle deleted data and the way this causes overall performance to tail off after continual use.
First, we need to understand the problem.
SSDs are split into multiple cells. Imagine for a moment a brand new SSD with a clean 20kb cell, the drive writes two 10kb files into this space at its full write speed, so far so good. Later, you delete one of these 10kb files as it is no longer required. The SSD will now simply mark the unwanted 10kb space as an area that is available to be rewritten, this is exactly the same behaviour you’d expect from a conventional spindle drive; the important point to note here is that neither the SSD nor the conventional spindle drive actually deletes the physical data. The difference comes when you need to right new data into the 10kb space.
The conventional spindle drive will simply write over the 10kb of space when the new data comes along however when the SSD comes to rewrite data to the 10kb of free space in the now dirty cell – in order retain the 10kb file still there – it must first read that data to its controller, wipe the whole 20kb cell clean and then rewrite the complete set of valid data, old and new, into the cell. Over time, this continual rewrite process has very little impact on the performance of a conventional spindle drive however the read-modify-write process employed by the SSD will drastically reduce performance on the SSD in comparison to writing data to new, clean cells. This behaviour is the main cause of SSD performance degradation over a period of time, especially for heavy users accessing data daily.
Ironically, for a device which can, at least in theory, address any given cell at the same speed, SSDs can also become subject to fragmentation as a side effect to dirty NAND. Having numerous cells filled with deleted data means the drive needs to perform more and more read-modify-write cycles when writing files to the drive which over time causes yet more performance degradation. A heavily fragmented SSD will also have no choice but to spread files over even more cells, forcing the drive to address all those cells too when reading data; this of course has the effect of reducing the overall read performance of the SSD as well as the write performance.
SSD manufacturers are aware of these issues of course and there is a fix by way of the TRIM command. TRIM reorganises written data on the SSD and scrubs deleted data as soon as it has been deleted (this is triggered by a delete command, clearing the recycle bin or, reformatting the drive). This means that when the drive needs to write data to that cell again, there is nothing but clean NAND waiting negating the need to perform the read-modify-write process, therefore ensuring the optimum write performance is maintained and does not degrade with use. However, in order for TRIM to work, support is required not only within the SSDs firmware but also the host OS. Windows 7 shipped with TRIM support out of the box and I can say from personal experience, it makes a huge difference. The problem with OS X is that TRIM support is very limited.
TRIM is officially supported in OS X 10.6.8 or greater, but is limited by the fact that it only supports Apple branded SSDs.
Take a look at About This Mac>More Info>Serial-ATA and you’ll notice unless you’re running an Apple SSD the TRIM support flag is set to ‘No’. It seems a deliberate oversight on Apple’s part, no doubt to try and convince you to buy their own branded drives (which by the way you should never do, they are way over-priced and old technology) but as always there is a way to enable TRIM for other manufacturers SSDs. To enable TRIM support, simply download an app called TRIM Enabler which works by loading a kernel extension from MacBook Pro 2011 models (with TRIM support) into your Mac OS X kernel, this forces TRIM to be enabled; all you have to do is download and mount the DMG file and click on Patch. Simples!
Caveat: This is completely unsupported software and is not endorsed by Apple. I am not responsible for any damage or data loss that may result from enabling TRIM. Always have a backup of your data and proceed carefully at your own risk. If you decide to download the above patch and enable TRIM, you do so of your own choice.
Notes: I have tested TRIM Enabler on my MacBook Pro (early 2011) i5 running OS X 10.6.8 Snow Leopard without issue. After a reboot, the TRIM support flag changes to ‘Yes’ and the system runs normally without any issues, it’s too early to tell if having TRIM enabled will keep my read/write speeds consistant but I will run some benchmarks and report back at a later date with a comparison.
I hope this may be of use to someone, please feel free to share your experiences in the comment box below.
For Sale – Lenovo ThinkPad T61p 6460-8UG December 24th, 2011
As a converted Mac user, I no longer use my trusted Lenovo T61p.
The T61p may be a few years old but in my experience it still out performs most, if not all, of the mid-range machines on the market today. The ‘p’ designation was a very high specification laptop designed as a mobile workstation geared towards serious mobile computing and design work and will frankly, embarrass many of the most up-to-date models; with good all round performance coupled to a quality full HD display, the T61p is truly a great machine.
I wrote a review of the machine a while ago which can be found here for further information.
Specifications are as follows:
Model – Lenovo ThinkPad T61p 6460-8UG
Processor – Intel Core 2 Duo T7700 2.4Ghz with Centrino Pro technology
Memory – 3Gb DDR2 SDRAM PC2-5300-667MHz SO DIMM 200-Pin
Display – 15.4″ Full HD (1920×1200 WUXGA) TFT Active Matrix
Graphics – Nvidia Quatro FX 570M 256Mb PCI Express x16
Battery – 9-Cell Extended (Genuine Lenovo, approximately 6 months old)
Hard Drive – 320Gb 7200rpm SATA
Optical Drive – DVD-Writer DVD+RW
Operating System – Windows 7 Ultimate Edition 32-Bit (installed, licensed and activated but no COA or media supplied)
Please feel free to contact me if you’d like any further information, or head over to the eBay auction directly to place a bid. I also have available a Lenovo Advanced Dock (for the above) as well as a 19″ Widescreen Lenovo monitor.
Christmas Fruitcake Anyone? December 24th, 2011
I had the following message pop up on Skype a short while ago, I mean really, after all these years do people really think we are still stupid enough to fall for the same con? Aside from the jump to social media platforms instead of email, the old tactics are still the same.
Still, it made me chuckle.
I have been in search of someone with this last name. Southby. So when I saw your name I was pushed to contact you and see how best we can assist each other. I am Mr. David Akoto, a Banker here in Kumasi, Ghana. I believe it is the wish of God for me to come across you on skype now. I am having an important business discussion I wish to share with you which I believe will interest you because, it is in connection with your last name and you are going to benefit from it. One Late Albert M. Southby, a citizen of your country had a fixed deposit with my bank in 2004 for 36 calendar months; valued at (Three Million, Four Hundred Thousand US Dollars) the due date for this deposit contract was the 16 of January 2007. Sadly Albert was among the death victims in the May 26 2006 Earthquake disaster in Jawa, Indonesia that killed over 5,000 people. He was in Indonesia on a business trip and that was how he met his end. My bank management is yet to know about his death, I knew about it because he was my friend and I am his account officer. Albert did not mention any Next of Kin/ Heir when the account was opened, and he was not married and no children. Last week my bank Management requested that Albert should give instructions on what to do about his funds, if to renew the contract. I know this will happen and that is why I have been looking for a means to handle the situation, because if my Bank Directors happens to know that Albert is dead and do not have any Heir, they will take the funds for their personal use, so I don’t want such to happen. That was why when I saw your name I was happy and I am now seeking your co-operation to present you as Next of Kin/ Heir to the account, since you have the same name with him and my bank head quarters will release the account to you. There is no risk involved; the transaction will be executed under a legitimate arrangement that will protect you from any breach of law. It is better that we claim the money, than allowing the Bank Directors to take it, they are rich already. I am not a greedy person, so I am suggesting we share the funds equal, 50/50% to both parties, my share will assist me to start my own company which has been my dream. Let me know your mind on this and please do treat this information as TOP SECRET. We shall go over the details once I receive your urgent response strictly through my personal email address, firstname.lastname@example.org
Mr. David Akoto
Needless to say I won’t be contacting Mr Akoto anytime soon.