Thứ Năm, 14 tháng 2, 2019

Textual description of firstImageUrl

Serielle Präsenzerkennung - Wikipedia


In der Datenverarbeitung ist Serielle Präsenzerkennung ( SPD ) eine standardisierte Methode, um automatisch auf Informationen über ein Speichermodul zuzugreifen. Frühere 72-Pin-SIMMs enthielten fünf Pins, die fünf Bits von (PPD) -Daten (19459006) zur Verfügung stellten, aber der 168-Pin-DIMM-Standard wurde in eine serielle Präsenzerkennung geändert, um viel mehr Informationen zu codieren. [1]

When Wenn ein normaler moderner Computer eingeschaltet ist, wird zunächst ein Power-On-Self-Test (POST) durchgeführt. Seit etwa Mitte der 1990er Jahre umfasst dieser Prozess die automatische Konfiguration der derzeit vorhandenen Hardware. SPD ist eine Speicherhardware-Funktion, mit der der Computer wissen kann, welcher Speicher vorhanden ist und welche Zeitpunkte für den Zugriff auf den Speicher verwendet werden.

Einige Computer passen sich vollständig automatisch an Hardwareänderungen an. In den meisten Fällen gibt es ein spezielles optionales Verfahren für den Zugriff auf die BIOS-Parameter, um Einstellungen anzuzeigen und möglicherweise Änderungen daran vorzunehmen. Sie können möglicherweise steuern, wie der Computer die Speicher-SPD-Daten verwendet, um Einstellungen zu wählen, Speicherzeiten gezielt zu ändern oder die SPD-Daten möglicherweise vollständig zu überschreiben (siehe Übertakten).




Gespeicherte Informationen [ edit ]


Für ein Speichermodul zur Unterstützung von SPD erfordern die JEDEC-Standards, dass bestimmte Parameter in den unteren 128 Bytes eines EEPROM liegen auf dem Speichermodul. Diese Bytes enthalten Timing-Parameter, Hersteller, Seriennummer und andere nützliche Informationen zum Modul. Geräte, die den Speicher nutzen, ermitteln automatisch die Schlüsselparameter des Moduls, indem sie diese Informationen lesen. Beispielsweise können die SPD-Daten auf einem SDRAM-Modul Informationen über die CAS-Latenzzeit enthalten, sodass das System diese ohne Eingreifen des Benutzers korrekt einstellen kann.

Der Zugriff auf das SPD-EEPROM erfolgt mit SMBus, einer Variante des I²C-Protokolls. Dies reduziert die Anzahl der Kommunikations-Pins auf dem Modul auf nur zwei: ein Taktsignal und ein Datensignal. Das EEPROM hat Masse-Pins mit dem RAM, hat einen eigenen Power-Pin und verfügt über drei zusätzliche Pins (SA0–2) zur Identifizierung des Steckplatzes, mit denen dem EEPROM eine eindeutige Adresse im Bereich 0x50–0x57 zugewiesen wird. Die Kommunikationsleitungen können nicht nur von acht Speichermodulen gemeinsam genutzt werden, sondern auf Motherboards wird derselbe SMBus häufig für Systemzustandsüberwachungsaufgaben wie das Lesen von Spannungsversorgungen, CPU-Temperaturen und Lüftergeschwindigkeiten verwendet.

Vor der SPD wurden Speicherchips mit paralleler Präsenzerkennung (PPD) gesichtet. PPD verwendete einen separaten Pin für jedes Informationsbit, was bedeutete, dass aufgrund des begrenzten Platzes für Pins nur die Geschwindigkeit und Dichte des Speichermoduls gespeichert werden konnte.

(SPD-EEPROMs reagieren auch auf die I²C-Adressen 0x30-0x37, wenn sie nicht schreibgeschützt sind, und eine Erweiterung verwendet die Adressen 0x18-0x1F, um auf einen optionalen integrierten Temperatursensor zuzugreifen. [2])


SDR SDRAM [ edit ]


Speichergerät auf einem SDRAM-Modul, enthaltend SPD Daten (rot eingekreist)

Die erste SPD-Spezifikation wurde von veröffentlicht JEDEC und von Intel im Rahmen seiner PC100-Speicherspezifikation verschärft. [3] Die meisten Werte werden in binär codierter Dezimalform angegeben. Das höchstwertige Halbbyte kann Werte zwischen 10 und 15 enthalten und reicht in manchen Fällen auch höher aus. In solchen Fällen werden stattdessen die Kodierungen für 1, 2 und 3 zum Kodieren von 16, 17 und 18 verwendet. Ein höchstwertiges Halbbyte von 0 ist reserviert, um "undefiniert" zu repräsentieren.

Das SPD-ROM definiert bis zu drei DRAM-Timings für drei durch gesetzte Bits in Byte 18 festgelegte CAS-Latenzzeiten. Zuerst die höchste CAS-Latenzzeit (schnellster Takt), dann zwei niedrigere CAS-Latenzzeiten mit fortschreitend niedrigeren Taktgeschwindigkeiten.


















































































































































































































































