Detekce sériové přítomnosti - Serial presence detect
v výpočetní, detekce sériové přítomnosti (SPD) je standardizovaný způsob automatického přístupu k informacím o a paměťový modul. Dříve 72-pin SIMM zahrnoval pět kolíků, které poskytovaly pět bitů detekce paralelní přítomnosti (PPD) data, ale 168kolíková DIMM standard změněn na detekci sériové přítomnosti, aby se zakódovalo mnohem více informací.[1]
Když je běžný moderní počítač zapnutý, začíná provedením a autotest při zapnutí (POŠTA). Od poloviny 90. let zahrnuje tento proces automatickou konfiguraci aktuálně přítomného hardwaru. SPD je hardwarová funkce paměti, která umožňuje počítači vědět, co je přítomna paměť a co časování paměti použít k přístupu do paměti.
Některé počítače se přizpůsobují změnám hardwaru zcela automaticky. Ve většině případů existuje speciální volitelný postup pro přístup BIOS parametrů, abyste mohli zobrazit a případně provést změny v nastavení. Je možné ovládat, jak počítač využívá data SPD paměti - zvolit nastavení, selektivně upravit časování paměti nebo případně úplně přepsat data SPD (viz přetaktování ).
Uložené informace
Aby paměťový modul podporoval SPD, JEDEC Standardy vyžadují, aby určité parametry byly v dolních 128 bajtech EEPROM umístěný na paměťovém modulu. Tyto bajty obsahují parametry časování, výrobce, sériové číslo a další užitečné informace o modulu. Zařízení využívající paměť automaticky určují klíčové parametry modulu čtením těchto informací. Například data SPD na SDRAM modul může poskytovat informace o Latence CAS takže systém to může správně nastavit bez zásahu uživatele.
SPD EEPROM je přístupná pomocí SMBus, varianta I²C protokol. Tím se sníží počet komunikačních pinů na modulu na pouhé dva: hodinový signál a datový signál. EEPROM sdílí uzemněné piny s RAM, má svůj vlastní napájecí pin a má tři další piny (SA0–2) pro identifikaci slotu, které se používají k přiřazení EEPROM jedinečné adresy v rozsahu 0x50–0x57. Komunikační linky lze nejen sdílet mezi 8 paměťovými moduly, ale stejná SMBus se běžně používá na základních deskách pro úkoly monitorování stavu systému, jako je čtení napájecích napětí, procesor teploty a rychlosti ventilátoru.
SPD EEPROM také reagují na adresy I²C 0x30–0x37, pokud nejsou chráněny proti zápisu, a rozšíření (řada TSE) používá adresy 0x18–0x1F pro přístup k volitelnému teplotnímu senzoru na čipu. Všechny tyto hodnoty jsou sedmbitové adresy I²C tvořený předponou identifikátoru typu zařízení (DTIC) s SA0-2: ke čtení (1100) ze slotu 3, používá se 110 0011 = 0x33
. S finálním bitem R / W tvoří 8bitový kód pro výběr zařízení.[2] Všimněte si, že sémantika slot-id je pro operace ochrany proti zápisu odlišná: pro ně nemohou být vůbec předány piny SA.[3]
Před SPD byly paměťové čipy spatřeny s detekcí paralelní přítomnosti (PPD). Společnost PPD použila pro každý bit informací samostatný pin, což znamenalo, že z důvodu omezeného prostoru pro piny bylo možné uložit pouze rychlost a hustotu paměťového modulu.
SDR SDRAM

