Ozzuneoj wrote on 2021-02-08, 17:55:
Thanks, I had always assumed that SPD information should prevent RAM from ever being "too fast" for a system, yet I remember some boards in the early to mid 2000s being picky about memory, seemingly related to speed, but it may have been a rank\bank issue. I hadn't thought about it that way. I don't think it was a density issue, since that bargain basement "AMD only" high density RAM was pretty uncommon outside of DIY builders\upgraders, so I didn't come across it often.
You have SPD backwards. RAM doesn't have its own clock, the system clocks it. See SPD like a speed limit: it's guaranteed to run at whatever speeds SPD sets, faster than that and you might crash (but you can frequently get away with it if you don't go insane).
As for the rest of the stuff you mention, a lot of the terms uses were cheap crutches (and usually wholly inadequate descriptions) of nasty underlying stuff.
Terms like "high density" and "low density" are completely relative and can (and indeed were!) both applied to the same DIMM at different times or even at the same time in different places/contexts. You should always poke through this term and ask: "exactly what density is this DIMM?". Early SDRAM could handle max 16Mb chips, after that 64b and 128Mb became common (i440BX...) and the last SDR-SDRAM chipsets could handle 256Mb chips. Particularly 128Mb were called high-density around 1997/1998 but low-density in 1999/2000, with considerable overlap. Similar considerations apply do DDR(x) densities. Note that some chipsets.memory controllers can exceed their nominal specs. i430TX, i440EX and LX officially do max 64Mb chips, but can in fact use 128Mb chips. Sometimes the "AMD only" DIMMs refer to a higher density than supported by then-current Intel memory controllers, but it could be something else (see a bit below)
Next point is the number of ranks. "Single-sided" implies single rank (64b worth of chip width), regardless of whether the chips are physically on one or two sides, "double-sided" implies dual rank (2x 64b worth of chip width), regardless of whether the chips are physically on one or two sides. Of course, there's a lot of confusion around this one, so don't trust any statement about it. Figure out which chips are used, what their width is, and how many are on the DIMM. Memory controllers can handle a max number of banks (ranks being addressed), and on top of that boards can have lower limits in total. Take i430TX - it can handle max 4 banks, so two double-sided DIMMs or four single-sided DIMMs (if you can find a board with 4 DIMM slots...), but some boards add their own limits. I have one that will take double-sided DIMMs in slots 1 and 2. As soon as you put anything in slot 3 though, both slots 2 and 3 are treated as single bank, regardless of how many ranks the DIMMs have.
Another nasty one: JEDEC specs specify that SDRAM DIMMs should use x8 or x16 chips. For some reason (no doubt cost...) some vendors decided to implent DIMMs with 16 16M/32Mx4 chips (giving 64b total width, and so a good example of DIMMs with chips on both sides that were nonetheless single-sided electrically) around 1999/2000. This was out of JEDEC spec and Intel chipsets refused to even boot with it. Via memory controllers were more tolerant and accepted it, so this was advertised as "Via-only" or "AMD-only" (the latter inspired by the fact that Athlon systems invariably had Via chipsets; AMD's much less common 750 chipset also borked with this stuff).
Then there's BIOS support. This is rarely an issue, but aforementioned i430TX board is an example. It will happily accept a 256MB double-sided DIMM with 128Mb chips, but use two and it still only has 256MB usable. Given that that's the max limit of the i430TX according to specs, no big surprise - but I've had other i430TX boards with 512MB and another Vogon recently pushed his to 384MB. The difference must be in BIOS.
Finally there's plain low-level electrical compatibility. This wasn't a major issue in the early SDR-SDRAM days, but later on it became a bigger issue. This was mainly a matter of motherboard design (trace lengths, inductance - that sort of stuff), and some vendors were better than others. An infamous example was Asus' A7N8X-E, which would refuse to run or be utterly unstable with just about any DIMM not explixitly listed on its QVL. Other nForce2 boards were far less choosy, so this really was Asus' fault. In case of doubt, stick to QVLs in genral, but that can be next to impossible with older systems and limited choice in DIMMs. Still, if your DIMM's not on the QVL, this is always a possibility to bear in mind if experiencing memory-related issues with otherwise known-good DIMMs and boards.
I also thought I remember early PC66\PC100 era systems not cooperating with later memory... is this likely the same issue? Rank\Bank\Density issues rather than speed issues?
Nothing to do with speed. The first generation SDRAM chipsets (Intel i430VX and Via VPX) could only handle 16Mb chips (or fairly unusual 64Mb ones). Most PC66 were of this type, most PC100 (and all PC133) were 128Mb or higher.
While we're on this subject... does anyone know why systems (seems to be generally pre-DDR) will at times see an incorrect amount of memory? For example, a known 128MB stick reading as 32 or 64MB when combined with other sticks. Is this a rank\bank issue again? It always seemed to be connected to using PC133 in a PC100 system, but that never really made sense to me. Differences in rank\bank seems more likely... but why does it happen?
That's either density or the ranks/banks thing. Test with a single DIMM. If that's shown as 1/2 or 1/4 of nominal capacity, it's a density issue. If multiple DIMMs that each report full capacity don't add up to their total capacity together, that's because you're feeding the board more ranks than it can handle. You can even get both combined.