SSD
My laptop being kind of slow, I decided to change one element to boost it a bit: the hard drive.
My MacBook Pro used a 2.5" 320 GB 5400 RPM SATA3 hard drive made by Hitachi and I decided to replace it with an Intel 520 SSD (240 GB).
Here is the disk:
Installation
Installation was quite easy, provided that you have the right tools (especially a Torx 6 screw driver).
- Backup (TimeMachine is a very nice tool).
- Follow iFixIt manual for changing the drive.
- Restore backup (so I end up with the exact same configuration as before), this step is tricky (if you want to use FileVault especially). Since Lion, there is a recovery partition that needs to be created. If you go directly to "Restore from Time Machine", this partition won't be created. See the following links on how to restore Lion on a new drive:
Native encryption
One reason I choose this disk was because of it's ability to do full disk AES256 encryption.
Since it's a laptop and I don't want anybody to be able to access it's content if stolen, I was using FileVault but FileVault has some drawbacks, especially when using a SSD drive:
- Reduced performances (having a SSD was all about having excellent performances).
- Reduce SSD lifespan (it's more difficult to do garbage collection for the drive).
- Mac only.
In the case of the Intel 520, all the data are always encrypted, it just requires to set a password (standard ATA security feature) to prevent anybody to decrypt it. So excellent performances and excellent security by default. Nice? No. Why? Because Apple computers don't handle HDD passwords 😟.
Yes, Apple sucks a lot on that. I browsed the web quite a while and I have only seen disapointed people. Anyway, I opened a bug report, will see what Apple is going to answer.
And it get worse. Looks like the drive is in fact doing AES128 instead of AES256… Bad? Not really, AES128 is still very secure. AES128 might even be more secure than AES256 (but no way to know how AES is implemented on Intel disk (number of rounds, etc.)).
I have to admit that currently I'm very disappointed (a lot by Apple, a little bit by Intel (but at least they are offering refunds and working on fixing the issue)).
Better performances?
There are 2 ways to answer this question:
- by measuring performances (benchmark)
- by telling how the systems feels after the change
Here are my answers:
- I did only one simple benchmark: boot time
- HDD: 88 s (with FileVault)
- SDD: 15 s (without FileVault)
- It's like night and day, after using an SSD you can't go back to a regular HDD. My computer feels so much faster than before, it's incredible.
Tweaks
Here are some tweaks to improve SSDs support/performances/lifespan on Mac OS.
Activate TRIM support
TRIM is a command send by the OS to the SSD to tell the SSD which blocks of data are not used. The purpose of it is that the SSD can manage where it writes data more efficiently (remember that each cell in a SSD can support only a limited number of write commands before dying).
In Mac OS you can see if TRIM is supported in Apple Logo
> About This Mac
> More Info…
> System Report…
> Hardware
> Serial-ATA
. There select your SSD, there should be a line with TRIM Support
saying Yes
or No
.
Here is an explanation on how to enable TRIM. Installing TRIM Enabler is the easy solution.
Anyway… I didn't manage to enable TRIM support on my Mac yet 😟.
Deactivate local backups
I already talked about it. On laptops with TimeMachine activated, some backups are done directly on the laptop hard drive. Turning this feature off will allow you to retrieve some disk space and reduce the amount of data written on the SSD.
Change sleeping mode
When closing the lid, before switching your computer to sleep mode, Mac OS copy the content of the RAM into the hard drive. This allow the computer to restart even after the batterie is depleted. So if you are never in that case, you can disable this feature (and save more writes on your disk). To disable it, change hibernatemode
from 3 to 0, then remove the existing memory image:
$ sudo pmset -g | grep hibernatemode
hibernatemode 3
$ sudo pmset -a hibernatemode 0
$ sudo rm /var/vm/sleepimage
See sleepmode article to understand the different hibernation modes.
Never put hard drive to sleep
This feature does nothing anymore (except if you have other hard drives connected to your laptop) and it seems that some SSDs had problems with it. If it's your case you can disable it.
Go in System Preferences
> Energy Saver
. In both Battery
and Power Adapter
untick Put the hard disk(s) to sleep when possible
.
Deactivate sudden motion sensor
The sudden motion sensor detects when your laptop if falling or being moved abruptly and tell the hard drive to protect itself (by parking the heads). In SSD this makes no sense.
$ sudo pmset -g | grep sms
sms 1
$ sudo pmset -a sms 0
Disable access time on filesystem
Each time a file is accessed, Mac OS writes the file's accessed time in the filesystem. This can be disabled too!
Have a look at §4 in Fredrik Poller's article for details.
Comments Add one by sending me an email.
I opened a bug (id 11682976) in Apple's bug tracker but it was closed as duplicate of bug 7623550 (which is still open).
Unfortunately it's not possible to see others bug reports. Anyway it looks like Apple is priorizing bugs according to the number of duplicate they have. So if you want ATA security support on Mac, please open yourself bug reports.