When is PC100 Memory *not* PC100?

PC100 SDRAM has now become the memory of choice because of the perceived performance benefits. Unfortunately, there is a lot of hype surrounding this issue so that while there are some actual benefits (and actual need, in some cases), a lot of problems are being encountered by those who are buying ‘generic’ PC100 modules. This results in higher RMA rates for motherboard, CPUs and memory as users try to figure out why their system won’t run stably at 100MHz.

The first thing to realize is that to conform to the PC100 spec, not only must the chips be fast enough, but the PCB must allow the data to be delivered cleanly and quickly to the memory bus. This means a 6-layer PCB and shorter trace lines, among other things, because the faster the speed of the signal, the worse ‘ground bounce’ or ringing occurs. If too much signal noise gets into the circuit, the system starts showing signs of instability, such as random crashes. One way to determine if this is happening is to observe whether the problem gets worse as the bus speed increases.

The best way to ensure that you are getting ‘true’ PC100 modules is to buy brand-name modules. While it may seem to be cheaper to buy the lower cost generic modules, the RMA issues will soon drive your costs up. Any reputable manufacture will put their name or logo on either the PCB or on a sticker attached to the module. You can be sure that anyone who puts their name on a product wants to be sure it will work, since they are now accountable for it. Generic modules, on the other hand, are untraceable, so there is no real incentive for the manufacture to have high QA standards.

Another issue which seems to be getting hyped quite a bit is the CAS Latency timings. Most are calling this CAS2 or CAS3, though technically it should be called CL2 and CL3. While this is one measure of speed, it does not have much impact on actual performance. The latency period is only experienced for the first data output of a burst, which may be 8 cycles or longer. This means that on average, the CAS latency is ‘experienced’ with 1/3 of actual memory tranfers. When you consider that 70% or 80% of all requests from the CPU are satisfied from cache, the CAS Latency suddenly becomes a relatively minor issue in performance.

The one area that CAS Latency really has an impact on, however, is the maximum bus speed the memory can operate on. Due to the nature of how DRAM works, the faster the bus speed, the higher the CAS latency must go. Since the JEDEC spec only calls for CAS Latencies of 1, 2 or 3, it is obviously best to have the lowest CAS Latency numbers as possible so that you can move to the next higher bus speed without running out of room. This means that if an SDRAM module requires a CAS Latency of 3 at 100MHz, it is unlikely to be able to run at 133MHz because there is no room to increase the CL number. If the CL=2 at 100MHz, there is a chance that it can be run at CL=3 on a 133MHz bus (though that is not a guarantee!).

Other timings that are used are tRP and tRCD, which indicate how fast the internal operations of bank and column switching occur. This directly affects how well the module will operate in burst mode, and has a bigger impact on performance than the CAS Latency. Currently, the fastest chips are CL=2, tRCD=20ns and tRP=20ns. This would equate to timings of 2-2-2. As far as I am aware, only Samsung and Micron have parts that operate at this speed but the Micron parts are still somewhat scarce.

The final issue to understand has to do with tAC (access time), tCLK (clock speed), and burst cycle time. In order for a chip to be considered fast enough for PC100 operation, it must have a tAC of 6ns or faster, must have a burst cycle time of 8ns or faster, and must operate on a bus speed of 10ns or faster. Currently, the fastest burst cycle times are 8ns, with some 7ns parts being a possibility in the near future. Most chips with an 8ns cycle time are marked as -8, G8, -8x, or something of that nature. Some manfuacturers, however, are putting their tAC timings on the chip instead, such as -6 or -7J.

Because of these markings, many vendors are being fooled into thinking that they are buying parts with 7ns or 6ns burst cycle times, when in fact, these numbers indicate the access time (tAC). In many cases, these chips (and modules) are slower than those marked as 8ns. There are also thos who believe that 10ns chips conform to the PC100 spec, however, if you look at Intel’s SDRAM spec, the PC100 chart shows a tCLK of 10ns but this means that the *module* must be able to deliver the data on a 100MHz bus (seems pretty intuitive, doesn’t it?). It does *not* mean that the chip can have a burst cycle time of 10ns, because there is some inherent delays when a chip is put onto a module (and must be programmed, via the SPD chip).

If you are concerned about RMAs, and proper operation at 100MHz, you should only purchase PC100 modules from sources that carry name-brand modules (Corsair, AMC, Micron, Samsung, Hitachi, Viking, Century, etc.). You should also be able to choose which timings you want (CAS Latency, tRP and tRCD) so you can satisfy your customer’s requirements.