Benchmarking SSD Performance

I've recently been using a few SSDs - so I thought I'd put together some resources that I found useful.

I'll try to keep updating this post with more information as I go.

 Drive information:

  • G.Skill Falcon II 64GB - FM-25S2I-64GBF2
  • <coming soon>

SSD Decoder Ring - an SSD comparison guide

A nice table to compare SSDs - Updated January 2010 by Allyn Malventano - amalventano@pcper.com

Local cache: http://justinho.com/files/uploads/SSD%20Decoder%20Ring.v2.3.pdf

Link: http://pcper.com/ssd
Alternate: http://pcper.com/article.php?aid=736

Adding TRIM Support to Kingston SSDNow V 40GB

Affects:
Part SNV125-S2/40GB and SNV125-S2BD/40GB

The Kingston SSDNow V Series SNV125-S2/40GB 2.5" 40GB SATA II MLC Internal Solid State Drive (SSD) is based on the Intel G2 controller.  The older firmware on it does not support TRIM by default; Kingston has since discontinued support for this drive and have therefore not supplied a firmware update to enable TRIM support.

The firmware of this SSD can be upgraded to support TRIM using the Intel tools.

Summary:
1. Flash the drive in IDE (non-AHCI) mode using this modified Intel ISO:
http://justinho.com/files/uploads/ISSDFUT%20UPDATER.rar

2. Restore firmware to defaults.  Boot into HDAT2, go into Device Main Menu, then Device Configuration Overlay (DC0) Menu.  Then select Restore.
HDAT 4.71 ISO with all apps: http://justinho.com/files/uploads/hdat2iso_4_71.rar
HDAT 4.71 ISO with AHCI support only: http://justinho.com/files/uploads/hdat2iso_4_71_ahci.rar

