decode-dimms出力を復号化する方法

decode-dimms出力を復号化する方法

実際のRAMタイミングを知りたいです。スティックのクロックは2400MHzですが、このCPUのメモリクロックは2133MHzに制限されています。以下で確認できます。

$ sudo dmidecode
... 
Handle 0x0004, DMI type 17, 40 bytes
Memory Device
        Array Handle: 0x0003
        Error Information Handle: Not Provided
        Total Width: 64 bits
        Data Width: 64 bits
        Size: 8192 MB
        Form Factor: SODIMM
        Set: None
        Locator: ChannelA-DIMM0
        Bank Locator: BANK 0
        Type: DDR4
        Type Detail: Synchronous Unbuffered (Unregistered)
        Speed: 2133 MT/s
        Manufacturer: Samsung
        Asset Tag: None
        Part Number: M471A1K43BB1-CRC    
        Rank: 1
        Configured Memory Speed: 2133 MT/s
...

現在のメモリタイミングを確認してください。

$ decode-dimms
# decode-dimms version $Revision$

Memory Serial Presence Detect Decoder
By Philip Edelbrock, Christian Zuckschwerdt, Burkart Lingner,
Jean Delvare, Trent Piepho and others


Decoding EEPROM: /sys/bus/i2c/drivers/ee1004/0-0050
Guessing DIMM is in                              bank 1

---=== SPD EEPROM Information ===---
EEPROM CRC of bytes 0-125                        OK (0xFE3E)
# of bytes written to SDRAM EEPROM               384
Total number of bytes in EEPROM                  512
Fundamental Memory type                          DDR4 SDRAM
SPD Revision                                     1.1
Module Type                                      SO-DIMM
EEPROM CRC of bytes 128-253                      OK (0x55EF)

---=== Memory Characteristics ===---
Maximum module speed                             2400 MHz (PC4-19200)
Size                                             8192 MB
Banks x Rows x Columns x Bits                    16 x 16 x 10 x 64
SDRAM Device Width                               8 bits
Ranks                                            1
AA-RCD-RP-RAS (cycles)                           17-17-17-39
Supported CAS Latencies                          18T, 17T, 16T, 15T, 14T, 13T, 12T, 11T, 10T

---=== Timings at Standard Speeds ===---
AA-RCD-RP-RAS (cycles) as DDR4-2400              17-17-17-39
AA-RCD-RP-RAS (cycles) as DDR4-2133              15-15-15-35
AA-RCD-RP-RAS (cycles) as DDR4-1866              13-13-13-30
AA-RCD-RP-RAS (cycles) as DDR4-1600              11-11-11-26

---=== Timing Parameters ===---
Minimum Cycle Time (tCKmin)                      0.833 ns
Maximum Cycle Time (tCKmax)                      1.600 ns
Minimum CAS Latency Time (tAA)                   13.750 ns
Minimum RAS to CAS Delay (tRCD)                  13.750 ns
Minimum Row Precharge Delay (tRP)                13.750 ns
Minimum Active to Precharge Delay (tRAS)         32.000 ns
Minimum Active to Auto-Refresh Delay (tRC)       45.750 ns
Minimum Recovery Delay (tRFC1)                   350.000 ns
Minimum Recovery Delay (tRFC2)                   260.000 ns
Minimum Recovery Delay (tRFC4)                   160.000 ns
Minimum Four Activate Window Delay (tFAW)        21.000 ns
Minimum Row Active to Row Active Delay (tRRD_S)  3.300 ns
Minimum Row Active to Row Active Delay (tRRD_L)  4.900 ns
Minimum CAS to CAS Delay (tCCD_L)                5.000 ns
Minimum Write Recovery Time (tWR)                15.000 ns
Minimum Write to Read Time (tWTR_S)              2.500 ns
Minimum Write to Read Time (tWTR_L)              7.500 ns

どういう意味ですか?時計は2133を指しています。わかりました。さて、今は何時ですか? 17-17-17-39? 13-13-13-32?これらのどれも「標準タイミング」に従わないAA-RCD-RP-RAS (cycles) as DDR4-2133 15-15-15-35。なぜそんなことですか?

答え1

decode-dimms から読み取った Serial Presence Detect (SPD) には、モジュールの一般的な物理特性に関する情報が含まれていますが、現在の動作モードは含まれていません。現在の周波数設定を確認するには、BIOSにアクセスしてDRAM周波数設定を確認してください。

周波数によってリストされているレイテンシは、DRAMによって内部的に使用される期間「tCK」に基づいて設定されます(DIMMのリストされているバス周波数とは異なります!)。たとえば、13.750nsのtAA遅延を考えてみましょう。 「内部サイクル」に関して、tAAの最小時間は13.750ns / 0.833ns = 16.5サイクルです(0.833nsはデバイスの最小サイクル時間であるTCKminです)。 AAは17サイクルで安全に設定する必要があります。
メモリ周波数が2400 MHzである場合は、まず「デュアルデータレート」を無視する必要があります。これはバス伝送にのみ適しており、バスの「サイクル」(サイクルタイム)のみが1/1200Mhz(半分)2400)と見なされるためです。 0.833ns(つまりtCKmin!)メモリ周波数を低く設定すると、内部周期の周期が増加します。たとえば、2133Mhzを使用している場合、計算は13.750ns / 0.937ns = 14.67〜なので、AAを15サイクルに設定します。 DDR 1866では13.750ns / 1.071ns = 12.82なので、AAを13サイクルに設定しました。 DDR 1600では13.750ns / 1.25ns = 11なので、AAを11サイクルに設定しました。

これは、デバイスの「周期」で表されるタイミング標準速度で示されるtAAタイミングとまったく同じです。他の時間でもこの運動を繰り返すことができます。

関連情報