Intel Smart Response Technology and not so smart UI technology

Due to some recent BSODs on my system where I couldn’t find out the source of the problems I’ve opted for a simple solution of replacing CPU, motherboard and RAM. I am not a huge believer in SSDs due to their problems (pricey, not exactly super reliable) but still, I decided to go with a SSD used for caching purposes – small and relatively inexpensive SSD required.

Currently I am running a pair of WD Velociraptor disks in a RAID array and a pair of Seagate’s 1.5TB disks in the second RAID array both controlled by Intel Rapid Storage Technology (IRST). On each of the RAID arrays I have two volumes – one in RAID 0 and the other in RAID 1 configuration (I use the zeros for speed and non critical data – mixing RAID modes on the same array is courtesy of IRST driver). SSD caching would improve the read time while I would keep the RAID benefits. The only downside to this approach is SSD wear time, but time will tell.

There are basically two SSD caching options I am aware of – either a SSD with bundled Dataplex caching software or motherboard that supports Intel Smart Response Technology (ISRT). Mind though they are both purely software solutions. Well, Intel is Intel and ISRT supports RAID arrays (probably just the ones based on their Rapid Storage Technology which I am using). One of the few motherboards supporting ISRT is Gigabyte Z68XP-UD3 (there is even Z68XP-UD3-iSSD version with Intel 311 20GB SSD (<- Intel’s recommended SSD for caching) on the mainboard). However the later is hard to find in my country so I went with the former. ISRT is limited to max 64GB SSD size and thus I bought an OCZ Vertex 3 60GB SSD.

With all pieces at my disposal I built new hardware configuration, properly attached SSD to a shiny SATA III port, installed the EZ Smart Response drivers that come with motherboard (ISRT drivers are not downloadable from Intel’s Download Center for some reason) and restarted the computer. Once rebooted I went into Rapid Storage Technology control center (where ISRT UI feature is supposed to live) and nothing. No such option, nada.

image

There was no sign of Acceleration options. Nothing. Huh? EZ Smart Response drivers installed a shortcut in Start/Programs menu. Tried clicking that and received a very useless dialog box stating:

---------------------------
Warning
---------------------------
This hard drive can't be supported.
---------------------------
OK  
---------------------------

Whoa, what hard drive and why?

Updating motherboard BIOS to the latest F10 version didn’t produce results. At this point I turned to my best friend Google search but found no solutions nor explanations, just a bunch of people with similar problem. Since my friend failed (which is a rare occasion) I even read the instructions that came with motherboard – ISRT has its own booklet. Nothing. I suspected a problem with caching RAID arrays. Thus I quickly thrown in a blank disk as a standalone one thinking that it should le me cache at least this standalone one, restarted and … still nothing.

While poking in BIOS RAID settings I received warning “max number of  arrays created” or something like that. Hm, can it be that caching requires a volume on its own? Next step, since the second RAID array isn’t critical to the boot process I simply detached both Seagate’s and restarted. Booting the system with a single RAID array and a standalone disk finally produced some results. This time the acceleration option magically appeared for the standalone disk but not for the RAID array. But hey, that’s some progress and I was happy to see acceleration option. It is supposed to cache RAID arrays as well, why doesn’t it?

There was one option remaining. I had a suspicion that what was causing the missing caching option was the fact that I had two volumes (RAID 0, RAID 1) on the same array. Next step was elimination of the RAID 0 volume and leaving a single RAID 1 volume on the array (I resized the partitions extremely easily using Acronis Disk Director Suite). Rebooting, crossing fingers, and … a disappointment. Still couldn’t enable caching of the RAID array. However something else was going on at this point. Once during my many reboots I had to force the reboot using the hardware button. As a consequence IRST went into RAID array verification mode – a normal procedure, which takes some time. I just left it do its job and once RAID array was verified – success! The caching option just appeared for the RAID volume out of blue sky. Few more clicks and my boot RAID volume was SSD cached.

Once cache is enabled the system becomes much faster of course, well, the loading from disk is faster. It might be significant or not, depends on your typical work scenario. I don’t often start new programs thus the benefits aren’t stellar in my case but speeding things up doesn’t hurt, eh.

The bottom line

  1. Intel Smart Response Technology user interface is bad beyond explanation (the same goes to IRST). Instead of telling me why it can’t enable caching on a volume the options are just missing. And if it starts doing this right after installation one is left to wonder what’s wrong, where is the problem and whether the thing even works. Much much better approach would be to have acceleration option always present with a clear explanation in the case of the problem.
  2. Intel Smart Response Technology documentation is poor as well.
  3. If it doesn’t work is either because you reached the maximum RAID volume number (4 in my case), because IRST is doing RAID array verification or because there is more than one volume on the array.
  4. Once it works it speeds things considerably up. I am using read-only cache mode at this point (there is maximized mode that features caching writes as well)
  5. It produces near-pure-SSD experience for considerably less price.
  6. The caching algorithm is a black box and cache utilization and other metrics aren’t exposed thus I have no idea what it does and how it does.
  7. SSD might wear off sooner, no idea on this, time will tell.

Hope this will help others venturing into Intel Smart Response Technology. You know, the brave fools Smile

Fuslogvw.exe aka Fusion Log Viewer aka Assembly Binding Log Viewer troubleshooting

What do you do when you have problems with assembly binding? Exceptions don’t tell very much (failed to load for some reason is all you get). You call Fuslogvw.exe to the rescue of course.

But what do you do when Fuslogvw.exe doesn’t work? You delete IE’s temporary internet files. Of course.

You might wonder what do IE’s temporary internet files have to do with fuslogvw? Here is straight from the documentation:

The Fuslogvw.exe (Assembly Binding Log Viewer) uses the Internet Explorer (IE) cache to store its binding log.

And here is the kicker

Due to occasional corruption in the IE cache, the Fuslogvw.exe (Assembly Binding Log Viewer)can sometimes stop showing new binding logs in the viewing window. As a result of this corruption, the .NET binding infrastructure (fusion) cannot write to or read from the binding log. (This issue is not encountered if you use a custom log path.) To fix the corruption and allow fusion to show binding logs again, clear the IE cache by deleting temporary internet files from within the IE Internet Options dialog.

I won’t even start how stupid the decision to use anything from IE for such a core functionality is. Besides fuslogvw will silently do nothing in case of temporary internet files corruption – instead of notifying user of a problem. Excellent and very friendly behaviour.

Anyway, clear temporary files and run fuslogvw under Administration privileges and it should work. If it still doesn’t then block a few people on Twitter, check privacy settings on Facebook and uninstall Chrome. It can’t fail!