SPD-Inhalt für SDR SDRAM [4]
Byte
Bit
Hinweise
(dec.) (Hex.)
7 6 5 4 3 2 1 0
0 0x00 Anzahl der vorhandenen Bytes Typischerweise 128
1 0x01 log 2 (Größe des SPD-EEPROM) Typisch 8 (256 Bytes)
2 0x02 Grundspeichertyp (4: SPD-SDRAM)
3 0x03 Reihenbits der Bank 2 (0–15) Reihenbits der Bank 1 (1–15) Bank 2 ist 0, wenn sie mit Bank 1 identisch ist
4 0x04 Spalten-Adressbits der Bank 2 (0–15) Spalten-Adressbits der Bank 1 (1–15) Bank 2 ist 0, wenn sie mit Bank 1 identisch ist
5 0x05 Anzahl der RAM-Bänke auf dem Modul (1–255) Üblicherweise 1 oder 2
6 0x06 Niedriges Byte für Moduldatenbreite Üblicherweise 64 oder 72 für ECC-DIMMs
7 0x07 Hochbyte für Moduldatenbreite 0, es sei denn, die Breite ist ≥ 256 Bits
8 0x08 Schnittstellenspannungspegel dieser Baugruppe (nicht identisch mit V cc Versorgungsspannung) (0–4) Decodiert durch Tabellensuche
9 0x09 Nanosekunden (0–15) Zehntel von Nanosekunden (0.0–0.9) Taktzykluszeit bei höchster CAS-Latenz
10 0x0a Nanosekunden (0-15) Zehntel Nanosekunden (0.0-0.9) SDRAM-Zugriffszeit von der Uhr (t AC )
11 0x0b DIMM-Konfigurationstyp (0–2): Nicht-ECC, Parität, ECC Tabellensuche
12 0x0c Self Aktualisierungszeitraum (0–5): 64, 256, 128, 32, 16, 8 kHz Aktualisierungsanforderungen
13 0x0d Bank 2 2 × Primäre SDRAM-Breite der Bank 1 (1–127, normalerweise 8) Breite der SDRAM-Vorrichtungen der Bank 1. Bank 2 kann dieselbe Breite haben oder 2 × Breite, wenn Bit 7 gesetzt ist.
14 0x0e Bank 2 2 × Bank 1 ECC SDRAM Breite (0–127) Breite von Bank 1 ECC / Parity-SDRAM-Geräten. Bank 2 kann dieselbe Breite haben oder 2 × Breite, wenn Bit 7 gesetzt ist.
15 0x0f Taktverzögerung für zufällige Spaltenlesevorgänge Typisch 1
16 0x10 Seite - - - 8 4 2 1 1 Unterstützte Berstlängen (Bitmap)
17 0x11 Bänke pro SDRAM-Gerät (1–255) Typisch 2 oder 4
18 0x12 - 7 6 5 4 3 2 1 1 [1945655] CAS Unterstützte Latenzen (Bitmap)
19 0x13 - 6 5 4 3 2 1 0 0 Unterstützte Latenzen (Bitmap)
20 0x14 - 6 5 4 3 2 1 0 [19456556] Unterstützte Latenzen (Bitmap)
21 0x15 - Redundant Diff. clock Registrierte Daten Gepufferte Daten On-Card-PLL Registrierte Adr. Gepufferte Adr. Speichermodul-Funktionsbitmap
22 0x16 - - Upper V cc (Versorgungsspannung) Toleranz Unterer V cc (Versorgungsspannung) Toleranz Write / 1 Read Burst Alle vorladen Autovorladung Früh RAS Vorladung Speicherbit unterstützt die Bitmap
23 0x17 Nanosekunden (4–18) Zehntel von Nanosekunden (0–9: 0.0–0.9) Taktzykluszeit bei mittlerer CAS-Latenz
24 0x18 Nanosekunden (4–18) Zehntel von Nanosekunden (0–9: 0.0–0.9) Datenzugriffszeit von der Uhr (t AC )
25 0x19 Nanosekunden (1–63) 0,25 ns (0–3: 0,00–0,75) Taktzykluszeit bei kurzer CAS-Latenz.
26 0x1a Nanosekunden (1–63) 0,25 ns (0–3: 0,00–0,75) Datenzugriffszeit von der Uhr (t AC )
27 0x1b Nanosekunden (1–255) Minimale Zeilenvorladezeit (t RP )
28 0x1c Nanosekunden (1–255) Minimale aktive Zeilenverzögerung für aktive Zeilen (t RRD )
29 0x1d Nanosekunden (1–255) Minimum RAS bis CAS Verzögerung (t RCD )
30 0x1e Nanosekunden (1–255) Minimale aktive Vorladezeit (t RAS )
31 0x1f 512 MiB 256 MiB 128 MiB 64 MiB 32 MiB 16 MiB 8 MiB 4 MiB 4 MiB ] Modulbankdichte (Bitmap). Bei unterschiedlichen Bankgrößen werden zwei Bits gesetzt.
32 0x20 Zeichen (1: -) Nanosekunden (0–7) Zehntel von Nanosekunden (0–9: 0,0–0,9) Adresse / Befehlseinstellzeit von Uhr
33 0x21 Zeichen (1: -) Nanosekunden (0–7) Zehntel von Nanosekunden (0–9: 0,0–0,9) Adresse / Befehlshaltezeit danach Uhr
34 0x22 Zeichen (1: -) Nanosekunden (0–7) Zehntel von Nanosekunden (0–9: 0,0–0,9) Einstellungszeit der Dateneingabe vom Takt
35 0x23 Zeichen (1: -) Nanosekunden (0–7) Zehntel von Nanosekunden (0–9: 0,0–0,9) Haltezeit der Dateneingabe nach dem Takt
36–61 0x24–0x3d
Reserviert
Zur zukünftigen Standardisierung
62 0x3e Hauptrevision (0–9) Kleinere Revision (0–9) SPD-Revisionsstand; z. B. 1,2
63 0x3f Checksum Summe der Bytes 0–62, nicht negiert
64–71 0x40–47 Hersteller JEDEC-ID. Gespeichertes Little-Endian, hinter Null gepolstert
72 0x48 Standort der Modulherstellung Herstellerspezifischer Code
73–90 0x49-0x5a Modul-Teilenummer ASCII, mit Leerzeichen aufgefüllt
91–92 0x5b – 0x5c Modul-Revisionscode Herstellerspezifischer Code
93 0x5d Dutzende von Jahren (0–9: 0–90) Jahre (0–9) Herstellungsdatum (YYWW)
94 0x5e Dutzende von Wochen (0–5: 0–50) Wochen (0–9)
95–98 0x5f – 0x62 Seriennummer des Moduls Herstellerspezifischer Code
99–125 0x63–0x7f Herstellerspezifische Daten Könnte das Leistungsprofil verbessern
126 0x7e 0x66 sic für 66 MHz, 0x64 für 100 MHz Intel-Frequenzunterstützung
127 0x7f CLK0 CLK1 CLK3 CLK3 90/100 ° C CL3 CL2 Concurrent AP Bitmap