3. Ensure TRIM support is enabled using CrystalDiskInfo (available at http://crystalmark.info/software/CrystalDiskInfo/index-e.html ).

4. Verify Windows 7 TRIM support is active via an elevated command prompt:
fsutil behavior query disabledeletenotify

DisableDeleteNotify = 0 means TRIM is Enabled.

5. Install the Intel SSD Utility Toolbox: http://www.overclock.net/ssd/660723-using-your-kingston-40gb-ssd-intel.html

Full instructions (with additional mirrors of files):
http://www.overclock.net/ssd/656984-how-get-your-kingston-40gb-ssd.html

ASUS RT-N16 router

I recently picked up an ASUS RT-N16 router.  It has a 4 port gigabit switch, 2 USB 2.0 ports and an 802.11n 2.4GHz (only!) radio.  While the radio is not ideal (there is no 5GHz), I think this a nice upgrade to the Linksys WRT54GS v2 I've been using for the past 5-6 years.

This router runs a tomato mod, of course.  So far, things are working great.  I'll update this post if I discover any problems.  Sadly, this tomato mod doesn't contain the MLPPP modification to bypass Bell's DSL throttling in Canada.

Wireless performance

Local WLAN (ThinkPad x61 tablet with Intel 4965 abgn card) to LAN connected machine is roughly 7-9.5MB/s, up from 2.5 MB/s.  Not earth shattering, but a very nice improvement.  There's quite a bit of interference around, and since this is a 2.4GHz only radio, this is to be expected.  If only ASUS had shipped this thing with a 5GHz radio... and I had a new Intel n card =).

Notes on router hardware choices

Ideally, I'd like to find something with USB, gigabit switch, dual radios in 2.4GHz and 5GHz, while running tomato.  As I write this, I don't think there's a tomato firmware that has dual band support - yet.

I would really only consider something that runs tomato.  I've had stability problems with dd-wrt.  The Linksys WRT320N is a 2.4GHz or 5GHz (single radio, operates in either mode but not simultaneously) router, and the Linksys WRT610N has a gigabit switch as well as dual radios operating in 2.4GHz and 5GHz.  Sadly, people only seem to be running dd-wrt on these, which is a deal breaker for me.

So for now, the massive amount of RAM (128MB) and fast CPU in this ASUS router make it my replacement of my Linksys WRT54GSv2/WRT54GL.  All things considered, it's a nice upgrade as not all my machines have radios that support 3 wireless-n streams yet (like the Intel 5300).

Hardware specifications (from http://www.dd-wrt.com/wiki/index.php/Asus_RT-N16)

Stock Power Supply = 12V - 1,25A max
Ethernet Ports = WAN x 1 RJ-45 for 10/100/1000 Base T, LAN x 4 RJ-45 for 10/100/1000 Base T
Antennas = 3 x external detachable antennas
USB ports = USB2.0 x 2
WiFi Operating Frequency = 2.4GHz ~ 2.5GHz
802.11n Draft = up to 300Mbps
802.11g = 6, 9, 12, 18, 24, 36, 48, 54Mbps
802.11b = 1, 2, 5.5, 11Mbps
Unit RAM = 128 MB (2x 64Mb - Samsung K4N511163QZ-HC25)
Unit Flash = 32 Mb (MACRONIX MX29GL256EHTI2I-90Q)
Unit CPU = Broadcom4718A, 533 MHz (Factory clocked to 480MHz)
Unit Switch Chip = Broadcom BCM53115SKFBG
Color of LEDs = Blue

Firmware

I logged into the ASUS firmware, fed it the dd-wrt file below, then once that was done, upgraded to tomato.

You are able to rollback to dd-wrt, then flash the original ASUS firmware back - so there really isn't any danger here.  Give it a try and see if you like it.  For myself, USB support is nice, but stability is king.  Tomato is working well for me.

Custom settings

I made the following settings changes:

  • In Basic Wireless
    • select Wireless Mode = Auto (default setting)
    • select Channel Width = 40 MHz
    • select Security = WPA2 Personal
    • select Security = AES
  • In Advanced Wireless
    • select Transmission Rate = Auto (default setting)
    • select Country/Region = Japan (default setting to get 14 channels)
    • select WMM = Enable (not a default setting)
    • select 802.11n Preamble = Mixed Mode (default setting)
    • select transmit power = 39 mW (not a default setting, this is the same as 16dB)

 

Hyper-V Performance

I was taking a look around for some Hyper-V performance guidelines when virtualizing production workloads such as Exchange 2007/2010 on Windows Server 2008/2008 R2.

Checklist: Optimizing Performance on Hyper-V
http://msdn.microsoft.com/en-us/library/dd722835(BTS.10).aspx

Looking for that last ounce of Hyper-V performance? Then try affinitizing your VM to a NUMA node
http://blogs.msdn.com/tvoellm/archive/2008/09/28/Looking-for-that-last-once-of-performance_3F00_-Then-try-affinitizing-your-VM-to-a-NUMA-node-.aspx

Hyper-V Performance Counters - Part five of many - "Hyper-VM VM Vid Numa Node"
http://blogs.msdn.com/tvoellm/archive/2008/09/29/hyper-v-performance-counters-part-five-of-many-hyper-vm-vm-vid-numa-node.aspx

Performance and capacity requirements for Hyper-V
http://technet.microsoft.com/en-us/library/dd277865.aspx

Microsoft Support Policies and Recommendations for Exchange Servers in Hardware Virtualization Environments
http://technet.microsoft.com/en-us/library/cc794548.aspx

Exchange Server 2007 and Hyper-V
http://blogs.technet.com/scottschnoll/archive/2008/06/15/exchange-server-2007-and-hyper-v.aspx

Should You Virtualize Your Exchange 2007 SP1 Environment?
http://hypervoria.com/hyper-v/should-you-virtualize-your-exchange-2007-sp1-environment.aspx

Hyper-V How To
http://blogs.virtualizationadmin.com/davis/tag/hyper-v-how-to/

 

win7utils - Windows 7 ISO Disc Image Utilities

http://code.kliu.org/misc/win7utils/

Local cache:
http://justinho.com/files/uploads/eicfg_removal_utility.zip
http://justinho.com/files/uploads/windows7_iso_image_edition_switcher.zip

ei.cfg Removal Utility
Version 1.1
The ei.cfg Removal Utility is a simple tool that will remove the ei.cfg from any Windows 7 ISO disc image, thereby converting the image into a "universal disc" that will prompt the user to select an edition during setup. This tool works by toggling the deletion bit in the UDF file table, eliminating the need for unpacking and rebuilding the ISO, which means that this is extremely fast (the process of patching the ISO to remove ei.cfg takes only a fraction of a second), and the process is easily reversible (running the utility on a disc image patched by this utility will restore the disc image to its original state).

Windows 7 ISO Image Edition Switcher
Version 1.0
The Windows 7 ISO Image Edition Switcher is a set of small binary patches (and a tool to apply these patches) that will convert an official Windows 7 ISO disc image into an official Windows 7 ISO disc image of another edition. The resulting ISO images are bit-for-bit identical with those posted on MSDN or TechNet, and their SHA-1 hashes should match the official hashes posted by Microsoft.

The patches and patcher in this package can be used to convert any 32-bit image
into another 32-bit image and any 64-bit image into another 64-bit image.

For example, if you downloaded the 32-bit Ultimate ISO disc image from MSDN and
you also want a 32-bit Professional image, instead of spending another 2.3 GB of
bandwidth, you can make a copy of your Ultimate image and then patch that into a
Professional ISO disc image; the result should be exactly identical to what you
would have gotten had you downloaded the ISO image separately.

1) Run binpatch.exe
2) Select the the patch for the target edition that you want
3) Select the ISO disc image that you want to convert from
4) After patching, you should verify the SHA-1 hash of the final file and
   compare that with Microsoft's official hash to verify that the patch was
   successfully completed.