První specifikace SPD byla vydána společností JEDEC a zpřísněna společností Intel jako její součást PC100 specifikace paměti.[4] Většina zadaných hodnot je v binárně kódované desetinné místo formulář. Nejvýznamnější okusovat může obsahovat hodnoty od 10 do 15 a v některých případech přesahuje vyšší. V takových případech se kódování 1, 2 a 3 místo toho použijí ke kódování 16, 17 a 18. Nejvýznamnější okusování 0 je vyhrazeno, aby představovalo „nedefinováno“.
SPD ROM definuje až tři časování DRAM, pro tři latence CAS specifikované nastavenými bity v bajtu 18. Nejprve přichází nejvyšší latence CAS (nejrychlejší hodiny), pak dvě nižší latence CAS s postupně nižšími hodinovými rychlostmi.
Byte | Bit | Poznámky | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
(pros.) | (hex.) | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0 | 0x00 | Počet přítomných bytů | Typicky 128 | |||||||
1 | 0x01 | log2(velikost SPD EEPROM) | Typicky 8 (256 bajtů) | |||||||
2 | 0x02 | Základní typ paměti (4: SPD SDRAM) | ||||||||
3 | 0x03 | Banka 2 řádkové adresové bity (0–15) | Banka 1 řádek adresy bitů (1–15) | Banka 2 je 0, pokud je stejná jako banka 1 | ||||||
4 | 0x04 | Bity sloupců adresy banky 2 (0–15) | Bity sloupců adresy banky 1 (1–15) | Banka 2 je 0, pokud je stejná jako banka 1 | ||||||
5 | 0x05 | Počet bank RAM na modulu (1–255) | Obvykle 1 nebo 2 | |||||||
6 | 0x06 | Nízká bajtová šířka dat modulu | Běžně 64 nebo 72 pro ECC DIMM | |||||||
7 | 0x07 | Šířka bajtu dat modulu | 0, pokud šířka ≥ 256 bitů | |||||||
8 | 0x08 | Úroveň napětí rozhraní této sestavy (není stejná jako Vcc napájecí napětí) (0–4) | Dekódováno vyhledáním tabulky | |||||||
9 | 0x09 | Nanosekundy (0–15) | Desatiny nanosekund (0,0–0,9) | Čas taktu při nejvyšší latenci CAS | ||||||
10 | 0x0a | Nanosekundy (0–15) | Desatiny nanosekund (0,0–0,9) | Čas přístupu SDRAM z hodin (tAC) | ||||||
11 | 0x0b | Typ konfigurace DIMM (0–2): non-ECC, parita, ECC | Vyhledávání v tabulce | |||||||
12 | 0x0c | Já | Obnovovací perioda (0–5): 64, 256, 128, 32, 16, 8 kHz | Obnovit požadavky | ||||||
13 | 0x0d | Banka 2 2 × | Šířka primární SDRAM řady 1 (1–127, obvykle 8) | Šířka datových SDRAM zařízení banky 1. Banka 2 může mít stejnou šířku nebo 2 × šířku, pokud je nastaven bit 7. | ||||||
14 | 0x0e | Banka 2 2 × | Banka 1 Šířka ECC SDRAM (0–127) | Šířka banky 1 ECC / paritní zařízení SDRAM. Banka 2 může mít stejnou šířku nebo 2 × šířku, pokud je nastaven bit 7. | ||||||
15 | 0x0f | Časové zpoždění pro náhodná čtení sloupců | Typicky 1 | |||||||
16 | 0x10 | Strana | — | — | — | 8 | 4 | 2 | 1 | Podporované délky sekvencí (bitmapa) |
17 | 0x11 | Banky na zařízení SDRAM (1–255) | Typicky 2 nebo 4 | |||||||
18 | 0x12 | — | 7 | 6 | 5 | 4 | 3 | 2 | 1 | CAS podporované latence (bitmapové) |
19 | 0x13 | — | 6 | 5 | 4 | 3 | 2 | 1 | 0 | CS podporované latence (bitmapové) |
20 | 0x14 | — | 6 | 5 | 4 | 3 | 2 | 1 | 0 | MY podporované latence (bitmapové) |
21 | 0x15 | — | Redundantní | Rozdíl. hodiny | Registrovaná data | Data ve vyrovnávací paměti | Na kartě PLL | Registrovaná adresa | Vyrovnávací adresa | Paměťový modul obsahuje bitmapu |
22 | 0x16 | — | — | Horní Vcc tolerance (napájecího napětí) | Dolní Vcc tolerance (napájecího napětí) | Zápis / 1 přečtená série | Dobijte vše | Automatické nabíjení | Brzy RAS příplatek | Funkce paměťového čipu podporuje bitmapu |
23 | 0x17 | Nanosekundy (4–18) | Desatiny nanosekund (0–9: 0,0–0,9) | Čas taktu při střední latenci CAS | ||||||
24 | 0x18 | Nanosekundy (4–18) | Desatiny nanosekund (0–9: 0,0–0,9) | Čas přístupu k datům z hodin (tAC) | ||||||
25 | 0x19 | Nanosekundy (1–63) | 0,25 ns (0–3: 0,00–0,75) | Čas taktu při krátké latenci CAS. | ||||||
26 | 0x1a | Nanosekundy (1–63) | 0,25 ns (0–3: 0,00–0,75) | Čas přístupu k datům z hodin (tAC) | ||||||
27 | 0x1b | Nanosekundy (1–255) | Minimální doba předplnění řádku (tRP) | |||||||
28 | 0x1c | Nanosekundy (1–255) | Minimální řádek aktivní - aktivní zpoždění řádku (tRRD) | |||||||
29 | 0x1d | Nanosekundy (1–255) | Minimální RAS na CAS zpoždění (tRCD) | |||||||
30 | 0x1e | Nanosekundy (1–255) | Minimální doba aktivní k dobití (tRAS) | |||||||
31 | 0x1f | 512 MiB | 256 MiB | 128 MiB | 64 MiB | 32 MiB | 16 MiB | 8 MiB | 4 MiB | Hustota modulu banky (bitmapa). Jsou nastaveny dva bity, pokud mají banky různé velikosti. |
32 | 0x20 | Znamení (1: -) | Nanosekundy (0–7) | Desatiny nanosekund (0–9: 0,0–0,9) | Čas nastavení adresy / příkazu z hodin | |||||
33 | 0x21 | Znamení (1: -) | Nanosekundy (0–7) | Desatiny nanosekund (0–9: 0,0–0,9) | Doba přidržení adresy / příkazu po hodinách | |||||
34 | 0x22 | Znamení (1: -) | Nanosekundy (0–7) | Desatiny nanosekund (0–9: 0,0–0,9) | Čas nastavení vstupu dat z hodin | |||||
35 | 0x23 | Znamení (1: -) | Nanosekundy (0–7) | Desatiny nanosekund (0–9: 0,0–0,9) | Doba zadržení zadaného data po hodinách | |||||
36–61 | 0x24–0x3d | Rezervováno | Pro budoucí standardizaci | |||||||
62 | 0x3e | Hlavní revize (0–9) | Menší revize (0–9) | Úroveň revize SPD; např. 1.2 | ||||||
63 | 0x3f | Kontrolní součet | Součet bajtů 0–62, ne pak negováno | |||||||
64–71 | 0x40–47 | Výrobce JEDEC id. | Uložený little-endian, koncové s nulovým polstrováním | |||||||
72 | 0x48 | Místo výroby modulu | Kód specifický pro dodavatele | |||||||
73–90 | 0x49–0x5a | Číslo dílu modulu | ASCII, s mezerou | |||||||
91–92 | 0x5b – 0x5c | Kód revize modulu | Kód specifický pro dodavatele | |||||||
93 | 0x5d | Desítky let (0–9: 0–90) | Roky (0–9) | Datum výroby (YYWW) | ||||||
94 | 0x5e | Desítky týdnů (0–5: 0–50) | Týdny (0–9) | |||||||
95–98 | 0x5f – 0x62 | Sériové číslo modulu | Kód specifický pro dodavatele | |||||||
99–125 | 0x63–0x7f | Údaje specifické pro výrobce | Mohl by být vylepšený profil výkonu | |||||||
126 | 0x7e | 0x66 [sic ] pro 66 MHz, 0x64 pro 100 MHz | Podpora frekvence Intel | |||||||
127 | 0x7f | CLK0 | CLK1 | CLK3 | CLK3 | 90/100 ° C | CL3 | CL2 | Souběžný AP | Bitmapa funkcí Intel |
DDR SDRAM
Formát DDR DIMM SPD je rozšířením formátu SDR SDRAM. Většinou se rozsahy parametrů mění tak, aby vyhovovaly vyšším rychlostem.
Byte | Bit | Poznámky | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
(pros.) | (hex.) | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0 | 0x00 | Počet zapsaných bytů | Typicky 128 | |||||||
1 | 0x01 | log2(velikost SPD EEPROM) | Typicky 8 (256 bajtů) | |||||||
2 | 0x02 | Základní typ paměti (7 = DDR SDRAM) | ||||||||
3 | 0x03 | Banka 2 řádkové adresové bity (0–15) | Bankovní 1 řádek adresy bitů (1–15) | Banka 2 je 0, pokud je stejná jako banka 1. | ||||||
4 | 0x04 | Bity sloupce adresy banky 2 (0–15) | Bity sloupců adresy banky 1 (1–15) | Banka 2 je 0, pokud je stejná jako banka 1. | ||||||
5 | 0x05 | Počet bank RAM na modulu (1–255) | Obvykle 1 nebo 2 | |||||||
6 | 0x06 | Nízká bajtová šířka dat modulu | Běžně 64 nebo 72 pro ECC DIMM | |||||||
7 | 0x07 | Šířka bajtu dat modulu | 0, pokud šířka ≥ 256 bitů | |||||||
8 | 0x08 | Úroveň napětí rozhraní této sestavy (není stejná jako Vcc napájecí napětí) (0–5) | Dekódováno vyhledáním tabulky | |||||||
9 | 0x09 | Nanosekundy (0–15) | Desatiny nanosekund (0,0–0,9) | Čas taktu při nejvyšší latenci CAS. | ||||||
10 | 0x0a | Desatiny nanosekund (0,0–0,9) | Stotiny nanosekund (0,00–0,09) | Čas přístupu SDRAM z hodin (tAC) | ||||||
11 | 0x0b | Typ konfigurace DIMM (0–2): non-ECC, parita, ECC | Vyhledávání v tabulce | |||||||
12 | 0x0c | Já | Obnovovací perioda (0–5): 64, 256, 128, 32, 16, 8 kHz | Obnovit požadavky | ||||||
13 | 0x0d | Banka 2 2 × | Šířka primární SDRAM řady 1 (1–127) | Šířka datových SDRAM zařízení banky 1. Banka 2 může mít stejnou šířku nebo 2 × šířku, pokud je nastaven bit 7. | ||||||
14 | 0x0e | Banka 2 2 × | Banka 1 Šířka ECC SDRAM (0–127) | Šířka banky 1 ECC / paritní zařízení SDRAM. Banka 2 může mít stejnou šířku nebo 2 × šířku, pokud je nastaven bit 7. | ||||||
15 | 0x0f | Časové zpoždění pro náhodná čtení sloupců | Typicky 1 | |||||||
16 | 0x10 | Strana | — | — | — | 8 | 4 | 2 | 1 | Podporované délky sekvencí (bitmapa) |
17 | 0x11 | Banky na zařízení SDRAM (1–255) | Typicky 4 | |||||||
18 | 0x12 | — | 4 | 3.5 | 3 | 2.5 | 2 | 1.5 | 1 | CAS podporované latence (bitmapové) |
19 | 0x13 | — | 6 | 5 | 4 | 3 | 2 | 1 | 0 | CS podporované latence (bitmapové) |
20 | 0x14 | — | 6 | 5 | 4 | 3 | 2 | 1 | 0 | MY podporované latence (bitmapové) |
21 | 0x15 | — | X | Rozdílné hodiny | Externí povolení přepínače FET | Palubní přepínač FET povolen | Na kartě PLL | Registrovaný | Do vyrovnávací paměti | Paměťový modul obsahuje bitmapu |
22 | 0x16 | Rychlý AP | Souběžné automatické nabíjení | Horní Vcc tolerance (napájecího napětí) | Dolní Vcc tolerance (napájecího napětí) | — | — | — | Zahrnuje slabý ovladač | Paměťový čip obsahuje bitmapu |
23 | 0x17 | Nanosekundy (0–15) | Desatiny nanosekund (0,0–0,9) | Čas taktu při střední latenci CAS. | ||||||
24 | 0x18 | Desatiny nanosekund (0,0–0,9) | Stotiny nanosekund (0,00–0,09) | Čas přístupu k datům z hodin (tAC) | ||||||
25 | 0x19 | Nanosekundy (0–15) | Desatiny nanosekund (0,0–0,9) | Čas taktu při krátké latenci CAS. | ||||||
26 | 0x1a | Desatiny nanosekund (0,0–0,9) | Stotiny nanosekund (0,00–0,09) | Čas přístupu k datům z hodin (tAC) | ||||||
27 | 0x1b | Nanosekundy (1–63) | 0,25 ns (0–0,75) | Minimální doba předplnění řádku (tRP) | ||||||
28 | 0x1c | Nanosekundy (1–63) | 0,25 ns (0–0,75) | Minimální řádek aktivní - aktivní zpoždění řádku (tRRD) | ||||||
29 | 0x1d | Nanosekundy (1–63) | 0,25 ns (0–0,75) | Minimální RAS na CAS zpoždění (tRCD) | ||||||
30 | 0x1e | Nanosekundy (1–255) | Minimální doba aktivní k dobití (tRAS) | |||||||
31 | 0x1f | 512 MiB | 256 MiB | 128 MiB | 64 MiB | 32 MiB | 16 MiB / 4 GiB | 8 MiB / 2 GiB | 4 MiB / 1 GiB | Hustota modulu banky (bitmapa). Nastaveny dva bity, pokud mají banky různé velikosti. |
32 | 0x20 | Desatiny nanosekund (0,0–0,9) | Stotiny nanosekund (0,00–0,09) | Čas nastavení adresy / příkazu z hodin | ||||||
33 | 0x21 | Desatiny nanosekund (0,0–0,9) | Stotiny nanosekund (0,00–0,09) | Doba přidržení adresy / příkazu po hodinách | ||||||
34 | 0x22 | Desatiny nanosekund (0,0–0,9) | Stotiny nanosekund (0,00–0,09) | Čas nastavení vstupu dat z hodin | ||||||
35 | 0x23 | Desatiny nanosekund (0,0–0,9) | Stotiny nanosekund (0,00–0,09) | Doba zadržení zadaného data po hodinách | ||||||
36–40 | 0x24–0x28 | Rezervováno | Informace o nadmnožině | |||||||
41 | 0x29 | Nanosekundy (1–255) | Minimální doba aktivní až aktivní / obnovovací (tRC) | |||||||
42 | 0x2a | Nanosekundy (1–255) | Minimální obnovovací doba na aktivní / obnovovací dobu (tRFC) | |||||||
43 | 0x2b | Nanosekundy (1–63 nebo 255: žádné maximum) | 0,25 ns (0–0,75) | Maximální doba taktu (tCK max.) | ||||||
44 | 0x2c | Stotiny nanosekund (0,01–2,55) | Maximální zkosení, DQS k jakémukoli DQ. (tDQSQ max.) | |||||||
45 | 0x2d | Desatiny nanosekund (0,0–1,2) | Stotiny nanosekund (0,00–0,09) | Přečíst činitel zkosení údajů o zadržení (tQHS) | ||||||
46 | 0x2e | Rezervováno | Pro budoucí standardizaci | |||||||
47 | 0x2f | — | Výška | Výška modulu DIMM, vyhledávání tabulky | ||||||
48–61 | 0x30–0x3d | Rezervováno | Pro budoucí standardizaci | |||||||
62 | 0x3e | Hlavní revize (0–9) | Menší revize (0–9) | Úroveň revize SPD, 0,0 nebo 1,0 | ||||||
63 | 0x3f | Kontrolní součet | Součet bajtů 0–62, ne pak negováno | |||||||
64–71 | 0x40–47 | Výrobce JEDEC id. | Uložený malý endian, koncové nulové polstrování | |||||||
72 | 0x48 | Místo výroby modulu | Kód specifický pro dodavatele | |||||||
73–90 | 0x49–0x5a | Číslo dílu modulu | ASCII, s mezerou | |||||||
91–92 | 0x5b – 0x5c | Kód revize modulu | Kód specifický pro dodavatele | |||||||
93 | 0x5d | Desítky let (0–90) | Roky (0–9) | Datum výroby (YYWW) | ||||||
94 | 0x5e | Desítky týdnů (0–50) | Týdny (0–9) | |||||||
95–98 | 0x5f – 0x62 | Sériové číslo modulu | Kód specifický pro dodavatele | |||||||
99–127 | 0x63–0x7f | Údaje specifické pro výrobce | Mohl by být vylepšený profil výkonu |
DDR2 SDRAM
Standard DDR2 SPD provádí řadu změn, ale je zhruba podobný výše uvedenému. Jedním pozoruhodným vypuštěním je matoucí a málo používaná podpora pro DIMM se dvěma řadami různých velikostí.
Pro pole doby cyklu (bajty 9, 23, 25 a 49), která jsou zakódována BCD, jsou definována některá další kódování pro desetinnou číslici, která přesně reprezentují některá běžná časování:
Hex | Binární | Význam |
---|---|---|
A | 1010 | 0.25 (¼) |
B | 1011 | 0.33 (⅓) |
C | 1100 | 0.66 (⅔) |
D | 1101 | 0.75 (¾) |
E | 1110 | 0,875 (⅞, rozšíření nVidia XMP) |
F | 1111 | Rezervováno |
Byte | Bit | Poznámky | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
Prosinec | Hex | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0 | 0x00 | Počet zapsaných bytů | Typicky 128 | |||||||
1 | 0x01 | log2(velikost SPD EEPROM) | Typicky 8 (256 bajtů) | |||||||
2 | 0x02 | Základní typ paměti (8 = DDR2 SDRAM) | ||||||||
3 | 0x03 | Rezervováno | Bit adresy adresy (1–15) | |||||||
4 | 0x04 | Rezervováno | Bity adresy sloupce (1–15) | |||||||
5 | 0x05 | Svislá výška | Zásobník? | ConC? | Hodnosti − 1 (1–8) | Běžně 0 nebo 1, což znamená 1 nebo 2 | ||||
6 | 0x06 | Šířka dat modulu | Běžně 64 nebo 72 pro ECC DIMM | |||||||
7 | 0x07 | Rezervováno | ||||||||
8 | 0x08 | Úroveň napětí rozhraní této sestavy (není stejná jako Vcc napájecí napětí) (0–5) | Dekódováno vyhledáním tabulky. Běžně 5 = SSTL 1,8 V | |||||||
9 | 0x09 | Nanosekundy (0–15) | Desatiny nanosekund (0,0–0,9) | Čas taktu při nejvyšší latenci CAS. | ||||||
10 | 0x0a | Desatiny nanosekund (0,0–0,9) | Stotiny nanosekund (0,00–0,09) | Čas přístupu SDRAM z hodin (tAC) | ||||||
11 | 0x0b | Typ konfigurace DIMM (0–2): non-ECC, parita, ECC | Vyhledávání v tabulce | |||||||
12 | 0x0c | Já | Obnovovací perioda (0–5): 64, 256, 128, 32, 16, 8 kHz | Obnovit požadavky | ||||||
13 | 0x0d | Šířka primární SDRAM (1–255) | Běžně 8 (modul postavený z × 8 dílů) nebo 16 | |||||||
14 | 0x0e | Šířka ECC SDRAM (0–255) | Šířka bankovních ECC / paritních SDRAM zařízení. Obyčejně 0 nebo 8. | |||||||
15 | 0x0f | Rezervováno | ||||||||
16 | 0x10 | — | — | — | — | 8 | 4 | — | — | Podporované délky sekvencí (bitmapa) |
17 | 0x11 | Banky na zařízení SDRAM (1–255) | Typicky 4 nebo 8 | |||||||
18 | 0x12 | 7 | 6 | 5 | 4 | 3 | 2 | — | — | CAS podporované latence (bitmapové) |
19 | 0x13 | Rezervováno | ||||||||
20 | 0x14 | — | — | Mini-UDIMM | Mini-RDIMM | Micro-DIMM | SO-DIMM | UDIMM | RDIMM | Typ DIMM této sestavy (bitmapová) |
21 | 0x15 | — | Modul je analytická sonda | — | Externí povolení přepínače FET | — | — | — | — | Paměťový modul obsahuje bitmapu |
22 | 0x16 | — | — | — | — | — | — | — | Zahrnuje slabý ovladač | Paměťový čip obsahuje bitmapu |
23 | 0x17 | Nanosekundy (0–15) | Desatiny nanosekund (0,0–0,9) | Čas taktu při střední latenci CAS. | ||||||
24 | 0x18 | Desatiny nanosekund (0,0–0,9) | Stotiny nanosekund (0,00–0,09) | Čas přístupu k datům z hodin (tAC) | ||||||
25 | 0x19 | Nanosekundy (0–15) | Desatiny nanosekund (0,0–0,9) | Čas taktu při krátké latenci CAS. | ||||||
26 | 0x1a | Desatiny nanosekund (0,0–0,9) | Stotiny nanosekund (0,00–0,09) | Čas přístupu k datům z hodin (tAC) | ||||||
27 | 0x1b | Nanosekundy (1–63) | 1/4 ns (0–0,75) | Minimální doba předplnění řádku (tRP) | ||||||
28 | 0x1c | Nanosekundy (1–63) | 1/4 ns (0–0,75) | Minimální řádek aktivní - aktivní zpoždění řádku (tRRD) | ||||||
29 | 0x1d | Nanosekundy (1–63) | 1/4 ns (0–0,75) | Minimální RAS na CAS zpoždění (tRCD) | ||||||
30 | 0x1e | Nanosekundy (1–255) | Minimální doba aktivní k dobití (tRAS) | |||||||
31 | 0x1f | 512 MiB | 256 MiB | 128 MiB | 16 GiB | 8 GiB | 4 GiB | 2 GiB | 1 GiB | Velikost každé pozice (bitmapa). |
32 | 0x20 | Desatiny nanosekund (0,0–1,2) | Stotiny nanosekund (0,00–0,09) | Čas nastavení adresy / příkazu z hodin | ||||||
33 | 0x21 | Desatiny nanosekund (0,0–1,2) | Stotiny nanosekund (0,00–0,09) | Doba přidržení adresy / příkazu po hodinách | ||||||
34 | 0x22 | Desatiny nanosekund (0,0–0,9) | Stotiny nanosekund (0,00–0,09) | Čas nastavení vstupu dat ze stroboskopu | ||||||
35 | 0x23 | Desatiny nanosekund (0,0–0,9) | Stotiny nanosekund (0,00–0,09) | Doba zadržení vstupu dat po stroboskopu | ||||||
36 | 0x24 | Nanosekundy (1–63) | 0,25 ns (0–0,75) | Minimální doba pro obnovení zápisu (tWR) | ||||||
37 | 0x25 | Nanosekundy (1–63) | 0,25 ns (0–0,75) | Interní zpoždění příkazu pro čtení a čtení (tWTR) | ||||||
38 | 0x26 | Nanosekundy (1–63) | 0,25 ns (0–0,75) | Interní zpoždění čtení pro předplnění příkazu (tRTP) | ||||||
39 | 0x27 | Rezervováno | Vyhrazeno pro „charakteristiky sondy pro analýzu paměti“ | |||||||
40 | 0x28 | — | tRC zlomek ns (0–5): 0, 0.25, 0.33, 0.5, 0.66, 0.75 | tRFC zlomek ns (0–5): 0, 0.25, 0.33, 0.5, 0.66, 0.75 | tRFC + 256 ns | Rozšíření bajtů 41 a 42. | ||||
41 | 0x29 | Nanosekundy (1–255) | Minimální doba aktivní až aktivní / obnovovací (tRC) | |||||||
42 | 0x2a | Nanosekundy (1–255) | Minimální obnovovací doba na aktivní / obnovovací dobu (tRFC) | |||||||
43 | 0x2b | Nanosekundy (0–15) | Desatiny nanosekund (0,0–0,9) | Maximální doba taktu (tCK max.) | ||||||
44 | 0x2c | Stotiny nanosekund (0,01–2,55) | Maximální zkosení, DQS k jakémukoli DQ. (tDQSQ max.) | |||||||
45 | 0x2d | Stotiny nanosekund (0,01–2,55) | Přečíst činitel zkosení údajů o zadržení (tQHS) | |||||||
46 | 0x2e | Mikrosekundy (1–255) | Čas opětovného zapnutí PLL | |||||||
47–61 | 0x2f – 0x3d | Rezervováno | Pro budoucí standardizaci. | |||||||
62 | 0x3e | Hlavní revize (0–9) | Menší revize (0,0–0,9) | Úroveň revize SPD, obvykle 1,0 | ||||||
63 | 0x3f | Kontrolní součet | Součet bajtů 0–62, není negován | |||||||
64–71 | 0x40–47 | Výrobce JEDEC ID | Uložený little-endian, koncové nulové pole | |||||||
72 | 0x48 | Místo výroby modulu | Kód specifický pro dodavatele | |||||||
73–90 | 0x49–0x5a | Číslo dílu modulu | ASCII, s mezerou (omezeno na (, -,), A – Z, a – z, 0–9, mezera) | |||||||
91–92 | 0x5b – 0x5c | Kód revize modulu | Kód specifický pro dodavatele | |||||||
93 | 0x5d | Roky od roku 2000 (0–255) | Datum výroby (YYWW) | |||||||
94 | 0x5e | Týdny (1–52) | ||||||||
95–98 | 0x5f – 0x62 | Sériové číslo modulu | Kód specifický pro dodavatele | |||||||
99–127 | 0x63–0x7f | Údaje specifické pro výrobce | Mohl by být vylepšený profil výkonu |
DDR3 SDRAM
Standard DDR3 SDRAM výrazně přepracovává a zjednodušuje rozložení obsahu SPD. Namísto řady nanosekundových polí kódovaných BCD jsou některé jednotky „časové základny“ specifikovány s vysokou přesností a různé parametry časování jsou kódovány jako násobky této základní jednotky.[8] Dále byla upuštěna praxe zadávání různých časových hodnot v závislosti na latenci CAS; nyní existuje pouze jedna sada časovacích parametrů.
Revize 1.1 umožňuje některé parametry vyjádřit jako hodnotu „střední časové základny“ plus korekci „jemné časové základny“ (se znaménkem, −128 +127). Obecně platí, že střední časová základna je 1/8 ns (125 ps) a jemná časová základna je 1, 2,5 nebo 5 ps. Kvůli kompatibilitě s dřívějšími verzemi, které nemají opravu, je číslo střední časové základny obvykle zaokrouhleno nahoru a oprava je záporná. Hodnoty, které fungují tímto způsobem, jsou:
MTB bajt | Bajt FTB | Hodnota |
---|---|---|
12 | 34 | tCKmin., minimální doba periody |
16 | 35 | tAAmin., minimální doba latence CAS |
18 | 36 | tRCDmin., minimální zpoždění RAS # až CAS # |
20 | 37 | tRPmin., minimální zpoždění nabíjení řádků |
21, 23 | 38 | tRCmin., minimální aktivní až aktivní / zpoždění nabíjení |
Byte | Bit | Poznámky | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
Prosinec | Hex | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0 | 0x00 | Vyloučit seriál z CRC | SPD bajtů celkem (undef / 256) | Použité bajty SPD (undef / 128/176/256) | ||||||
1 | 0x01 | SPD hlavní revize | SPD menší revize | 1.0, 1.1, 1.2 nebo 1.3 | ||||||
2 | 0x02 | Základní typ paměti (11 = DDR3 SDRAM) | Typ čipů RAM | |||||||
3 | 0x03 | Rezervováno | Typ modulu | Typ modulu; např. 2 = Unbuffered DIMM, 3 = SO-DIMM, 11 = LRDIMM | ||||||
4 | 0x04 | — | Bity adresy banky − 3 | log2(bitů na čip) −28 | Nula znamená 8 bank, 256 Mibit. | |||||
5 | 0x05 | — | Bit adresy adresy −12 | Bity adresy sloupce - 9 | ||||||
6 | 0x06 | Rezervováno | 1,25 V | 1,35 V | Ne 1,5 V | Podporovaná napětí modulů. 1,5 V je výchozí. | ||||
7 | 0x07 | — | hodnosti − 1 | log2(I / O bity / čip) -2 | Organizace modulu | |||||
8 | 0x08 | — | ECC bity (001 = 8) | log2(datové bity) -3 | 0x03 pro 64bitový DIMM bez ECC. | |||||
9 | 0x09 | Dividenda, pikosekundy (1–15) | Dělitel, pikosekundy (1–15) | Jemná časová základna, dividenda / dělitel | ||||||
10 | 0x0a | Dividenda, nanosekundy (1–255) | Střední časová základna, dividenda / dělitel; běžně 1/8 | |||||||
11 | 0x0b | Dělitel, nanosekundy (1–255) | ||||||||
12 | 0x0c | Minimální doba cyklu tCKmin | V násobcích MTB | |||||||
13 | 0x0d | Rezervováno | ||||||||
14 | 0x0e | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | Podporované latence CAS (bitmapa) |
15 | 0x0f | — | 18 | 17 | 16 | 15 | 14 | 13 | 12 | |
16 | 0x10 | Minimální doba latence CAS, tAAmin | V násobcích MTB; např. 80/8 ns. | |||||||
17 | 0x11 | Minimální doba pro obnovení zápisu, tWRmin | V násobcích MTB; např. 120/8 ns. | |||||||
18 | 0x12 | Minimální doba zpoždění RAS to CAS, tRCDmin | V násobcích MTB; např. 100/8 ns. | |||||||
19 | 0x13 | Minimální doba aktivního zpoždění mezi řádky, tRRDmin | V násobcích MTB; např. 60/8 ns. | |||||||
20 | 0x14 | Minimální doba předplnění řádku, tRPmin | V násobcích MTB; např. 100/8 ns. | |||||||
21 | 0x15 | tRCmin., bity 11: 8 | tRASmin., bity 11: 8 | Horní 4 bity bajtů 23 a 22 | ||||||
22 | 0x16 | Minimum aktivní do času, tRASmin., bity 7: 0 | V násobcích MTB; např. 280/8 ns. | |||||||
23 | 0x17 | Minimum aktivní na aktivní / obnovení, tRCmin., bity 7: 0 | V násobcích MTB; např. 396/8 ns. | |||||||
24 | 0x18 | Minimální zpoždění obnovení obnovy, tRFCmin., bity 7: 0 | V násobcích MTB; např. 1280/8 ns. | |||||||
25 | 0x19 | Minimální zpoždění obnovení obnovy, tRFCmin., bity 15: 8 | ||||||||
26 | 0x1a | Minimální interní zpoždění zápisu a čtení, tWTRmin | V násobcích MTB; např. 60/8 ns. | |||||||
27 | 0x1b | Minimální interní čtení pro zpoždění nabíjení, tRTPmin | V násobcích MTB; např. 60/8 ns. | |||||||
28 | 0x1c | Rezervováno | tFAWmin., bity 11: 8 | V násobcích MTB; např. 240/8 ns. | ||||||
29 | 0x1d | Minimálně čtyři zpoždění aktivace okna tFAWmin., bity 7: 0 | ||||||||
30 | 0x1e | DLL-vypnuto | — | RZQ / 7 | RZQ / 6 | Volitelné funkce SDRAM podporují bitmapu | ||||
31 | 0x1f | PASR | — | ODTS | ASR | ETR 1 × | ETR (95 ° C) | SDRAM termální a obnovovací možnosti | ||
32 | 0x20 | Současnost, dárek | Přesnost (TBD; aktuálně 0 = nedefinováno) | Je přítomen teplotní senzor DIMM? | ||||||
33 | 0x21 | Nonstd. | Počet zemřít | — | Zatížení signálu | Nestandardní typ zařízení SDRAM (např. Skládaná matrice) | ||||
34 | 0x22 | tCKminimální korekce (novinka pro 1.1) | Podepsaný násobek FTB, přidaný do bajtu 12 | |||||||
35 | 0x23 | tAAminimální korekce (novinka pro 1.1) | Podepsaný násobek FTB, přidaný do bajtu 16 | |||||||
36 | 0x24 | tRCDminimální korekce (novinka pro 1.1) | Podepsaný násobek FTB, přidaný do bajtu 18 | |||||||
37 | 0x25 | tRPminimální korekce (novinka pro 1.1) | Podepsaný násobek FTB, přidaný do bajtu 20 | |||||||
38 | 0x26 | tRCminimální korekce (novinka pro 1.1) | Podepsaný násobek FTB, přidaný do bajtu 23 | |||||||
39–40 | 0x27–0x28 | Rezervováno | Pro budoucí standardizaci. | |||||||
41 | 0x29 | Specifické pro dodavatele | tMAW | Maximální počet aktivací (MAC) (nevyzkoušeno / 700k / 600k /.../ 200k / vyhrazeno / ∞) | Pro řadové kladivo zmírnění | |||||
42–59 | 0x2a – 0x3b | Rezervováno | Pro budoucí standardizaci. | |||||||
60 | 0x3c | — | Výška modulu, mm (1–31,> 45) | Jmenovitá výška modulu | ||||||
61 | 0x3d | Tloušťka zad, mm (1–16) | Tloušťka přední strany, mm (1–16) | Tloušťka modulu, hodnota = strop (mm) - 1 | ||||||
62 | 0x3e | Design | Revize | Číslo návrhu JEDEC | Použitý referenční design JEDEC (11111 = žádný) | |||||
63–116 | 0x3f – 0x74 | Sekce specifická pro modul | Liší se mezi registrovaným / bez vyrovnávací paměti | |||||||
117 | 0x75 | ID výrobce modulu, lsbyte | Přiřazeno JEP-106 | |||||||
118 | 0x76 | ID výrobce modulu, msbyte | ||||||||
119 | 0x77 | Místo výroby modulu | Kód specifický pro dodavatele | |||||||
120 | 0x78 | Desítky let | Let | Rok výroby (BCD) | ||||||
121 | 0x79 | Desítky týdnů | Týdny | Výrobní týden (BCD) | ||||||
122–125 | 0x7a – 0x7d | Sériové číslo modulu | Kód specifický pro dodavatele | |||||||
126–127 | 0x7e – 0x7f | SPD CRC-16 | Zahrnuje bajty 0–116 nebo 0–125; viz byte 0 bit 7 | |||||||
128–145 | 0x80–0x91 | Číslo dílu modulu | Podmnožina ASCII, vyplněná mezerou | |||||||
146–147 | 0x92–0x93 | Kód revize modulu | Definováno dodavatelem | |||||||
148–149 | 0x94–0x95 | ID výrobce DRAM | Na rozdíl od výrobce modulu | |||||||
150–175 | 0x96–0xAF | Údaje specifické pro výrobce | ||||||||
176–255 | 0xB0–0xFF | K dispozici pro použití zákazníkem |
Paměťovou kapacitu modulu lze vypočítat z bajtů 4, 7 a 8. Šířka modulu (bajt 8) dělená počtem bitů na čip (bajt 7) udává počet čipů na hodnost. To pak může být vynásobeno kapacitou na čip (byte 4) a počtem řad čipů na modulu (obvykle 1 nebo 2, z bytu 7).
DDR4 SDRAM
Standard DDR4 SDRAM „Annex L“ pro SPD mění použitý modul EEPROM. Místo starých 256bitových EEPROM kompatibilních s AT24C02 nyní JEDEC definuje nový nestandardní typ EE1004 se dvěma stránkami na úrovni SMBus, každá s 256 bajty. Nová paměť stále používá staré adresy 0x50-0x57, ale dvě další adresy na 0x36 (SPA0) a 0x37 (SPA1) se nyní používají k přijímání příkazů k výběru aktuálně aktivní stránky pro sběrnici, což je forma přepínání bank.[11] Interně je každá logická stránka dále rozdělena na dva fyzické bloky po 128 bajtech, celkem tedy čtyři bloky a 512 bajtů.[12] Další sémantika pro „speciální“ rozsahy adres zůstává stejná, ačkoli ochrana proti zápisu je nyní adresována bloky a ke změně jejího stavu je nyní nutné vysoké napětí na SA0.[13]
Příloha L definuje několik různých rozvržení, která lze zapojit do šablony 512 bajtů (z toho je definováno maximálně 320 bajtů), v závislosti na typu paměťového modulu. Bitové definice jsou podobné DDR3.[12]
Byte | Bit | Poznámky | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
Prosinec | Hex | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0 | 0x00 | Použité bajty SPD | ||||||||
1 | 0x01 | SPD revize č | Typicky 0x10, 0x11, 0x12 | |||||||
2 | 0x02 | Základní typ paměti (12 = DDR4 SDRAM) | Typ čipů RAM | |||||||
3 | 0x03 | Rezervováno | Typ modulu | Typ modulu; např. 2 = Unbuffered DIMM, 3 = SO-DIMM, 11 = LRDIMM | ||||||
4 | 0x04 | Bity bankovní skupiny | Bity adresy banky − 2 | Celková kapacita SDRAM na kostku v Mb | Nula znamená žádné bankovní skupiny, 4 banky, 256 Mibit. | |||||
5 | 0x05 | Rezervováno | Bit adresy adresy −12 | Bity adresy sloupce - 9 | ||||||
6 | 0x06 | Primární typ balíčku SDRAM | Počet zemřít | Rezervováno | Načítání signálu | |||||
7 | 0x07 | Rezervováno | Maximální aktivační okno (tMAW) | Maximální počet aktivací (MAC) | SDRAM volitelné funkce | |||||
8 | 0x08 | Rezervováno | SDRAM termální a obnovovací možnosti | |||||||
9 | 0x09 | Oprava po balíčku (PPR) | Soft PPR | Rezervováno | Další volitelné funkce SDRAM | |||||
10 | 0x0a | Typ balíčku SDRAM | Počet zemřít − 1 | Poměr hustoty DRAM | Načítání signálu | Typ sekundárního balíčku SDRAM | ||||
11 | 0x0b | Rezervováno | Vlajka Endurant | Funkční vlajka | Jmenovité napětí modulu, VDD | |||||
12 | 0x0c | Rezervováno | Rank mix | Hodnocení balíčků na DIMM − 1 | Šířka zařízení SDRAM | Organizace modulu | ||||
13 | 0x0d | Rezervováno | Prodloužení šířky sběrnice | Šířka primární sběrnice | Šířka paměťové sběrnice modulu v bitech | |||||
14 | 0x0e | Tepelný senzor | Rezervováno | Modul tepelného senzoru | ||||||
15 | 0x0f | Rezervováno | Typ rozšířeného základního modulu | |||||||
16 | 0x10 | Rezervováno | ||||||||
17 | 0x11 | Rezervováno | Střední časová základna (MTB) | Fine timebase (FTB) | Měřeno v ps. | |||||
18 | 0x12 | Minimální doba cyklu SDRAM, tCKAVGmin | V násobcích MTB; např. 100/8 ns. | |||||||
19 | 0x13 | Maximální doba cyklu SDRAM, tCKAVGmax | V násobcích MTB; např. 60/8 ns. | |||||||
20 | 0x14 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | Latence CAS podporovala bitovou masku |
21 | 0x15 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | Latence CAS podporovala bitovou masku |
22 | 0x16 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | Latence CAS podporovala bitovou masku |
23 | 0x17 | Nízký rozsah CL | Rezervováno | 36 | 35 | 34 | 33 | 32 | 31 | Latence CAS podporovala bitovou masku |
24 | 0x18 | Minimální doba latence CAS, tAAmin | V násobcích MTB; např. 1280/8 ns. | |||||||
25 | 0x19 | Minimální doba zpoždění RAS to CAS, tRFCmin | V násobcích MTB; např. 60/8 ns. | |||||||
26 | 0x1a | Minimální doba zpoždění doplňování řádků, tRPmin | V násobcích MTB; např. 60/8 ns. | |||||||
27 | 0x1b | Horní kousky pro tRASmin a tRCmin | ||||||||
28 | 0x1c | Minimální doba zpoždění aktivního předplnění, tRASmin. nejméně významný bajt | V násobcích MTB | |||||||
29 | 0x1d | Minimální doba zpoždění aktivní až aktivní / obnovení, tRCmin. nejméně významný bajt | V násobcích MTB | |||||||
30 | 0x1e | Minimální doba zpoždění obnovení obnovy, tRFC1min. nejméně významný bajt | V násobcích MTB | |||||||
31 | 0x1f | Minimální doba zpoždění obnovení obnovy, tRFC1min nejvýznamnější bajt | V násobcích MTB | |||||||
32 | 0x20 | Minimální doba zpoždění obnovení obnovy, tRFC2min. nejméně významný bajt | V násobcích MTB | |||||||
33 | 0x21 | Minimální doba zpoždění obnovení obnovy, tRFC2min nejvýznamnější bajt | V násobcích MTB | |||||||
34 | 0x22 | Minimální doba zpoždění obnovení obnovy, tRFC4min. nejméně významný bajt | V násobcích MTB | |||||||
35 | 0x23 | Minimální doba zpoždění obnovení obnovy, tRFC4min nejvýznamnější bajt | V násobcích MTB | |||||||
36 | 0x24 | Rezervováno | tFAWmin. nejvýznamnější okusování | |||||||
37 | 0x25 | Minimálně čtyři doby zpoždění aktivace okna, tFAWmin. nejméně významný bajt | V násobcích MTB | |||||||
38 | 0x26 | Minimální aktivace pro aktivaci doby zpoždění, tRRD_Smin., jiná skupina bank | V násobcích MTB | |||||||
39 | 0x27 | Minimální aktivace pro aktivaci doby zpoždění, tRRD_Smin., stejná skupina bank | V násobcích MTB | |||||||
40 | 0x28 | Minimální doba zpoždění CAS na CAS, tCCD_Lmin., stejná skupina bank | V násobcích MTB | |||||||
41 | 0x29 | Horní okusování pro tWRmin | ||||||||
42 | 0x2a | Minimální doba pro obnovení zápisu, tWRmin | V násobcích MTB | |||||||
43 | 0x2b | Horní kousky pro tWTRmin | ||||||||
44 | 0x2c | Minimální doba zápisu a čtení, tWTR_Smin., jiná skupina bank | V násobcích MTB | |||||||
45 | 0x2d | Minimální doba zápisu a čtení, tWTR_Lmin., stejná skupina bank | V násobcích MTB | |||||||
49–59 | 0x2e – 0x3b | Rezervováno | Sekce základní konfigurace | |||||||
60-77 | 0x3c-0x4d | Mapování bitů konektoru na SDRAM | ||||||||
78–116 | 0x4e – 0x74 | Rezervováno | Sekce základní konfigurace | |||||||
117 | 0x75 | Jemný offset pro minimální dobu zpoždění CAS na CAS, tCCD_Lmin., stejná banka | Dvojitý multiplikátor doplňků pro jednotky FTB | |||||||
118 | 0x76 | Jemné odsazení pro minimální aktivaci pro aktivaci doby zpoždění, tRRD_Lmin., stejná skupina bank | Dvojitý multiplikátor doplňků pro jednotky FTB | |||||||
119 | 0x77 | Jemné odsazení pro minimální aktivaci pro aktivaci doby zpoždění, tRRD_Smin., jiná skupina bank | Dvojitý multiplikátor doplňků pro jednotky FTB | |||||||
120 | 0x78 | Jemné odsazení pro minimální dobu zpoždění aktivní / aktivní / obnovovací, tRCmin | Dvojitý multiplikátor doplňků pro jednotky FTB | |||||||
121 | 0x79 | Jemné odsazení pro minimální dobu zpoždění doplňování řádků, tRPmin | Dvojitý multiplikátor doplňků pro jednotky FTB | |||||||
122 | 0x7a | Jemné odsazení pro minimální dobu zpoždění RAS a CAS, tRCDmin | Dvojitý multiplikátor doplňků pro jednotky FTB | |||||||
123 | 0x7b | Jemný offset pro minimální dobu latence CAS, tAAmin | Dvojitý multiplikátor doplňků pro jednotky FTB | |||||||
124 | 0x7c | Jemné posunutí pro maximální dobu cyklu SDRAM, tCKAVGmax | Dvojitý multiplikátor doplňků pro jednotky FTB | |||||||
125 | 0x7d | Jemný offset pro minimální dobu cyklu SDRAM, tCKAVGmin | Dvojitý multiplikátor doplňků pro jednotky FTB | |||||||
126 | 0x7e | Cyklický rendundanční kód (CRC) pro sekci základní konfigurace, nejméně významný bajt | Algoritmus CRC16 | |||||||
127 | 0x7f | Cyklický rendundanční kód (CRC) pro sekci základní konfigurace, nejvýznamnější bajt | Algoritmus CRC16 | |||||||
128–191 | 0x80–0xbf | Sekce specifická pro modul | Závisí na rodině paměťových modulů (UDIMM, RDIMM, LRDIMM) | |||||||
192–255 | 0xc0–0xff | Specifické parametry architektury hybridní paměti | ||||||||
256–319 | 0x100–0x13f | Rozšířený blok funkčních parametrů | ||||||||
320-321 | 0x140-0x141 | Výrobce modulu | Viz JEP-106 | |||||||
322 | 0x142 | Místo výroby modulu | Výrobcem definovaný kód výrobního místa | |||||||
323 | 0x143 | Rok výroby modulu | Zastoupeno v binárním kódovaném desítkovém čísle (BCD) | |||||||
324 | 0x144 | Týden výroby modulu | Zastoupeno v binárním kódovaném desítkovém čísle (BCD) | |||||||
325-328 | 0x145-0x148 | Sériové číslo modulu | Formát definovaný výrobcem pro jedinečné sériové číslo napříč čísly dílů | |||||||
329-348 | 0x149-0x15c | Číslo dílu modulu | Číslo dílu ASCII, nepoužité číslice by měly být nastaveny na 0x20 | |||||||
349 | 0x15d | Kód revize modulu | Kód revize definovaný výrobcem | |||||||
350-351 | 0x15e-0x15f | Identifikační kód výrobce DRAM | Viz JEP-106 | |||||||
352 | 0x160 | Krokování DRAM | Krokování definované výrobcem nebo 0xFF, pokud se nepoužívá | |||||||
353–381 | 0x161–0x17d | Specifické údaje výrobce | ||||||||
382–383 | 0x17e-0x17f | Rezervováno |
Rozšíření
Standard JEDEC specifikuje pouze některé bajty SPD. Skutečně kritická data se vejdou do prvních 64 bajtů,[6][7][15][16][17] zatímco zbývající část je vyčleněna na identifikaci výrobce. Obecně je však k dispozici 256 bajtová EEPROM. Zbývající prostor byl již několikrát využit.
Profily vylepšeného výkonu (EPP)
Paměť obecně přichází s doporučeními konzervativního načasování v SPD ROM, aby byla zajištěna základní funkčnost všech systémů. Nadšenci často tráví značný čas manuálním nastavováním časování paměti pro vyšší rychlost.
Profily vylepšeného výkonu je rozšíření SPD vyvinuté společností Nvidia a Korzár, který obsahuje další informace pro výkonnější provoz systému DDR2 SDRAM, včetně napájecího napětí a informací o časování příkazů, které nejsou zahrnuty ve specifikaci JEDEC SPD. Informace EPP jsou uloženy ve stejné EEPROM, ale v bajtech 99-127, které nejsou využívány standardními DDR2 SPD.[18]
Bajty | Velikost | Plné profily | Zkrácené profily |
---|---|---|---|
99–103 | 5 | Záhlaví EPP | |
104–109 | 6 | Profil FP1 | Profil AP1 |
110–115 | 6 | Profil AP2 | |
116–121 | 6 | Profil FP2 | Profil AP3 |
122–127 | 6 | Profil AP4 |
Parametry jsou speciálně navrženy tak, aby vyhovovaly řadiči paměti na nForce 5, nForce 6 a nForce 7 čipové sady. Nvidia podporuje podporu EPP v EU BIOS pro své špičkové čipové sady základní desky. Účelem je poskytnout „jedno kliknutí přetaktování „získat lepší výkon s minimálním úsilím.
Název Nvidia pro paměti EPP, který byl kvalifikován pro výkon a stabilitu, je „paměť připravená pro SLI“.[19] Termín „SLI-ready-memory“ způsobil určité nejasnosti, protože nemá nic společného SLI video. Jeden může používat paměť EPP / SLI s jednou grafickou kartou (dokonce i jinou kartou než Nvidia) a jeden může spustit nastavení videa SLI s více kartami bez paměti EPP / SLI.
Rozšířená verze, EPP 2.0, podporuje také paměť DDR3.[20]
Extreme Memory Profile (XMP)
Podobnost, Intel -vyvinuté rozšíření JEDEC SPD bylo vyvinuto pro DDR3 SDRAM DIMM, později použité v DDR4 taky. XMP používá k kódování časování paměti s vyšším výkonem bajty 176–255, které JEDEC nepřidělil.[21]
Později AMD vyvinulo AMP, ekvivalentní technologii s XMP, pro použití v řadě paměťových modulů „Radeon Memory“ optimalizovaných pro použití na platformách AMD.[22][23] Vývojáři základních desek dále implementovali své vlastní technologie, aby umožnily jejich základním deskám založeným na AMD číst profily XMP: MSI nabízí A-XMP,[24] ASUS má DOCP (Dynamic Over Clock Profiles) a Gigabyte má EOCP (Extended Over Clock Profiles).[25]
DDR3 bajty | Velikost | Použití |
---|---|---|
176–184 | 10 | Záhlaví XMP |
185–219 | 33 | XMP profil 1 (nastavení „nadšenec“) |
220–254 | 36 | XMP profil 2 („extrémní“ nastavení) |
Záhlaví obsahuje následující data. Nejdůležitější je, že obsahuje hodnotu „medium timebase“ MTB jako racionální počet nanosekund (běžné hodnoty jsou 1/8, 1/12 a 1/16 ns). Mnoho dalších dalších hodnot časování je vyjádřeno jako celočíselný počet jednotek MTB.
V záhlaví je také zahrnut počet modulů DIMM na paměťový kanál, které profil podporuje; včetně více modulů DIMM nemusí fungovat dobře.
DDR3 Byte | Bity | Použití |
---|---|---|
176 | 7:0 | XMP magické číslo bajt 1 0x0C |
177 | 7:0 | Bajt magického čísla XMP 2 0x4A |
178 | 0 | Profil 1 povolen (pokud je 0, deaktivován) |
1 | Profil 2 povolen | |
3:2 | Profily 1 DIMM na kanál (1–4 kódované jako 0–3) | |
5:4 | Profil 2 DIMM na kanál | |
7:6 | Rezervováno | |
179 | 3:0 | Číslo vedlejší verze XMP (x.0 nebo x.1) |
7:4 | Číslo hlavní verze XMP (0.x nebo 1.x) | |
180 | 7:0 | Střední dividenda pro profil 1 |
181 | 7:0 | Střední dělitel časové základny pro profil 1 (MTB = dividenda / dělitel ns) |
182 | 7:0 | Dividenda se střední časovou základnou pro profil 2 (např. 8) |
183 | 7:0 | Střední dělitel časové základny pro profil 2 (např. 1, s MTB = 1/8 ns) |
184 | 7:0 | Rezervováno |
DDR3 Byte 1 | DDR3 Byte 2 | Bity | Použití |
---|---|---|---|
185 | 220 | 0 | Napětí modulu Vdd dvacáté (0,00 nebo 0,05) |
4:1 | Napětí modulu Vdd desetiny (0,0–0,9) | ||
6:5 | Napěťové jednotky modulu Vdd (0–2) | ||
7 | Rezervováno | ||
186 | 221 | 7:0 | Minimální doba hodin SDRAM tCKmin (jednotky MTB) |
187 | 222 | 7:0 | Minimální doba latence CAS tAAmin (jednotky MTB) |
188 | 223 | 7:0 | Podporovány latence CAS (bitmapové, 4–11 kódované jako bity 0–7) |
189 | 224 | 6:0 | Podporovány latence CAS (bitmapa, 12–18 kódováno jako bity 0–6) |
7 | Rezervováno | ||
190 | 225 | 7:0 | Minimální doba latence zápisu CAS tCWLmin (jednotky MTB) |
191 | 226 | 7:0 | Minimální doba zpoždění doplňování řádků tRPmin (jednotky MTB) |
192 | 227 | 7:0 | Minimální doba zpoždění RAS to CAS tRCDmin (jednotky MTB) |
193 | 228 | 7:0 | Minimální doba obnovy zápisu tWRmin (jednotky MTB) |
194 | 229 | 3:0 | tRASmin. horní okusovat (bity 11: 8) |
7:4 | tRCmin. horní okusování (bity 11: 8) | ||
195 | 230 | 7:0 | Minimum aktivní do doby zpoždění nabíjení tRASmin bitů 7: 0 (jednotky MTB) |
196 | 231 | 7:0 | Minimální doba zpoždění aktivní až aktivní / obnovovací tRCmin bitů 7: 0 (jednotky MTB) |
197 | 232 | 7:0 | Maximální průměrný interval aktualizace tREFI lsbyte (jednotky MTB) |
198 | 233 | 7:0 | Maximální průměrný interval aktualizace tREFI msbyte (jednotky MTB) |
199 | 234 | 7:0 | Minimální doba zpoždění obnovy tRFCmin lsbyte (jednotky MTB) |
200 | 235 | 7:0 | Minimální doba zpoždění obnovy tRFCmin msbyte (jednotky MTB) |
201 | 236 | 7:0 | Minimální interní čtení pro dobití zpoždění příkazu tRTPmin (jednotky MTB) |
202 | 237 | 7:0 | Minimální doba aktivní řady na aktivní zpoždění řádku tRRDmin (jednotky MTB) |
203 | 238 | 3:0 | tFAWmin. horní okusování (bity 11: 8) |
7:4 | Rezervováno | ||
204 | 239 | 7:0 | Minimálně čtyři doby zpoždění aktivace okna tFAWmin bitů 7: 0 (jednotky MTB) |
205 | 240 | 7:0 | Minimální interní doba zpoždění zápisu a čtení příkazu tWTRmin (jednotky MTB) |
206 | 241 | 2:0 | Write to read command turnaround time adjustment (0–7 clock cycles) |
3 | Write to read command turnaround adjustment sign (0=pull-in, 1=push-out) | ||
6:4 | Read to write command turnaround time adjustment (0–7 clock cycles) | ||
7 | Read to write command turnaround adjustment sign (0=pull-in, 1=push-out) | ||
207 | 242 | 2:0 | Back-to-back command turnaround time adjustment (0–7 clock cycles) |
3 | Back-to-back turnaround adjustment sign (0=pull-in, 1=push-out) | ||
7:4 | Rezervováno | ||
208 | 243 | 7:0 | System CMD rate mode. 0=JTAG default, otherwise in peculiar units of MTB × tCK/ns. Např. if MTB is 1/8 ns, then this is in units of 1/8 clock cycle. |
209 | 244 | 7:0 | SDRAM auto self refresh performance. Standard version 1.1 says documentation is Bude upřesněno. |
210–218 | 245–253 | 7:0 | Rezervováno |
219 | 254 | 7:0 | Rezervováno, vendor-specific personality code. |
All data above are for DDR3 (XMP 1.1); DDR4 specs are not yet available.
Vendor-specific memory
A common misuse is to write information to certain memory regions to bind vendor-specific memory modules to a specific system. Technologická řešení Fujitsu is known to do this. Adding different memory module to the system usually results in a refusal or other counter-measures (like pressing F1 on every boot).
02 0E 00 01-00 00 00 EF-02 03 19 4D-BC 47 C3 46 ...........M.G.F53 43 00 04-EF 4F 8D 1F-00 01 70 00-01 03 C1 CF SC...O....p.....
This is the output of a 512 MB memory module from Micron Technologies, branded for Fujitsu-Siemens Computers, note the "FSC" string.The system BIOS rejects memory modules that don't have this information starting at offset 128h.
Some Packard Bell AMD laptops also use this method, in this case the symptoms can vary but it can lead to a flashing cursor rather than a beep pattern. Incidentally this can also be a symptom of BIOS corruption as well.[27] Though upgrading a 2GB to a 4GB can also lead to issues.
Reading and writing SPD information
Memory module manufacturers write the SPD information to the EEPROM on the module. Základní deska BIOSes read the SPD information to configure the memory controller. There exist several programs that are able to read and modify SPD information on most, but not all motherboard chipsets.
- dmidecode program that can decode information about memory (and other things) and runs on Linux, FreeBSD, NetBSD, OpenBSD, BeOS, Cygwin a Solaris. dmidecode does not access SPD information directly; it reports the BIOS data about the memory.[28] This information may be limited or incorrect.
- Na Linux systémy, uživatelský prostor program decode-dimms provided with i2c-tools decodes and prints information on any memory with SPD information in the computer.[29] To vyžaduje SMBus controller support in the kernel, the EEPROM kernel driver, and also that the SPD EEPROMs are connected to the SMBus. On older Linux distributions, decode-dimms.pl was available as part of lm sensors.
- OpenBSD has included a driver (spdmem(4) ) since version 4.3 to provide information about memory modules. The driver was ported from NetBSD, where it is available since release 5.0.
- Coreboot reads and uses SPD information to initialize all řadiče paměti in a computer with timing, size and other properties.
- Okna systems use programs like HWiNFO32,[30] CPU-Z a Speccy, which can read and display DRAM module information from SPD.
Chipset-independent reading and writing of SPD information is done by accessing the memory's EEPROM directly with eeprom programmer hardware and software.
A not so common use for old laptops is as generic SMBus readers, as the internal EEPROM on the module can be disabled once the BIOS has read it so the bus is essentially available for use. The method used is to pull low the A0,A1 lines so the internal memory shuts down, allowing the external device to access the SMBus. Once this is done, a custom Linux build or DOS application can then access the external device. A common use is recovering data from LCD panel memory chips to retrofit a generic panel into a proprietary laptop.On some chips it is also a good idea to separate write protect lines so that the onboard chips do not get wiped during reprogramming.A related technique is rewriting the chip on webcams often included with many laptops as the bus speed is substantially higher and can even be modified so that 25x compatible chips can be read back for later cloning of the uEFI in the event of a chip failure.
This unfortunately only works on DDR3 and below, as DDR4 uses different security and can usually only be read. Its possible to use a tool like SPDTool or similar and replace the chip with one that has its WP line free so it can be altered in situ.On some chipsets the message "Incompatible SMBus driver?" may be seen so read is also prevented.
RGB LED control
Newer DIMMs[31] sometimes support RGB LEDs that are controlled by proprietary SMBus commands. This allows LED control without additional connectors and cables.
On older equipment
Some older equipment require the use of SIMM s paralelní presence detect (more commonly called simply presence detect or PD). Some of this equipment uses non-standard PD coding, IBM počítače a Hewlett Packard LaserJet and other printers in particular.
Viz také
Reference
- ^ Thomas P. Koenig; Nathan John (3 February 1997), "Serial Presence Detection poised for limelight", Elektronické zprávy, 43 (2153)
- ^ JEDEC Standard 21-C section 4.1.4 "Definition of the TSE2002av Serial Presence Detect (SPD) EEPROM with Temperature Sensor (TS) for Memory Module Applications"
- ^ "TN-04-42: Memory Module Serial Presence-Detect Write Protection" (PDF). Mikron.
- ^ Application note INN-8668-APN3: SDRAM SPD Data Standards, memorytesters.com
- ^ PC SDRAM Serial Presence Detect (SPD) Specification (PDF), 1.2A, December 1997, p. 28
- ^ A b JEDEC Standard 21-C section 4.1.2.4 "SPDs for DDR SDRAM"
- ^ A b JEDEC Standard 21-C section 4.1.2.10 "Specific SPDs for DDR2 SDRAM"
- ^ "Understanding DDR3 Serial Presence Detect (SPD) Table".
- ^ JESD21-C Annex K: Serial Presence Detect for DDR3 SDRAM Modules, Release 4, SPD Revision 1.1
- ^ JESD21-C Annex K: Serial Presence Detect for DDR3 SDRAM Modules, Release 6, SPD Revision 1.3
- ^ Delvare, Jean. "[PATCH] eeprom: New ee1004 driver for DDR4 memory". LKML. Citováno 7. listopadu 2019.
- ^ A b JEDEC. "Annex L: Serial Presence Detect (SPD) for DDR4 SDRAM Modules" (PDF).
- ^ JEDEC. "EE1004 and TSE2004 Device Specification (Draft)" (PDF). Citováno 7. listopadu 2019.
- ^ JESD21-C Annex L: Serial Presence Detect for DDR4 SDRAM Modules, Release 5
- ^ JEDEC Standard 21-C section 4.1.2.11 "Serial Presence Detect (SPD) for DDR3 SDRAM Modules"
- ^ JEDEC Standard 21-C section 4.1.2 "SERIAL PRESENCE DETECT STANDARD, General Standard"
- ^ JEDEC Standard 21-C section 4.1.2.5 "Specific PDs for Synchronous DRAM (SDRAM)"
- ^ DDR2 UDIMM Enhanced Performance Profiles Design Specification (PDF), Nvidia, 12 May 2006, vyvoláno 5. května 2009
- ^ http://www.nvidia.com/docs/CP/45121/sli_memory.pdf
- ^ Enhanced Performance Profiles 2.0 (pp. 2–3)
- ^ "Intel Support". Intel.
- ^ Advanced Micro Devices, Inc (2012). "Memory Profile Technology - AMP up your RAM". Citováno 8. ledna 2018.
- ^ Ryan Martin (23 July 2012). "AMD introduces its XMP-equivalent AMP - eTeknix". Citováno 8. ledna 2018.
- ^ Micro-Star Int'l Co., Ltd (21 March 2017). "MSI is worlds first brand to enable A-XMP on Ryzen for best DDR4 performance, launches new models". Citováno 8. ledna 2018.
- ^ Tradesman1 (26 August 2016). "What does XMP, DOCP, EOCP mean - Solved - Memory". Citováno 8. ledna 2018.
- ^ A b C Intel Extreme Memory Profile (XMP) Specification, Rev 1.1 (PDF), October 2007, archived from originál (PDF) dne 6. března 2012, vyvoláno 25. května 2010
- ^ "Packard Bell LJ65 RAM upgrade". Tom's Hardware Forum.
- ^ "dmidecode: What's it good for?". Linux.com | The source for Linux information. 29. listopadu 2004.
- ^ "decode-dimms(1)". Ubuntu Manpage. Citováno 9. listopadu 2019.
- ^ "HWiNFO - Professional System Information and Diagnostics". HWiNFO.
- ^ "VENGEANCE RGB PRO series DDR4 memory | Desktop Memory | CORSAIR". www.corsair.com. Citováno 26. listopadu 2020.
externí odkazy
- Serial Presence Detect Standard, General Standard
- SPD Rev1.0 for DDR SDRAM
- SPD Rev1.2 for DDR2 SDRAM
- SPD Rev1.3 for DDR2 SDRAM
- SPECIALITY DDR2-1066 SDRAM
- Linux package i2c-tools
- Instructions on how to use lm-sensors or i2c-tools to read the data
- Memory Performance: 16GB DDR3-1333 to DDR3-2400 on Ivy Bridge IGP with G.Skill – explanation of various timing values