DDR-SDRAM [ edit ]


Das DDR-DIMM-SPD-Format ist eine Erweiterung des SDR-SDRAM-Formats. Meistens werden die Parameterbereiche für höhere Geschwindigkeiten neu skaliert.






























































































































































































































































SPD-Inhalt für DDR-SDRAM [5]
Byte
Bit
Hinweise
(dec.) (Hex.)
7 6 5 4 3 2 1 0
0 0x00 Anzahl der geschriebenen Bytes Typischerweise 128
1 0x01 log 2 (Größe des SPD-EEPROM) Typisch 8 (256 Bytes)
2 0x02 Grundspeichertyp (7 = DDR-SDRAM)
3 0x03 Reihenbits der Bank 2 (0–15) Reihenbits der Bank 1 (1–15) Bank 2 ist 0, wenn sie mit Bank 1 identisch ist.
4 0x04 Spalten-Adressbits der Bank 2 (0–15) Spalten-Adressbits der Bank 1 (1–15) Bank 2 ist 0, wenn sie mit Bank 1 identisch ist.
5 0x05 Anzahl der RAM-Bänke auf dem Modul (1–255) Üblicherweise 1 oder 2
6 0x06 Niedriges Byte für Moduldatenbreite Üblicherweise 64 oder 72 für ECC-DIMMs
7 0x07 Hochbyte für Moduldatenbreite 0, es sei denn, die Breite ist ≥ 256 Bits
8 0x08 Schnittstellenspannungspegel dieser Baugruppe (nicht identisch mit V cc Versorgungsspannung) (0–5) Dekodiert durch Tabellensuche
9 0x09 Nanosekunden (0–15) Zehntel von Nanosekunden (0.0–0.9) Taktzykluszeit bei höchster CAS-Latenz.
10 0x0a Zehntel Nanosekunden (0,0–0,9) Hundertstel Nanosekunden (0,00–0,09) SDRAM-Zugriffszeit ab Takt (t AC )
11 0x0b DIMM-Konfigurationstyp (0–2): Nicht-ECC, Parität, ECC Tabellensuche
12 0x0c Self Aktualisierungszeitraum (0–5): 64, 256, 128, 32, 16, 8 kHz Aktualisierungsanforderungen
13 0x0d Bank 2 2 × Primäre SDRAM-Breite der Bank 1 (1–127) Breite der SDRAM-Vorrichtungen der Bank 1. Bank 2 kann dieselbe Breite haben oder 2 × Breite, wenn Bit 7 gesetzt ist.
14 0x0e Bank 2 2 × Bank 1 ECC SDRAM Breite (0–127) Breite von Bank 1 ECC / Parity-SDRAM-Geräten. Bank 2 kann dieselbe Breite haben oder 2 × Breite, wenn Bit 7 gesetzt ist.
15 0x0f Taktverzögerung für zufällige Spaltenlesevorgänge Typisch 1
16 0x10 Seite - - - 8 4 2 1 1 Unterstützte Berstlängen (Bitmap)
17 0x11 Bänke pro SDRAM-Gerät (1–255) Typisch 4
18 0x12 - 4 3.5 3 2.5 2 1.5 1 1 [1945655] CAS Unterstützte Latenzen (Bitmap)
19 0x13 - 6 5 4 3 2 1 0 0 Unterstützte Latenzen (Bitmap)
20 0x14 - 6 5 4 3 2 1 0 [19456556] Unterstützte Latenzen (Bitmap)
21 0x15 - x Diff-Takt Externe FET-Schalterfreigabe Integrierter FET-Schalter On-Card-PLL Eingetragen ] Buffered Bitmap für Merkmalsspeicher
22 0x16 Schnelle AP Gleichzeitige Autovorladung Oberes V cm³ (Versorgungsspannung) Toleranz Unteres V cm³ (Versorgung) Spannung) Toleranz - - - Enthält einen schwachen Treiber Speicherchip-Merkmalsbitmap
23 0x17 Nanosekunden (0-15) Zehntel von Nanosekunden (0.0-0.9) Taktzykluszeit bei mittlerer CAS-Latenz.
24 0x18 Zehntel Nanosekunden (0,0–0,9) Hundertstel Nanosekunden (0,00–0,09) Datenzugriffszeit von der Uhr (t AC )
25 0x19 Nanosekunden (0-15) Zehntel von Nanosekunden (0.0-0.9) Taktzykluszeit bei kurzer CAS-Latenz.
26 0x1a Zehntel Nanosekunden (0,0–0,9) Hundertstel Nanosekunden (0,00–0,09) Datenzugriffszeit von der Uhr (t AC )
27 0x1b Nanosekunden (1–63) 0,25 ns (0–0,75) Minimale Zeilenvorladezeit (t RP )
28 0x1c Nanosekunden (1–63) 0,25 ns (0–0,75) Minimale aktive Zeilenreihenverzögerung (t RRD )
29 0x1d Nanosekunden (1–63) 0,25 ns (0–0,75) Minimum RAS CAS Verzögerung (t RCD )
30 0x1e Nanosekunden (1–255) Minimale aktive Vorladezeit (t RAS )
31 0x1f 512 MiB 256 MiB 128 MiB 64 MiB 32 MiB 16 MiB /
4 GiB
8 MiB /
2 GiB
4 MiB /
1 GiB
Modulbankdichte (Bitmap). Bei unterschiedlichen Bankgrößen werden zwei Bits gesetzt.
32 0x20 Zehntel Nanosekunden (0,0–0,9) Hundertstel Nanosekunden (0,00–0,09) Adresse / Befehlseinstellungszeit ab der Uhr
33 0x21 Zehntel Nanosekunden (0,0–0,9) Hundertstel Nanosekunden (0,00–0,09) Adresse / Befehlshaltezeit nach Uhr
34 0x22 Zehntel Nanosekunden (0,0–0,9) Hundertstel Nanosekunden (0,00–0,09) Zeit für die Dateneingabe von der Uhrzeit
35 0x23 Zehntel Nanosekunden (0,0–0,9) Hundertstel Nanosekunden (0,00–0,09) Haltezeit der Dateneingabe nach dem Takt
36–40
0x24-0x28 Reserviert
Superset-Informationen
41 0x29 Nanosekunden (1–255) Minimale aktive Aktivierungs- / Aktualisierungszeit (t RC )
42 0x2a Nanosekunden (1–255) Minimale Aktualisierung zur Aktivierungs- / Aktualisierungszeit (t RFC )
43 0x2b Nanosekunden (1–63 oder 255: kein Maximum) 0,25 ns (0–0,75) Maximale Taktzykluszeit (t CK max .)
44 0x2c Hundertstel Nanosekunden (0,01–2,55) Maximaler Versatz, DQS zu einem beliebigen DQ. (t DQSQ max.)
45 0x2d Zehntel von Nanosekunden (0,0–1,2) Hundertstel Nanosekunden (0,00–0,09) Lesedaten halten Skew-Faktor (t QHS )
46 0x2e
Reserviert
Zur zukünftigen Standardisierung
47 0x2f - Height Höhe des DIMM-Moduls, Nachschlagetabelle
48–61 0x30–0x3d
Reserviert
Zur zukünftigen Standardisierung
62 0x3e Hauptrevision (0–9) Kleinere Revision (0–9) SPD-Revisionsstand 0,0 oder 1,0
63 0x3f Checksum Summe der Bytes 0–62, nicht negiert
64–71 0x40–47 Hersteller JEDEC-ID. Gespeichertes Little-Endian, hinter Null gepolstert
72 0x48 Standort der Modulherstellung Herstellerspezifischer Code
73–90 0x49-0x5a Modul-Teilenummer ASCII, mit Leerzeichen aufgefüllt
91–92 0x5b – 0x5c Modul-Revisionscode Herstellerspezifischer Code
93 0x5d Dutzende von Jahren (0–90) Jahre (0–9) Herstellungsdatum (YYWW)
94 0x5e Dutzende von Wochen (0–50) Wochen (0–9)
95–98 0x5f – 0x62 Seriennummer des Moduls Herstellerspezifischer Code
99–127 0x63–0x7f Herstellerspezifische Daten Könnte das Leistungsprofil verbessern