Fixing old DirectX 2D Games in Windows 7 like StarCraft

Problem:
StarCraft on Windows 7 causes a complete lockup of the keyboard, mouse and video, usually around 20 minutes into the game.  Background programs (such as Skype and MSN) still work, but a hard reset is required to recover.

Workaround:
Start StarCraft with a batch file that kills Explorer before launching the game.  The contents below are for an x64 installation of Windows 7.

rem First kill Explorer.exe, which messes up our colors in StarCraft
taskkill /f /IM explorer.exe

rem Change to the StarCraft directory to make sure we run normally!
cd "C:\Program Files (x86)\Starcraft"

rem Please note that /affinity 1 makes sure we only use our first core
rem Using all cores for StarCraft.exe can lead to crashes in Windows 7
cmd.exe /C start /affinity 1 "C:\Program Files (x86)\Starcraft\StarCraft.exe"

rem Wait for the game to quit, press Enter to continue
pause

rem Restart Explorer.exe and WallRotate, that's it!
start explorer.exe
exit

 

Details/Source:
http://www.evga.com/forums/tm.asp?m=100847055&mpage=1&key=&#100928703
http://www.evga.com/forums/tm.asp?m=100797014&mpage=1&key=?
http://benjaminnitschke.com/2009/06/25/FixingOldDirectX2DGamesInWindows7LikeStarCraft.aspx

Converting Retail Editions to Volume Activation

Retail editions of Windows 7 Professional and Windows Server 2008 R2 can be converted to KMS clients, provided that the organization has acquired the appropriate volume licenses and conforms to the Product Use Rights. To convert Windows 7 Professional and all editions of Windows Server 2008 R2 from retail to a KMS client, skip the Product Key page during operating system installation.

(from elevated command prompt) slmgr -ipk <key>

