quinta-feira, 3 de março de 2011

MacBook 4GB RAM upgrade with 1333 MHz RAM

Tech Specs: 
MacBook 5,1 (late 2008) originally with 2x 1GB SODIMM DDR3 1067 MHz, upgraded to 4GB with 2x 2GB SODIMM DDR3 1333 MHz

First of all, to put things in context: All unibody MacBook and MackBook Pros, until at least early 2010 worked with RAM DDR3 at 1066 MHz, and the basic models have standard 2x 1GB memory boards.

I needed to do a RAM upgrade for my unibody MacBook, so I bought the cheapest notebook DDR3 RAM boards available in Chile, a pair of Kingston MEM Ntbk 2GB SoDimm DDR3 KVR1333D3S9/2G at US$30 each. That's really cheap in Chile, and there aren't as many alternatives as I would like... The guy at the store told me that they should downclock to 1067 MHz, but they didn't. My MacBook didn't even get to load MacOs after I installed it.

After a little googling, I found that MacBooks cannot downclock the RAM automatically, I think because they don't have BIOS, they have Intel's EFI, and all that... But the fact is that they need at least one board running at 1067 MHz to boot properly. 

I installed one 1GB of the original boards, and a 2GB Kingston, and actually they worked fine. The new RAM downclocked automatically to 1067 MHz, because the EFI takes the lowest setting of the installed RAMs. The Mac recognized the 3GB, and improved the performance a lot. But the goal was 4GB.

Well, actually, you can run 2 Kingston DDR3 1333MHz RAM in a 2008's unibody MacBook, but because you cannot set the downclock of the RAM on the Mac (there's no BIOS to do that), you have to modify the RAM to do the job.

The process is simple:
1. You will need to install BootCamp and some version of Windows. I used XP. Instructions for that are here: http://manuals.info.apple.com/en/boot_camp_install-setup.pdf

2. Buy your 2GB boards. I tested with Kingston MEM Ntbk 2GB SoDimm DDR3 KVR1333D3S9/2G , but it should work with other brands. 

3. Dissasemble your MacBook, and change one of the standard boards with one of the new ones. You can get instructions for this at http://support.apple.com/kb/ht1651#link2

4. Boot on windows and install "SPDTool" (free) or "thaiphoon burner" (not so much). I used the latest. 

This tools will help you read (and write!) the 256 byte SPD EEPROM, that stores a lot of information about the board, like brand, date of manufacture, max. temperature supported, and the default clocking!

Here is a picture of an SPD, that's of no use at all

5. Run Thaiphoon and identify the new board. You don't want to write on the other board!. It should be easy because the brand is readed from the board, and of course, the size. My standard RAM was branded "Micron-something". 

After reading the SPD, look at the lower left corner, for the address of the board. In my case, it was "50h". It will be asked later when you write the data, so be careful.

There are three views, "Report", "Hex", and "Editor". You need the "Editor", that looks something like this:

This is the setting for a 1067 MHz (or 1066, the 7 is rounded). The Clock Freq has to be 533,33 MHz. (1067/2). If you read a 1333 MHz RAM, it should say 666.5 MHz.

So, on the 1333 MHz RAM settings, I changed just the Min SDRAM Cycle Time from 15 to 12 and the Clock Freq moved to the desired 533.33 MHz. I don't know if this values are standard, but you should be able to get the 533 changing just this setting.

And after that, just write the new SPD data to the address. Its "Next", and select "write SPD data to..."

Thaiphoon is not free like SPDTool, but it's cheap and it works great. If you don't want to pay, anyway, you can always download the trial version (writing is disabled) and make the changes there and then use the Hex editor to replicate the changes on SPDTool.

If you use the SPDTool, I don't know the actual parameter that you need to change, but it's important that you recalculate the checksum of the data before writing the board. There is a option to do that in the SPD Tool

6. Shutdown the Mac, and open it and replace the standard board with the other not-modified 2GB RAM. If it all goes well, the EFI will automatically downclock this one to the lowest setting, that is the 1067 MHz that you wrote on the other RAM's SPD.

7. Boot on MacOS and check on About this Mac->More Info->Memory if both boards are recognized. It should look like this:

And that's about it... Good Luck!

3 comentários:

  1. What EFI version do you have on your macbook pro? Is it the latest? I read on another forum that a person used the same model ram to upgrade to 8gb (4gb sticks) and did not need to adjust the SPD

  2. Worked wonderfully - just a note 1333 is set to 12 automatically and you shall need to change it to 15 MHz - not the vice versa. Also please note the ram needs to be able to be written to. So check that your ram can be written to, otherwise this won't work. This software has a facility to check your ram to see if it is possible to write. Spoke with the owner of the software and they were very helpful.

  3. I love to use the Macbook pro. In that I always try to develop the application related to the Mac.