Thursday, 7 April 2011

Upgrading to an "Advanced Format" HDD (Windows 7)

About a month or two back I bought a new laptop, since my old HP was literally falling to pieces (the LCD hinge broke and it the metal bracket was stuck.  Not even a hammer would get it to move).  So rather than run the risk of the LCD cable becoming severed one day and not having a laptop, I decided to buy a Vaio and went for the VPCF12M0E.  It has an i7 740QM CPU, 4GB of RAM and 500GB HDD.  I decided on this model becuase in my opinion, anything over 4GB of RAM right now is a waste.  I'm a pretty demanding user and I've yet to reach a point where I feel 4GB isn't enough.

It's pretty nice.  The CPU encodes video literally 5x as fast as my old dual core Athlon 64 2x2GHZ TL-60 in the HP, the memory scores high on the Windows Experience Index, and the GPU is decent too.  The only thing that let it down (as is usually the case with laptops or manufacturer assembled computers) was the HDD.  It shipped with a Western Digital 500GB Scorpio Blue (WD5000BEVT).  I could tell straight away that it wasn't great, and while I didn't perform any proper benchmarks, it scored 5.8 in the Windows Experience Index, compared to an old Western Digital 250GB Scorpio Black (WD2500BEKT) which scored 5.9.

At this point I should tell you that the in Windows 7, the Windows Experience Index caps the score for platter based HDDs (ie not solid state) at 5.9.  It's possible that it would have scored even higher.

The Blue didn't seem unusually slow as such, just I remember my 250GB Black feeling faster and more responsive.  The main differences between the Blue and Black series notebook HDDs are:
  • Blue - 8MB cache.  Black - 16MB cache
  • Blue - 5400 RPM.  Black - 7200 RPM
The Black drives also typically have a longer warranty (5 years compared to 3), but are generally a step behind the Blue when it comes to capacity (at the time of writing the largest Blue notebook drive is 1TB, and the Black is 750GB).

However data density also plays a part in speed, and the general rule of thumb is that the larger the HDD, the higher the write/read rates, so although the 500GB Blue lost out on cache and RPM to my old 250GB Black (which are pretty major points to lose out on), it does high a higher data density, so sequential throughput shouldn't have suffered quite as much - it's more seek operations and loading multiple files where the Black series outclasses the Blue.

So after looking at my options, I decided to go with a Western Digital 750GB Scorpio Black.  It was the right combination of capacity and speed for me (though I really wish they had made it available in 1TB.  I smell a marketing ploy...).

I had also looked at the Seagate Momentus XT 500GB.  It's an interesting drive as it's a hybrid.  It has platters like any other harddrive, but it also has 4GB of on-board SSD storage where most accessed files are stored (eg the OS files).  The performance is really impressive, but since it's only 500GB it would have been a sidegrade, so I passed on it.  Hopefully this type of drive will catch on.  Who would need SSD if we have 2TB platter HDDs with 16GB of SSD?

Advanced Format
My choice of the 750GB Black was a relatively easy one.  Right now it's probably the best performing HDD of that capacity.  The Momentus is awesome, but I wanted extra space as well as extra speed.  However I ran into a little problem.  Something called "Advanced Format".

What is this and why is it such a big deal?  Ever since HDDs were first created way back in 1956, they have used 512 byte sectors.  It was predicted that using current technology that HDD sizes were going to stagnate.  One solution to this was to use larger sector sizes which allows for more efficient usage of the recording surface which in turn allows the manufacturer to use more robust error correction which is needed at the ever increasing data densities.

The 750GB Black uses 4096 byte physical sectors, but the controller still communicates in 512 byte sectors (4k emulation).  Think of it as a kind of translation.  The decision was made to use this kind of emulation because of the many programs and operating systems that presume a HDD will have 512 byte sectors - think of it in a similar way to how your 64-bit OS and CPU still offers emulation for 32-bit programs.  Going full 64-bit would be a pain right now.

I had read about this prior to buying the 750GB Black and I got myself confused.  Due to the fact that the sectors are larger now (8 sectors combined into one if you think of it that way), it's possible for data to be unaligned.  That is instead of the 4k sectors sitting nicely like this:

Some operating systems and partition creation utilities can create paritions that are unaligned.  I do not understand fully, but I believe it's to do with the location and/or size of the Master Boot Record.  In this case, data can become unaligned like this:
That creates two specific situations.  One where data is aligned (as the first example) and one where it isn't.  To the best of my knowledge it doesn't cause any compatability problems, just decreased read and/or write performance.  If your data is unaligned, then you need to use a tool like WD Align to fix it.

Here is a chart Western Digital put together to help end users determine whether or not they need to run the WD Align tool on their disk.

As you can see, Windows XP (and presumably earlier) requires you to run the WD Align tool, since the OS is not 4k sector aware, and neither does the OS really "know" that the drive has sectors of these size since the drive's firmware still communicates in 512 byte sectors (4k emulation).  In this instance, XP creates a partition that is at a sub optimal offset for 4k drives, and the WD Align tool fixes that.

Windows Vista, Windows 7 and Mac OS use an offset that is optimal for 4k Advanced Format drives and does not require alignment under normal circumstances (for example a clean install of one of these operating systems).

However cloning utilities are a grey area.  Western Digital claim that you should align the partition after restoring the data to ensure full performance, however I believe that some disk cloning utilities (such as Macrium Reflect) support 4k drives and would not require alignment after (providing the OS supports the correct drive offset).

This is what raised questions with me.  I needed to migrate my data from a 512 byte sector HDD that I did not know the offset of to a 4096 byte sector HDD.  Luckily since the old HDD was formated with Windows 7, it already had it's data at the right offset, but I think that would probably end up to be irrelevant anyway.

