What is the proper memory timings for 400 Mhz DDR RAM modules if I would like to operate them at only 266 Mhz?

konstantinusz

Reputable
Oct 28, 2016
14
0
4,510
I have an olda motherboard (Intel D865PERL) and only 2 x 1 GB of 400 Mhz KingMax DDR SDRAM. 2 GB of RAM is often too low, so I would like to install additional modules. I have 2 x 512 MB modules (PQI, PMI) and one 1 GB module, which is also KingMax. Unfortunately the surplus 1 GB KingMax module doesn't work together with the other two 1 GB modules, I checked numerous configs and timings. But the two 512 MB modules worked one day: but only at 266 Mhz.

So I would like to set my motherboard to 266 Mhz mode with correct manual memory timings, and go for 3 GB of memory in total. Right now the 2 x 1 GB KingMax modules use 3-4-4-8 timings, but I have to set other timings for operating them at 266 Mhz, I realized that lower settings works for 266 Mhz, for example 2.5-3-3-7. I would like to know which are the most proper settings for operating the 400 Mhz modules at 266 Mhz.
 
Problem is I don't have Windows, only Linux (Arch). CPU-Z won't work under Linux with Wine. Under Linux there is a "decode-dimms" utility, its output is the following:

Code:
Maximum module speed                            400 MHz (PC3200)
Size                                            1024 MB
Voltage Interface Level                         SSTL 2.5V
tCL-tRCD-tRP-tRAS                               3-4-4-8
Supported CAS Latencies                         3T, 2.5T, 2T
---=== Manufacturing Information ===---
Manufacturer                                    Kingmax Semiconductor
Part Number                                     MPXD42F-D8KT4B

---=== Memory Characteristics ===---
Maximum module speed                            400 MHz (PC3200)
Size                                            1024 MB
Voltage Interface Level                         SSTL 2.5V
tCL-tRCD-tRP-tRAS                               3-4-4-8
Supported CAS Latencies                         3T, 2.5T
---=== Manufacturing Information ===---
Manufacturer                                    Kingmax Semiconductor
Part Number                                     MPXD42F-D8MT4B

As one can see I have two slightly different KingMax modules, ending with D8KT4B and D8MT4B, and their supported CAS latency values differ 3, 2.5 vs 3, 2.5, 2.

As you can see, I have set in the BIOS menu 333 Mhz (320 Mhz) memory frequency, beacuse I would like to experiment with this value and the different timing values too. They are now set to: 8-2.5-4-3
With these timings I am able to set 333 Mhz and even 266 Mhz too, because I hoped that my other modules tolerate better the lower frequency and will work together with the two 1 GB KingMax modules.

My other modules are: another 1 GB KingMax, ending with D8KT4B, but following letters differs from the two others, PNAS / MNAS vs NFAR. I have two 512 MB modules they are PQI and PMI brand, and one 256 MB module, Samsung. All are DDR SDRAM, 400 Mhz. I have two 256 MB 266 Mz modules too, Q2 and PMI brandname.

Yesterday I was able to operate the system stable with 3.5 GB RAM in total, with the following config (beginning with closest to the processor): 1 GB (D8KT4B-NFAR) - 512 MB (PMI) - 1 GB (D8KT4B-PNAS) - 1 GB (D8MT4B-MNAS). At 333 Mhz with timings set to: 8-2.5-4-3. It worked perfectly, however browsing the BIOS menu produced freezes, same with Memtest86+ as it freezed in a second or two, but when I let the Linux operating system to load, it worked without problems for hours, no freezes, no program crashes.

The problem is: when I switched off the computer for night and switched on at next morning, it didn't boot. No POST messages, display isn't initiated, keyboard LEDs didn't flash signing a startup.

I had to remove the 1 GB and 512 MB modules from closest to the processor, and let the system operate with the two older KingMax modules, they usually work well together.

Optimally I would like to use 4 GB of RAM, right now it is not possible, because I have a bad 1 GB module (I have 4 pieces of 1 GB modules and one of them is bad): memtest86+ produces lot of errors for the bad module. However there is a Linux kernel feature called "BadRAM". One can operate a system stable with a bad RAM, telling the kernel not to use a certain memory range. 3.5 GB of RAM still would be ideal, and even 3 GB would be nice for me.
 
That output doesn't give info about various latency timings for different frequencies.
Just use latency timings for 400mhz and set frequency to 266mhz. That would not be optimal, but should work.

After that you can experiment with reducing latency timings one by one. But that's a lot of various combinations to try.
I'd be too lazy to to that. :)
 
Okay, I get a Live Windows XP CD, and I could run CPU-Z, now I have got the JEDEC timing tables.
My two older 1 GB KingMax modules, they work together easily in the mainboard:

-------------------------------
1 GB KingMax (older series)