Windows 7 Professional    FJ82H-XT6CR-J8D7P-XQJJ2-GPDD4
Windows 7 Professional N    MRPKT-YTG23-K7D7T-X2JMM-QY7MG
Windows 7 Enterprise    33PXH-7Y6KF-2VJC9-XBBR8-HVTHH
Windows 7 Enterprise N   YDRBP-3D83W-TY26F-D46B2-XCKRJ 
Windows 7 Enterprise E   C29WB-22CC8-VJ326-GHFJW-H9DH4 
Windows Server 2008 R2 HPC Edition   FKJQ8-TMCVP-FRMR7-4WR42-3JCD7 
Windows Server 2008 R2 Datacenter     74YFP-3QFB3-KQT8W-PMXWJ-7M648 
Windows Server 2008 R2 Enterprise  489J6-VHDMP-X63PK-3K798-CPX3Y 
Windows Server 2008 R2 for Itanium-Based Systems    GT63C-RJFQ3-4GMB6-BRFB9-CB83V 
Windows Server 2008 R2 Standard  YC6KT-GKW9T-YTKYR-T4X34-R7VHC 
Windows Web Server 2008 R2    6TPJF-RBVHG-WBW2R-86QPH-6RTM4

Windows Vista Business   YFKBB-PQJJV-G996G-VWGXY-2V3X8
Windows Vista Business N    HMBQG-8H2RH-C77VX-27R82-VMQBT 
Windows Vista Enterprise    VKK3X-68KWM-X2YGT-QR4M6-4BWMV 
Windows Vista Enterprise N    VTC42-BM838-43QHV-84HX6-XJXKV
Windows Server 2008  Datacenter    7M67G-PC374-GR742-YH8V4-TCBY3 
Windows Server 2008 Datacenter without Hyper-V    22XQ2-VRXRG-P8D42-K34TD-G3QQC 
Windows Server 2008 for Itanium-Based Systems     4DWFP-JF3DJ-B7DTH-78FJB-PDRHK 
Windows Server 2008 Enterprise    YQGMW-MPWTJ-34KDK-48M3W-X4Q6V 
Windows Server 2008 Enterprise without Hyper-V    39BXF-X8Q23-P2WWT-38T2F-G3FPG 
Windows Server 2008 Standard  TM24T-X9RMF-VWXK6-X8JC9-BFGM2 
Windows Server 2008 Standard without Hyper-V    W7VD6-7JFBR-RX26B-YKQ3Y-6FFFJ 
Windows Web Server 2008    WYR28-R7TFJ-3X2YQ-YCY4H-M249D

Details: http://technet.microsoft.com/en-us/library/dd772269.aspx
Deployment guide: http://technet.microsoft.com/en-us/library/cc303280.aspx (Vista/2008), http://technet.microsoft.com/en-us/library/dd772269.aspx (Windows 7/2008 R2)

Remote Server Administration Tools for Windows 7

Remote Server Administration Tools for Windows® 7 enables IT administrators to manage roles and features that are installed on computers that are running Windows Server® 2008 R2, Windows Server® 2008, or Windows Server® 2003, from a remote computer that is running Windows 7.

http://www.microsoft.com/downloads/details.aspx?familyid=7D2F6AD7-656B-4313-A005-4E344E43997D&displaylang=en

Updating WDS WinPE image for Windows 7 Deployment

Summary:

I've updated my WDS install point with the Windows 7 RTM WinPE image and injected drivers for my machines.

Details:

I keep a directory of extracted WDS x86 drivers for all machines I have to support.  I'll keep adding drivers to this driver folder, then injecting them into a clean boot.wim file each time.  This allows me to rollback a failed injection.

  1. I downloaded the WAIK for Windows 7 RTM
    The Windows® Automated Installation Kit (AIK) for Windows® 7
    File Name: KB3AIK_EN.iso
    Version: 1.0
    Date Published: 8/6/2009
    http://www.microsoft.com/downloads/details.aspx?familyid=696DD665-9F76-4177-A811-39C26D3B3B34&displaylang=en
  2. Next, I copied the latest boot.wim from a Windows 7 RTM image, copied it into f:\temp
  3. From an elevated command prompt with the WAIK in the PATH, I run:
    dism /mount-wim /wimfile:boot.wim /index:2 /mountdir:f:\temp\mount
    Note: index 2 is the Setup, index 1 is WinPE.
  4. Then
    dism /image:f:\temp\mount /add-driver /driver:F:\Driversx86R4 /recurse
  5. And finally:
    dism /unmount-wim /mountdir:f:\temp\mount /commit

The resultant WIM can then be added to WDS for deployment.