DDR2-SDRAM [ edit ]


Der DDR2-SPD-Standard nimmt einige Änderungen vor, ähnelt jedoch in etwa der oben genannten. Eine bemerkenswerte Streichung ist die verwirrende und wenig genutzte Unterstützung für DIMMs mit zwei Rängen unterschiedlicher Größe.

Für Zykluszeitfelder (Bytes 9, 23, 25 und 49), die in BCD codiert sind, sind einige zusätzliche Codierungen für die Zehntelstelle definiert, um einige allgemeine Timings genau darzustellen:

















DDR2-BCD-Erweiterungen
Hex Binär Bedeutung
A 1010 0,25 (1/4)
B 1011 0.33 (l)
C 1100 0,66 (l)
D 1101 0.75 (l)
E 1110 0.875 (⅞, nVidia-XMP-Erweiterung)
F 1111 Reserviert





































































































































































































































































SPD-Inhalt für DDR2-SDRAM [6]
Byte
Bit
Hinweise
Dec Hex 7 6 5 4 3 2 1 0
0 0x00 Anzahl der geschriebenen Bytes Typischerweise 128
1 0x01 log 2 (Größe des SPD-EEPROM) Typisch 8 (256 Bytes)
2 0x02 Grundspeichertyp (8 = DDR2-SDRAM)
3 0x03 Reserviert Zeilenadreßbits (1-15)
4 0x04 Reserviert Spaltenadreßbits (1–15)
5 0x05 Vertikale Höhe Stack? ConC? Ranks-1 (1–8) Üblicherweise 0 oder 1, dh 1 oder 2
6 0x06 Moduldatenbreite Üblicherweise 64 oder 72 für ECC-DIMMs
7 0x07 Reserviert
8 0x08 Schnittstellenspannungspegel dieser Baugruppe (nicht identisch mit V cc Versorgungsspannung) (0–5) Häufig decodiert durch Tabellensuche
5 = SSTL 1,8 V
9 0x09 Nanosekunden (0–15) Zehntel von Nanosekunden (0.0–0.9) Taktzykluszeit bei höchster CAS-Latenz.
10 0x0a Zehntel Nanosekunden (0,0–0,9) Hundertstel Nanosekunden (0,00–0,09) SDRAM-Zugriffszeit ab Takt (t AC )
11 0x0b DIMM-Konfigurationstyp (0–2): Nicht-ECC, Parität, ECC Tabellensuche
12 0x0c Self Aktualisierungszeitraum (0–5): 64, 256, 128, 32, 16, 8 kHz Aktualisierungsanforderungen
13 0x0d Primäre SDRAM-Breite (1–255) Üblicherweise 8 (Modul aus × 8 Teilen gebaut) oder 16
14 0x0e Breite des ECC-SDRAM (0–255) Breite der ECC / Parity-SDRAM-Geräte der Bank. Normalerweise 0 oder 8.
15 0x0f Reserviert
16 0x10 - - - - 8 4 - - Unterstützte Berstlängen (Bitmap)
17 0x11 Banks pro SDRAM-Gerät (1–255) Typisch 4 oder 8
18 0x12 7 6 5 4 3 2 - - - - - - - Unterstützte Latenzen (Bitmap)
19 0x13 Reserviert
20 0x14 - - Mini-UDIMM Mini-RDIMM Micro-DIMM SO-DIMM RDIMM RDIMM ] DIMM-Typ dieser Baugruppe (Bitmap)
21 0x15 - Modul ist Analysesonde - Externe Freigabe des FET-Schalters - - - - - Memory Modul-Feature-Bitmap
22 0x16 - - - - - - - Enthält einen schwachen Treiber
23 0x17 Nanosekunden (0-15) Zehntel von Nanosekunden (0.0-0.9) Taktzykluszeit bei mittlerer CAS-Latenz.
24 0x18 Zehntel Nanosekunden (0,0–0,9) Hundertstel Nanosekunden (0,00–0,09) Datenzugriffszeit von der Uhr (t AC )
25 0x19 Nanosekunden (0-15) Zehntel von Nanosekunden (0.0-0.9) Taktzykluszeit bei kurzer CAS-Latenz.
26 0x1a Zehntel Nanosekunden (0,0–0,9) Hundertstel Nanosekunden (0,00–0,09) Datenzugriffszeit von der Uhr (t AC )
27 0x1b Nanosekunden (1–63) 1/4 ns (0–0,75) Minimale Zeilenvorladezeit (t RP )
28 0x1c Nanosekunden (1–63) 1/4 ns (0–0,75) Minimale aktive Zeilenreihenverzögerung (t RRD )
29 0x1d Nanosekunden (1–63) 1/4 ns (0–0,75) Minimum RAS bis CAS Verzögerung ( t RCD )
30 0x1e Nanosekunden (1–255) Minimale aktive Vorladezeit (t RAS )
31 0x1f 512 MiB 256 MiB 128 MiB 16 GiB 8 GiB 4 GiB 2 GiB 1 GiB 1 GiB 1 GiB ] Größe jedes Ranges (Bitmap).
32 0x20 Zehntel Nanosekunden (0,0–1,2) Hundertstel Nanosekunden (0,00–0,09) Adresse / Befehlseinstellungszeit ab der Uhr
33 0x21 Zehntel Nanosekunden (0,0–1,2) Hundertstel Nanosekunden (0,00–0,09) Adresse / Befehlshaltezeit nach Uhr
34 0x22 Zehntel Nanosekunden (0,0–0,9) Hundertstel Nanosekunden (0,00–0,09) Einstellungszeit der Dateneingabe von Strobe
35 0x23 Zehntel Nanosekunden (0,0–0,9) Hundertstel Nanosekunden (0,00–0,09) Haltezeit der Dateneingabe nach einem Strobe
36 0x24 Nanosekunden (1–63) 0,25 ns (0–0,75) Minimale Schreibwiederherstellungszeit (t WR )
37 0x25 Nanosekunden (1–63) 0,25 ns (0–0,75) Interne Schreib-Lese-Befehlsverzögerung (t WTR )
38 0x26 Nanosekunden (1–63) 0,25 ns (0–0,75) Interner Lesevorgang zur Vorladebefehlsverzögerung (t RTP )
39 0x27 Reserviert Reserviert für "Merkmale der Speicheranalyse-Sonde".
40 0x28 - t RC Bruchzahl ns (0–5):
0, 0,25, 0,33, 0,5, 0,66, 0,75
t RFC gebrochene ns (0–5):
0, 0,25, 0,33, 0,5, 0,66, 0,75
t RFC + 256 ns Erweiterung der Bytes 41 und 42.
41 0x29 Nanosekunden (1–255) Minimale aktive Aktivierungs- / Aktualisierungszeit (t RC )
42 0x2a Nanosekunden (1–255) Minimale Aktualisierung zur Aktivierungs- / Aktualisierungszeit (t RFC )
43 0x2b Nanosekunden (0–15) Zehntel von Nanosekunden (0.0–0.9) Maximale Taktzykluszeit (t CK max)
44 0x2c Hundertstel Nanosekunden (0,01–2,55) Maximaler Versatz, DQS zu einem beliebigen DQ. (t DQSQ max)
45 0x2d Hundertstel Nanosekunden (0,01–2,55) Lesedaten-Halteversatzfaktor (t QHS )
46 0x2e Mikrosekunden (1–255) PLL-Relock-Zeit
47–61 0x2f – 0x3d Reserviert Für die zukünftige Standardisierung.
62 0x3e Hauptrevision (0–9) Kleinere Revision (0,0–0,9) SPD-Revisionsstand, normalerweise 1,0
63 0x3f Checksum Summe der Bytes 0–62, nicht negiert
64–71 0x40–47 Hersteller JEDEC ID Gespeichertes Little-Endian-Protokoll, hinter dem Nullpunkt
72 0x48 Standort der Modulherstellung Herstellerspezifischer Code
73–90 0x49–0x5a Modul-Teilenummer ASCII, mit Leerzeichen aufgefüllt (begrenzt auf (, -,), A – Z, a – z, 0–9, Leerzeichen)
91–92 0x5b – 0x5c Modul-Revisionscode Herstellerspezifischer Code
93 0x5d Jahre seit 2000 (0–255) Herstellungsdatum (YYWW)
94 0x5e Wochen (1–52)
95–98 0x5f – 0x62 Seriennummer des Moduls Herstellerspezifischer Code
99–127 0x63–0x7f Herstellerspezifische Daten Könnte das Leistungsprofil verbessern

