I have several SRAM PC133 sticks: some are single-sided, some are double-sided, but each stick is 256 MByte.
Those single sided are correctly detected as 256MByte ram
Those double sided are detected as 128MByte ram
I fail to understand: why?!? Any idea?
If it's a firmware problem (u-boot), I can try to fix it
Page 19 to 30
Note how the chip selects /S0 to /S3 are used. The double sided module probably requires /S1 and /S3 (in addition to /S0 and /S2).
Exactly, each side counts as a "rank" and the memory controller may only support 2 instead of 4 ranks, or 4 instead of 8 ranks.
Your post reminded me of how many times I assembled computers in the 1990s that had this and many other pitfalls - the motherboard/northbridge could be very particular in the types and models of components being used. It is amazing how so much of this knowledge quickly fades away...
It is amazing how so much of this knowledge quickly fades away...
Yesterday I contacted a RAM supplier who has a shop on eBay to find out if they can supply PC133 ram modules; talking to him ... he said that in the 2000s they had employees who sure know about my problem, but they are all retired and the information is lost without them.
One other trap: "sides == ranks" is usually but not always true. For many generations of DRAM the default PCB layouts followed that rule, but it isn't universal. One thing that happens is that generation X memory is released, and single and double sided DRAM has 1 and 2 ranks. Then, higher density chips become available, and the same chips now fit on a single side but are still dual rank. Checking the sides is a good first check, but if you want to be absolutely sure you need a data sheet or to actually try and use it.
it's hard to find a datasheet of a ram stick, and it's hard to know *what* is mounted on ramsticks
One other trap: "sides == ranks" is usually but not always true. For many generations of DRAM the default PCB layouts followed that rule, but it isn't universal. One thing that happens is that generation X memory is released, and single and double sided DRAM has 1 and 2 ranks. Then, higher density chips become available, and the same chips now fit on a single side but are still dual rank. Checking the sides is a good first check, but if you want to be absolutely sure you need a data sheet or to actually try and use it.
what about SDR ram? (before DDR)
Sure you can find data sheets for DRAM modules. Here is an example I pulled at random from crucial:
https://www.crucial.com/memory/ddr4/ct2k32g4s266mYou will notice that it says "dual rank", along with additional information about the performance and organization of the memory. Finding information on obsolete no-name modules will obviously be harder.
I'm pretty sure SDR DRAM is the same way, not sure about older asynchronous DRAM standards.
One other trap: "sides == ranks" is usually but not always true. For many generations of DRAM the default PCB layouts followed that rule, but it isn't universal. One thing that happens is that generation X memory is released, and single and double sided DRAM has 1 and 2 ranks. Then, higher density chips become available, and the same chips now fit on a single side but are still dual rank. Checking the sides is a good first check, but if you want to be absolutely sure you need a data sheet or to actually try and use it.
what about SDR ram? (before DDR)
Just a correction: SDRAM or Synchronous Dynamic RAM.
It is a similar thing. Ranks are simply a row of memory devices tied to the same Chip Select (CS) signal. In the PC world, dual rank memory modules started to appear with the 72-pin SIMM DRAM modules (pre-SDRAM).
https://en.m.wikipedia.org/wiki/SIMMPrior to that you would have single rank DRAMs either in 30-pin SIMM or SIPP or a sea of DRAM ICs in DIP package socketed to the motherboard.
I found it easier to find datasheets of RAM chips used on the module. From those it's easy to deduce everything else, even the number of chips if only one side is shown on the photo.
Fun fact: old Intel i440BX/ZX chipsets work with most 256MB modules, but the single-sided ones are usable only to half capacity.
Why? Because the controller doesn't have enough bits to address a single 256MB rank.
I found it easier to find datasheets of RAM chips used on the module
I need to purchase something, and I don't find any datasheet of anything anywhere.
I bought several different ram-sticks to inspect chips, and see myself how they work.
Fun fact: old Intel i440BX/ZX chipsets work with most 256MB modules, but the single-sided ones are usable only to half capacity.
Why? Because the controller doesn't have enough bits to address a single 256MB rank.
That's exactly the opposite of what I have experimentally observed:
- double sided -> recognized as half capacity
- single sided -> recognized as full capacity
double-sided/single-sided ---> doesn't imply double-rank/single-rank
it's more complex to say
so far I have tested 4 ram-sticks, unfortunately I cannot read what's written on chips.
And there is no label on them.
Talking about labels ... as far as I understand ... memory Rank should be distinguished by the information that is displayed on the information sticker on the memory:
- Single Rank memory has a "1R%x" on the label, for example { 1Rx8, 1Rx16 }: "1R" --> Single Rank
- Dual Rank memory has a "2R%x" on the label, for example { 2Rx8, 2Rx16 }: "2R" --> Dual Rank
- Quad Rank memory has a "4R%x" on the label, for example { 4Rx8, 4Rx16 }: "4R" --> Quad Rank
In my case ... labels are missing or blank about this information