Size 1024 MBytes
Max bandwidth PC3200 (200 MHz)
Part number MPXD42F-D8KT4B
Number of banks 2
Data width 64 bits
Correction None
Registered no
Buffered no
Nominal Voltage 2.50 Volts
EPP no
XMP no
AMP no
JEDEC timings table CL-tRCD-tRP-tRAS-tRC @ frequency
JEDEC #1 2.0-3-3-6-n.a. @ 133 MHz
JEDEC #2 2.5-4-4-7-n.a. @ 166 MHz
JEDEC #3 3.0-4-4-8-n.a. @ 200 MHz

---------------------------------------------------------------
1 GB KingMax (older series)

Size 1024 MBytes
Max bandwidth PC3200 (200 MHz)
Part number MPXD42F-D8MT4B
Number of banks 2
Data width 64 bits
Correction None
Registered no
Buffered no
Nominal Voltage 2.50 Volts
EPP no
XMP no
AMP no
JEDEC timings table CL-tRCD-tRP-tRAS-tRC @ frequency
JEDEC #1 2.5-3-3-6-n.a. @ 133 MHz
JEDEC #2 3.0-4-4-8-n.a. @ 200 MHz

------------------------------------------------------------------
------------------------------------------------------------------

1 GB KingMax (newer series, I have 2 pieces of this, but one of them is bad, memtest86+ produces errors, maybe I can use it with Linux BadRAM kernel service)

Size 1024 MBytes
Max bandwidth PC3200 (200 MHz)
Part number MPXD42F-D8KT4B
Number of banks 2
Data width 64 bits
Correction None
Registered no
Buffered no
Nominal Voltage 2.50 Volts
EPP no
XMP no
AMP no
JEDEC timings table CL-tRCD-tRP-tRAS-tRC @ frequency
JEDEC #1 2.0-3-3-6-n.a. @ 133 MHz
JEDEC #2 2.5-4-4-7-n.a. @ 166 MHz
JEDEC #3 3.0-4-4-8-n.a. @ 200 MHz


------------------------------------------------------------------
my older modules (PC3200 / 400 Mhz)
------------------------------------------------------------------

512 MB PQI module

Size 512 MBytes
Max bandwidth PC3200 (200 MHz)
Part number
Number of banks 2
Data width 64 bits
Correction None
Registered no
Buffered no
Nominal Voltage 2.50 Volts
EPP no
XMP no
AMP no
JEDEC timings table CL-tRCD-tRP-tRAS-tRC @ frequency
JEDEC #1 2.0-2-2-6-n.a. @ 133 MHz
JEDEC #2 2.5-3-3-7-n.a. @ 166 MHz
JEDEC #3 3.0-3-3-8-n.a. @ 200 MHz
------------------------------------------------------------------
512 MB PMI module

Size 512 MBytes
Max bandwidth PC3200 (200 MHz)
Part number
Serial number 00303430
Number of banks 2
Data width 64 bits
Correction None
Registered no
Buffered no
Nominal Voltage 2.50 Volts
EPP no
XMP no
AMP no
JEDEC timings table CL-tRCD-tRP-tRAS-tRC @ frequency
JEDEC #1 2.5-4-4-8-n.a. @ 200 MHz
-------------------------------------------------------------------
256 MB Samsung (GEIL) module

Size 256 MBytes
Max bandwidth PC3200 (200 MHz)
Part number CL25-3-3DDR 400
Serial number 20020725
Manufacturing date Week 03/Year 01
Number of banks 1
Data width 64 bits
Correction None
Registered no
Buffered no
Nominal Voltage 2.50 Volts
EPP no
XMP no
AMP no
JEDEC timings table CL-tRCD-tRP-tRAS-tRC @ frequency
JEDEC #1 2.5-4-4-8-n.a. @ 200 MHz

-------------------------------------------------------------
An even older 256 MB module, only PC2100 / 266 Mhz
-------------------------------------------------------------
256 MB Q2 module (266 Mhz)

Size 256 MBytes
Max bandwidth PC2100 (133 MHz)
Part number
Number of banks 1
Data width 64 bits
Correction None
Registered no
Buffered no
Nominal Voltage 2.50 Volts
EPP no
XMP no
AMP no
JEDEC timings table CL-tRCD-tRP-tRAS-tRC @ frequency
JEDEC #1 2.0-2-2-5-n.a. @ 100 MHz
JEDEC #2 2.5-3-3-6-n.a. @ 133 MHz
 
I see, thank you very much. Unfortunately there is no such setting in the BIOS menus like "command rate". But on my older mainboard there is, that is a Kobian KT266a FDSX. In that older motherboard every modules work, in arbitrary pairing, at 266 Mhz. But it is able to handle only two modules at the same time.
 
However there is a setting in the BIOS called "CPC Override" (Auto, Enabled, DIsabled) which, according to the datasheet of the mainboard "Controls Command Per Clock/1n rule mode. When enabled, allows DRAM controller to attempt chip Select assertions in two consecutive common clocks.". Maybe is this the so called "command rate"?