DDR3-SDRAM [ edit ]


Der DDR3-SDRAM-Standard überarbeitet und vereinfacht das Layout der SPD-Inhalte. Anstelle einer Anzahl von BCD-kodierten Nanosekundenfeldern werden einige "Zeitbasis" -Einheiten mit hoher Genauigkeit spezifiziert, und verschiedene Zeitsteuerungsparameter werden als Vielfache dieser Basiseinheit kodiert. [7] Ferner ist es üblich, unterschiedliche Zeitwerte in Abhängigkeit von der Die CAS-Latenzzeit wurde gesenkt. Jetzt gibt es nur noch einen einzigen Satz von Timing-Parametern.

In Version 1.1 können einige Parameter als "mittlere Zeitbasis" plus einer (vorzeichenbehafteten, -128 +127) "feinen Zeitbasis" -Korrektur ausgedrückt werden. Im Allgemeinen beträgt die mittlere Zeitbasis 1/8 ns (125 ps) und die feine Zeitbasis 1, 2,5 oder 5 ps. Zur Kompatibilität mit früheren Versionen, denen die Korrektur fehlt, wird normalerweise die mittlere Zeitbasisnummer aufgerundet und die Korrektur ist negativ. Werte, die auf diese Weise funktionieren, sind:















DDR3-SPD-zweiteilige Timing-Parameter
MTB-Byte FTB-Byte Wert
12 34 t CK min, minimale Taktperiode
16 35 t AA min, minimale CAS-Latenzzeit
18 36 t RCD min, minimale RAS # bis CAS # -Verzögerung
20 37 t RP min, minimale Zeilenvorladeverzögerung
21,23 38 t RC min, minimale aktive bis aktive / Vorladeverzögerung




































































































































































































