I decided to use the internal Windows 7 backup/restore utility.  One of the reasons was because it's was free and readily available.  The other reason was that since this is a backup tool, rather than a dumb data cloning program, I expected that upgrading a HDD this way would be less hassle as this type of situation will have been considered when Microsoft were designing the software.  Think about what happens if you have been making regular drive images, and 5 years later the original disk dies?  You may not be able to source an identical drive, so I expect there is some amount of flexibility within how much, and the type of data is stored, to allow you to restore to other brands, sizes and types of drive.

The Migration Process for Windows 7 SP1
This process will most likely work for Windows 7 installations without the service pack, but the following guide will be based on SP1 since that's what I used and can confirm it was successful.

What you will need:
  • USB HDD with at least as much storage as the HDD you are migrating (prefereably 2x and not password protected)
  • Screwdrivers (this is obvious but you usually need a very small screwdriver also to attach your HDD to a cradle)
  • Latest chipset drivers (Intel Rapid Storage Technology must be 9.6 or higher)
  • "F6" chipset drivers if your vendor supplies them
  • Blank media (At least 1 CD/DVD/BD for the recovery disk, more if you plan to save your HDD image to disc instead of USB HDD)
1) Connect your USB HDD.  We are going to make an image of your current drive, prior to messing around installing updated drivers.  This is just a precautionary step, but is good practice if you intend to update your HDD controller driver.  You should ensure your HDD is not encrypted, hidden or requires unlocking of any sort.  You won't have access to Windows during the recovery stage, so it will not be possible to run the unlocking software for these types of drive.

2) Grab your blank media and run the program.  Once the image has been made, it will prompt you to burn a recovery disk.  This contains the bootable program that will transfer your disk image stored on the USB HDD to your new internal HDD.  To start the image creation process click Start > Control Panel > Backup and Restore.  In the left hand pane, click Create a system image.  Follow the prompts to create a system image.  How long it will take to make the system image depends entirely on how much is stored on your HDD and how fast your external is, so it may take a while.  Once the image has been stored, you will be prompted to burn a recovery disc, click yes.

3) Now that you have a system image of your current configuration and a restore disc, it's time to ensure your chipset drivers are up to date.  For Intel chipsets, the Rapid Storage Driver must be version 9.6 or higher for 4k sector support.  The Windows driver can be found here and the F6 driver (which you load during the recovery process) can be found here.  Download and install the Windows software.  In my case I had to boot into safe mode (keep pressing F8 as your system boots) to install, as it would fail under normal conditions.  Unzip and place the F6 driver on a USB stick or the HDD that you stored your drive image on.  At this point, it would also be good to download and install any Windows updates.

4) Once your chipset driver is up to date and any OS updates are installed, it's time to make another image.  Before we do this, we need to rename, or move the original image to another location (since the default action is to overwrite the old image).  Open your USB HDD in your file browser and look for a directory called WindowsImageBackup which should be in the root.  Within that directory will be another directory named the same as your computer (in my case it says RX-93).  Rename this directory so that you will be able to tell it's the previous version (eg. RX-93 Old).  Now repeat step 2 to make your new drive image.  This will appear in the same directory as the name of your computer and this will be the image that we restore onto the new HDD - that's why it's important that we mark the first image as old.

5) By now you should have 2 system images on your HDD (the original one before installing updated drivers, and the current one with the new drivers/updates), a recovery disc (CD/DVD/BD) and dependant on your chipset vendor, some F6/installation drivers on the external HDD to be loaded during the restore process.  If you have all that, power off your computer/laptop, remove any batteries if applicable and press and hold the power button for a few seconds to drain any extra power.  Before removing the HDD from it's anti-static packaging or from the laptop, you should ensure you are earthed and/or that any static electricity has gone.  You can do this by touching a radiator for example.  The enthusiastic lady at Western Digital tells us that clothing can also generate static electricity, so install it naked if you wish.

If you haven't replaced a laptop HDD before, check out this video.  The laptop used in the video is the same model HP laptop I have, and I can tell you that the process is very similar.

6) Once you have your new HDD installed, and everything is closed back up and screwed into place, it's time to attach the battery and the AC cord.  Do not try to run the restore process using the battery alone because it will take a long time, and will likely run flat during the process.  Turn on your laptop and insert the recovery disc if it isn't already inside (you may need to power off and power on again if you missed the point where the system reads from the optical drive).

7) Once the recovery program starts to load, attach your USB HDD.  Follow the prompts, but look out for the Load drivers option.  Click this if you have downloaded the F6/install drivers, browse to them and load the applicable chipset driver.  It is likely to give you a list of different drivers, so pick the AHCI driver for your chipset (which you found earlier in the device manager).  Proceed through the prompts, selecting to restore using an image.  The option to format the drive will be greyed out as this is the default action for a blank disk.  Click next and the restore process begins.

8) All being well, your new drive should boot up with all your configuration, programs and files intact.  If you used a different brand or model of HDD, you will be prompted to restart your computer.  This is normal as it detects the HDD as new hardware since it's ID was different to the original.

You may notice that once your computer boots that even if you installed a larger HDD, that the capacity appears to be the same.  The reason for this is that the restore program only formats the same amount of space that was available to the old drive.  However we can extend the partition to use the full capacity, or even format the remainder so it appears like a seperate HDD.  Click Start > Control Panel > Administrative Tools.  Double click Computer Management and then select Disk Management in the left hand pane.  This will bring up a list of drives attached to the computer.  You will notice Disk 0 will have some space unallocated.  Right click on this and choose Extend Partition.  Follow the prompts all the way through (this will extend the C:\ partition to use the whole of the unformatted space).  The process takes a matter of seconds.

Once that's done, enjoy your new HDD.

    For a more information on Advanced Format, check these links:

    1 comment: