It all started when I found myself running into memory limitations with Cubase SX v2.0. I suppose I can't complain too much, for it was letting me maintain roughly half a symphony orchestra's worth of samples in memory at one time. But when you're trying to write for a full orchestra leaving out the woodwinds and most of the percussion simply isn't an option. Sure, I could do the minimalist, Philip-Glass thing instead, but all those silly arpeggios just give me a headache.
So, I looked at my options and decided to upgrade the system from 1 GB to 2 GB of physical RAM, which I hoped wouldn't be a problem in light of the fact that the system's motherboard, a Gigabyte GA-7N400 Pro, supports up to 3 GB total. As usual, though, I forgot one of Phil's Laws: any non-trivial computer upgrade will take a minimum of four trips to Fry's Electronics. Read on for all the disgusting details. Maybe it will save you some trouble in the future.
Off I went to Fry's early in the morning. I took a minute to write down what I needed, but I didn't do much else to prepare because I didn't think adding another gigabyte of RAM would be a big deal. I arrived at Fry's in pretty good time, found someone in the appropriate aisle to help me, explained to him what I wanted, compared some prices, made a selection, bought a matched set of memory sticks, and headed home. Everything was going way too smoothly.
The first unpleasant thing I discovered was that the sales guy either misunderstood me or screwed up. I told him I wanted two 512 MB sticks of PC3200 DDR RAM for dual-channel use. What he sold me were two 256 MB sticks for a total of 512 MB. Oops. To his credit the packaging was very misleading; both of the sticks had "512 MB" stamped on them. One had to look pretty closely to see the fine print that said "(2 x 256 MB)". I sighed with resignation at making yet another trip to Fry's and decided to test things out at home since I had already opened the package.
My motherboard has a total of four memory slots, which can be used as dual-channel RAM if you populate them properly. I already had two 512 MB PC3200 DDR sticks working as dual-channel RAM, so I plugged the two new sticks into the remaining two slots. I was surprised, upon turning on my machine, when the power-on self test (POST) reported a mere 768 MB of total RAM. In a brief moment of panic I powered down the system, pulled out the new modules, restarted it, and was happy to feel my heart begin beating again when it reported the full 1 GB it had always found before.
I tried all of the possible combinations, and the behavior I was seeing was perfectly repeatable. Each of the two new sticks were good, and adding only one of them at a time would give me 1.25 GB of RAM in the system. But as soon as I added both of the new modules the machine would report a mere 768 MB of physical RAM. That was just too weird for a Tuesday morning, so I gave up.
Oh sure, I could have fought the problem more thoroughly at that point, but I decided simply to head back to Fry's and trade up for the modules I really wanted. I have so much trouble with technology that I figured I'd just have to fight a different set of problems with the proper modules anyway. Why track/fix problems with something you're not going to keep? I just don't have that kind of spare time or energy.
So back to Fry's I went, found someone else to help me, explained the mistake, compared more prices, made another selection, bought two more sticks, checked the memory thoroughly before leaving the store—yes, I was getting smarter—and headed home. The second trip took a bit longer, because both traffic and business had picked up, but things were still going pretty smoothly.
I got home, plugged both of the new 512 MB PC3200 DDR RAM modules into my two open slots, and... the computer wouldn't even POST. Yes, tech fans, you read that right: it wouldn't even POST. It wouldn't give me any kind of yucky beeping either. The power light would come on, and I could hear drives spinning up, but that was all it would do. It didn't flash the keyboard lights, it didn't beep, etc. It did nothing. Do not pass go; do not collect $200. Great. Just great. Par for the course if one happens to be living my life.
So I set about the usual testing. First, the sanity check: pulling the two new modules returned my computer to its regular working state. Adding the modules one at a time worked just fine, the machine reporting a total of 1.5 GB of physical RAM with every experiment. Heck, I could even remove the two old modules and use the two new ones in their stead. But as soon as I would plug all four modules into the machine it wouldn't even POST. I called a techie friend, but he had no illuminating insights to share beyond what I had already considered.
And then, while digging through the documentation for my motherboard, I found it: apparently the NVIDIA nForce2 chipset has an obscure and very nasty little limitation: when using a full four memory sticks one must put single-sided memory in the third and fourth slots. To complicate matters completely, one can use any combination of single- or double-sided memory when using a total of three sticks in the first three slots, but when using all four slots the final two must be single-sided. Ah yes. How obvious. How could I possibly have missed that? (sigh)
I'm sure there's some kind of rational explanation for this limitation, and I'm sure it makes sense to somebody out there, but I find it incredibly annoying. I've been building and upgrading PCs for years, folks, and this is the first time I've ever heard of such a thing. Oh don't get me wrong, I've noticed that some sticks of RAM are single-sided while others are double-sided, but it absolutely sucks that users still have to worry about such crap. What a ridiculous pain in the neck. I guess I should be thankful that my manual at least contained the relevant information; that's not always the case.
So what did I do next? Yes, dear reader, you guessed it: it was time for the day's third trip to Fry's. I headed back to the store with a simple plan: I would try to buy two, single-sided 512 MB PC3200 DDR RAM sticks. If I couldn't do that, for whatever reason, I would try buy a single 1 GB PC3200 DDR stick instead and plug it into the first open slot on my board. True, it wouldn't be operating in dual-channel mode, but I could easily stand to lose whatever minimal performance increase (if any) that was bringing me. And if I couldn't do that, for whatever reason, then I decided to buy two 1 GB PC3200 DDR sticks and sell my old 512 MB sticks on EBay.
Plan A got shot down pretty quickly because nobody makes single-sided sticks with capacities larger than 256 MB. Oh well. Plan B also got shot down pretty quickly because Fry's didn't have any lone 1 GB sticks for sale; all of their 1 GB sticks came in pairs as matched sets for dual-channel operation. So I executed plan C as quickly as I could, settling on two sticks from Mushkin. I wasn't happy about the bump in price, but what else could I do? I suppose I could have fought for a full refund, rather than just store credit, but Fry's bails me out so often I prefer to give them my business. I ate the price increase and thanked my lucky stars that my latest nightmare would soon be over.
Unfortunately, it didn't end when I got home with the new modules. I plugged them in, started up the machine, and was treated to a series of different problems. Sometimes it wouldn't POST, but sometimes it would. Sometimes it would make it past the memory test, but other times it would hang completely at some arbitrary point. I even made it to my operating system startup menu a few times, but I couldn't get either Windows 98 or Windows XP Professional to load. They would always hang and/or crash at some point during startup.
This time my careful testing soon showed me something definitive: I had been given a bad stick of RAM. One of the two new sticks would work in any of my slots in any configuration. The other stick wouldn't work in any of the slots in any configuration. Given that it was by now getting close to the end of the working day, and given that I didn't want to fight the rush hour traffic, I called it quits for the time being. I set the new memory aside and planned on going back to Fry's yet again the next day.
The one good thing I can say about my fourth and final trip to Fry's for this particular tale of technological terror is that they were relatively quick in refunding my money. I arrived there early the next day, explained my situation to the customer service representative, and was disappointed to discover that they had no more available stock. I was told that the store in Anaheim had one unit left if I could drive over there quickly enough but that none of the other local stores had any more 1 GB sticks.
From there I visited other merchants. PC Club doesn't carry them at all; they're a special order. Best Buy doesn't carry them either, despite their web site's claim to the contrary that I should be able to walk into most stores and buy 1 GB sticks of memory. I couldn't find a single local vendor who carried 1 GB sticks or had them in stock. So, four trips to Fry's and two days later I was right back where I started, save of course for the mountain of return receipts and other paperwork I had accumulated along the way.
So what lessons do I take from this nasty business? How's this for starters: there is no such thing as a simple memory upgrade! It should be a no-brainer to grab a couple of sticks and jam them into your machine but it isn't. You have to worry about their speed rating, whether they're buffered, error correction, single-sided vs. double-sided, and pretty much every other niggling detail of their operation. If you don't worry about such things then you can pretty much count on going through hell.
Honestly, folks, it's 2004: who knew crap like memory sided-ness mattered?! Why don't vendors add a host of other such attributes (e.g., left vs. right handed, male vs. female, etc.) to memory to make our lives even more complicated? Sheesh. Memory sure does have a dark side, and in the future I'm going to be sure to search my motherboard manual thoroughly before I even think about going to the store. I may also have my head examined if I can't stop thinking (stupidly) that I can simply buy a product and use it.
Another lesson I picked up along the way is that Microsoft's programming department must still be populated by monkeys. I say this because one of my discoveries was that the code that manages performance counter libraries under Windows XP is about as brain dead as code gets. I discovered this when my performance monitoring software, Samurize, stopped displaying CPU usage. Imagine my surprise when further investigation showed that the entire processor object was missing from the available performance counters! This problem has a fairly straightforward solution, but it's ridiculous that Windows XP is such a fragile mess in that respect.
The final lesson I take from it is that one cannot avoid Phil's law. I can always hope I'll buy something that will simply work as it should, but I would have to be nuts to believe that such a thing could actually happen. Nope, any non-trivial computer upgrade is going to take a minimum of four trips to Fry's, and there is no guarantee that those trips will result in success. This might not apply to all my readers, of course, because not all of them have my kind of luck; i.e., lots of it, all bad. But in the future I'll simply plan to waste a day or two on even the smallest things. Who knows, maybe it will help me retain what's left of my shredded sanity, but I doubt it.
06/02/2004