SPD-Inhalt für DDR3-SDRAM [8]
Byte
Bit
Hinweise
Dec Hex 7 6 5 4 3 2 1 0
0 0x00 Seriennummer von CRC ausschließen SPD-Bytes insgesamt (undef / 256) Verwendete SPD-Bytes (undef / 128/176/256)
1 0x01 SPD-Hauptversion SPD-Nebenversion Typisch 1,0 oder 1,1
2 0x02 Grundlegender Speichertyp (11 = DDR3-SDRAM) Typ von RAM-Chips
3 0x03 Reserviert Modultyp Modultyp; z. B. 2 = ungepuffertes DIMM, 3 = SO-DIMM, 11 = LRDIMM
4 0x04 - Bankadressbits-3 log 2 (Bits pro Chip) -28 Null bedeutet 8 Banken, 256 Mibit.
50x05Row address bits−12Column address bits−9
60x06Reserved1.25 V1.35 VNot 1.5 VModules voltages supported. 1.5 V is default.
70x07ranks−1log2(I/O bits/chip)−2Module organization
80x08ECC bits (001=8)log2(data bits)−30x03 for 64-bit, non-ECC DIMM.
90x09Dividend, picoseconds (1–15)Divisor, picoseconds (1–15)Fine Time Base, dividend/divisor
100x0aDividend, nanoseconds (1–255)Medium Time Base, dividend/divisor; commonly 1/8
110x0bDivisor, nanoseconds (1–255)
120x0cMinimum cycle time tCKminIn multiples of MTB
130x0dReserved
140x0e1110987654CAS latencies supported (bitmap)
150x0f18171615141312
160x10Minimum CAS latency time, tAAminIn multiples of MTB; e.g., 80/8 ns.
170x11Minimum write recovery time, tWRminIn multiples of MTB; e.g., 120/8 ns.
180x12Minimum RAS to CAS delay time, tRCDminIn multiples of MTB; e.g., 100/8 ns.
190x13Minimum row to row active delay time, tRRDminIn multiples of MTB; e.g., 60/8 ns.
200x14Minimum row precharge time, tRPminIn multiples of MTB; e.g., 100/8 ns.
210x15tRCmin, bits 11:8tRASmin, bits 11:8Upper 4 bits of bytes 23 and 22
220x16Minimum active to time, tRASmin, bits 7:0In multiples of MTB; e.g., 280/8 ns.
230x17Minimum active to active/refresh, tRCmin, bits 7:0In multiples of MTB; e.g., 396/8 ns.
240x18Minimum refresh recovery delay, tRFCmin, bits 7:0In multiples of MTB; e.g., 1280/8 ns.
250x19Minimum refresh recovery delay, tRFCmin, bits 15:8
260x1aMinimum internal write to read delay, tWTRminIn multiples of MTB; e.g., 60/8 ns.
270x1bMinimum internal read to precharge delay, tRTPminIn multiples of MTB; e.g., 60/8 ns.
280x1cReservedtFAWmin, bits 11:8In multiples of MTB; e.g., 240/8 ns.
290x1dMinimum four activate window delay tFAWmin, bits 7:0
300x1eDLL-offRZQ/7RZQ/6SDRAM optional features support bitmap
310x1fPASRODTSASRETR 1×ETR (95 °C)SDRAM thermal and refresh options
320x20PresentAccuracy (TBD; currently 0 = undefined)DIMM thermal sensor present?
330x21Nonstd.Die countSignal loadNonstandard SDRAM device type (e.g., stacked die)
340x22tCKmin correction (new for 1.1)Signed multiple of FTB, added to byte 12
350x23tAAmin correction (new for 1.1)Signed multiple of FTB, added to byte 16
360x24tRCDmin correction (new for 1.1)Signed multiple of FTB, added to byte 18
370x25tRPmin correction (new for 1.1)Signed multiple of FTB, added to byte 20
380x26tRCmin correction (new for 1.1)Signed multiple of FTB, added to byte 23
39–590x27–0x3bReservedFor future standardization.
600x3cModule height, mm (1–31, >45)Module nominal height
610x3dBack thickness, mm (1–16)Front thickness, mm (1–16)Module thickness, value = ceil(mm) − 1
620x3eDesignRevisionJEDEC design numberJEDEC reference design used (11111=none)
63–1160x3f–0x74Module-specific sectionDiffers between registered/unbuffered
1170x75Module manufacturer ID, lsbyteAssigned by JEP-106
1180x76Module manufacturer ID, msbyte
1190x77Module manufacturing locationVendor-specific code
1200x78Tens of yearsYearsManufacturing year (BCD)
1210x79Tens of weeksWeeksManufacturing week (BCD)
122–1250x7a–0x7dModule serial numberVendor-specific code
126–1270x7e–0x7fSPD CRC-16Includes bytes 0–116 or 0–125; see byte 0 bit 7
128–1450x80–0x91Module part numberASCII subset, space-padded
146–1470x92–0x93Module revision codeVendor-defined
148–1490x94–0x95DRAM manufacturer IDAs distinct from module manufacturer
150–1750x96–0xAFManufacturer-specific data

The memory capacity of a module can be computed from bytes 4, 7 and 8. The module width (byte 8) divided by the number of bits per chip (byte 7) gives the number of chips per rank. That can then be multiplied by the per-chip capacity (byte 4) and the number of ranks of chips on the module (usually 1 or 2, from byte 7).


Extensions[edit]


The JEDEC standard only specifies some of the SPD bytes. The truly critical data fits into the first 64 bytes,[5][6][9][10][11] while some of the remainder is earmarked for manufacturer identification. However, a 256-byte EEPROM is generally provided. A number of uses have been made of the remaining space.


Enhanced Performance Profiles (EPP)[edit]


Memory generally comes with conservative timing recommendations in the SPD ROM, to ensure basic functionality on all systems. Enthusiasts often spend considerable time manually adjusting the memory timings for higher speed.

Enhanced Performance Profiles is an extension of SPD, developed by Nvidia and Corsair, which includes additional information for higher-performance operation of DDR2 SDRAM, including supply voltages and command timing information not included in the JEDEC SPD spec. The EPP information is stored in the same EEPROM, but in bytes 99-127, which are unused by standard DDR2 SPD.[12]


















EPP SPD ROM usage
BytesSizeFull profilesAbbreviated profiles
99–1035EPP header
104–1096Profile FP1Profile AP1
110–1156Profile AP2
116–1216Profile FP2Profile AP3
122–1276Profile AP4

The parameters are particularly designed to fit the memory controller on the nForce 5, nForce 6 and nForce 7 chipsets. Nvidia encourages support for EPP in the BIOS for its high-end motherboard chipsets. This is intended to provide "one-click overclocking" to get better performance with minimal effort.

Nvidia's name for EPP memory that has been qualified for performance and stability is "SLI-ready memory".[13] The term "SLI-ready-memory" has caused some confusion, as it has nothing to do with SLI video. One can use EPP/SLI memory with a single video card (even a non-Nvidia card), and one can run a multi-card SLI video setup without EPP/SLI memory.

An extended version, EPP 2.0, supports DDR3 memory as well.[14]


Extreme Memory Profile (XMP)[edit]


A similar, Intel-developed JEDEC SPD extension for DDR3 SDRAM DIMMs. This uses bytes 176–255, which are unallocated by JEDEC, to encode higher-performance memory timings.[15]

(Note: AMP is AMD equivalent technology of XMP[16][17]A-XMP is MSI version of AMP[18]DOCP (Direct Over Clock Profile) is Asus XMP-to-AMP conversion and EOCP (Extended Over Clock Profiles) is Gigabyte version of DOCP[19].)











XMP SPD ROM usage[20]
BytesSizeUse
176–18410XMP header
185–21933XMP profile 1 ("enthusiast" settings)
220–25436XMP profile 2 ("extreme" settings)

The header contains the following data. Most importantly, it contains a "medium timebase" value MTB, as a rational number of nanoseconds (common values are 1/8, 1/12 and 1/16 ns). Many other later timing values are expressed as an integer number of MTB units.

Also included in the header is the number of DIMMs per memory channel that the profile is designed to support; including more DIMMs may not work well.




























XMP Header bytes[20]
ByteBitsUse
1767:0XMP magic number byte 1 0x0C
1777:0XMP magic number byte 2 0x4A
1780Profile 1 enabled (if 0, disabled)
1Profile 2 enabled
3:2Profile 1 DIMMs per channel (1–4 encoded as 0–3)
5:4Profile 2 DIMMs per channel
7:6Reserved
1793:0XMP minor version number (x.0 or x.1)
7:4XMP major version number (0.x or 1.x)
1807:0Medium timebase dividend for profile 1
1817:0Medium timebase divisor for profile 1 (MTB = dividend/divisor ns)
1827:0Medium timebase dividend for profile 2 (e.g. 8)
1837:0Medium timebase divisor for profile 2 (e.g. 1, giving MTB = 1/8 ns)
1847:0Reserved
































































































XMP profile bytes[20]
Byte 1Byte 2BitsUse
1852200Module Vdd voltage twentieths (0.00 or 0.05)
4:1Module Vdd voltage tenths (0.0–0.9)
6:5Module Vdd voltage units (0–2)
7Reserved
1862217:0Minimum SDRAM clock period tCKmin (MTB units)
1872227:0Minimum CAS latency time tAAmin (MTB units)
1882237:0CAS latencies supported (bitmap, 4–11 encoded as bits 0–7)
1892246:0CAS latencies supported (bitmap, 12–18 encoded as bits 0–6)
7Reserved
1902257:0Minimum CAS write latency time tCWLmin (MTB units)
1912267:0Minimum row precharge delay time tRPmin (MTB units)
1922277:0Minimum RAS to CAS delay time tRCDmin (MTB units)
1932287:0Minimum write recovery time tWRmin (MTB units)
1942293:0tRASmin upper nibble (bits 11:8)
7:4tRCmin upper nibble (bits 11:8)
1952307:0Minimum active to precharge delay time tRASmin bits 7:0 (MTB units)
1962317:0Minimum active to active/refresh delay time tRCmin bits 7:0 (MTB units)
1972327:0Maximum average refresh interval tREFI lsbyte (MTB units)
1982337:0Maximum average refresh interval tREFI msbyte (MTB units)
1992347:0Minimum refresh recovery delay time tRFCmin lsbyte (MTB units)
2002357:0Minimum refresh recovery delay time tRFCmin msbyte (MTB units)
2012367:0Minimum internal read to precharge command delay time tRTPmin (MTB units)
2022377:0Minimum row active to row active delay time tRRDmin (MTB units)
2032383:0tFAWmin upper nibble (bits 11:8)
7:4Reserved
2042397:0Minimum four activate window delay time tFAWmin bits 7:0 (MTB units)
2052407:0Minimum internal write to read command delay time tWTRmin (MTB units)
2062412:0Write to read command turnaround time adjustment (0–7 clock cycles)
3Write to read command turnaround adjustment sign (0=pull-in, 1=push-out)
6:4Read to write command turnaround time adjustment (0–7 clock cycles)
7Read to write command turnaround adjustment sign (0=pull-in, 1=push-out)
2072422:0Back-to-back command turnaround time adjustment (0–7 clock cycles)
3Back-to-back turnaround adjustment sign (0=pull-in, 1=push-out)
7:4Reserved
2082437:0System CMD rate mode. 0=JTAG default, otherwise in peculiar units of MTB × tCK/ns.
E.g. if MTB is 1/8 ns, then this is in units of 1/8 clock cycle.
2092447:0SDRAM auto self refresh performance.
Standard version 1.1 says documentation is TBD.
210–218245–2537:0Reserved
2192547:0Reservedvendor-specific personality code.

Vendor-specific memory[edit]


A common misuse is to write information to certain memory regions to bind vendor-specific memory modules to a specific system. Fujitsu Technology Solutions 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.F
53 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.


Reading and writing SPD information[edit]


Memory module manufacturers write the SPD information to the EEPROM on the module. Motherboard 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 and Solaris. dmidecode does not access SPD information directly; it reports the BIOS data about the memory.[21] This information may be limited or incorrect.

  • On Linux systems, the user space program decode-dimms[22] provided with i2c-tools [23] decodes and prints information on any memory with SPD information in the computer. It requires 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 memory controllers in a computer with timing, size and other properties.

  • Windows systems use programs like HWiNFO32,[24]CPU-Z and 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 series chips can be read back for later cloning of the uEFI in the event of a chip failure.


On older equipment[edit]


Some older equipment require the use of SIMMs with parallel presence detect (more commonly called simply presence detect or PD). Some of this equipment uses non-standard PD coding, IBM computers and Hewlett-Packard LaserJet and other printers in particular.


See also[edit]


References[edit]



  1. ^ Thomas P. Koenig; Nathan John (1997-02-03), "Serial Presence Detection poised for limelight", Electronic News43 (2153)

  2. ^ 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"

  3. ^ Application note INN-8668-APN3: SDRAM SPD Data Standards, memorytesters.com

  4. ^ PC SDRAM Serial Presence Detect (SPD) Specification (PDF)1.2A, December 1997, p. 28

  5. ^ a b JEDEC Standard 21-C section 4.1.2.4 "SPDs for DDR SDRAM"

  6. ^ a b JEDEC Standard 21-C section 4.1.2.10 "Specific SPDs for DDR2 SDRAM"

  7. ^ Understanding DDR3 Serial Presence Detect (SPD) Table

  8. ^ JESD21-C Annex K: Serial Presence Detect for DDR3 SDRAM Modules, Release 4, SPD Revision 1.1

  9. ^ JEDEC Standard 21-C section 4.1.2.11 "Serial Presence Detect (SPD) for DDR3 SDRAM Modules"

  10. ^ JEDEC Standard 21-C section 4.1.2 "SERIAL PRESENCE DETECT STANDARD, General Standard"

  11. ^ JEDEC Standard 21-C section 4.1.2.5 "Specific PDs for Synchronous DRAM (SDRAM)"

  12. ^ DDR2 UDIMM Enhanced Performance Profiles Design Specification (PDF)Nvidia, 2006-05-12retrieved 2009-05-05

  13. ^ http://www.nvidia.com/docs/CP/45121/sli_memory.pdf

  14. ^ Enhanced Performance Profiles 2.0 (pages 2–3)

  15. ^ Intel Extreme Memory Profile (Intel XMP) DDR3 Technology

  16. ^ Advanced Micro Devices, Inc (2012). "Memory Profile Technology - AMP up your RAM". Retrieved 2018-01-08.

  17. ^ Ryan Martin (2012-07-23). "AMD introduces its XMP-equivalent AMP - eTeknix". Retrieved 2018-01-08.

  18. ^ Micro-Star Int'l Co., Ltd (2017-03-21). "MSI is worlds first brand to enable A-XMP on Ryzen for best DDR4 performance, launches new models". Retrieved 2018-01-08.

  19. ^ Tradesman1 (2016-08-26). "What does XMP, DOCP, EOCP mean - Solved - Memory". Retrieved 2018-01-08.

  20. ^ a b c Intel® Extreme Memory Profile (XMP) Specification, Rev 1.1 (PDF)October 2007, archived from the original (PDF) on 2012-03-06retrieved 2010-05-25

  21. ^ dmidecode: What's it good for?

  22. ^ "Archived copy". Archived from the original on 2 December 2008. Retrieved 2009-07-16.CS1 maint: Archived copy as title (link)
    decode-dimms Perl program


  23. ^ "I2CTools – lm-sensors". Lm-sensors.org. Archived from the original on 11 March 2012. Retrieved 14 August 2014.

  24. ^ HWiNFO32


External links[edit]







Không có nhận xét nào:

Đăng nhận xét