シリアルプレゼンス検出

コンピューティング において、シリアルプレゼンス検出SPD )は、メモリモジュールに関する情報に自動的にアクセスするための標準化された方法です。初期の72ピンSIMMには、5ビットのパラレルプレゼンス検出(PPD)データを提供する5つのピンが含まれていましたが、168ピンDIMM規格では、より多くの情報をエンコードするためにシリアルプレゼンス検出に変更されました。[ 1 ]

現代の一般的なコンピュータは、電源を入れると、電源投入時セルフテスト(POST)から起動します。1990年代半ば頃から、このプロセスには、現在接続されているハードウェアの自動設定も含まれるようになりました。SPDは、コンピュータがどのようなメモリを搭載しているか、そしてメモリにアクセスするためにどのようなメモリタイミングを使用するかを認識することを可能にするメモリハードウェア機能です。

一部のコンピューターは、ハードウェアの変更に完全に自動的に適応します。ほとんどの場合、BIOSパラメータにアクセスして設定を確認したり、場合によっては変更したりするための特別なオプション手順が用意されています。コンピューターがメモリのSPDデータを使用する方法を制御できる場合もあります。設定を選択したり、メモリタイミングを部分的に変更したり、場合によってはSPDデータを完全に上書きしたりすることも可能です(オーバークロックを参照)。

保存された情報

メモリモジュールがSPDをサポートするには、JEDEC規格により、メモリモジュール上のEEPROMの下位128バイト(世代によってはそれ以上)に特定のパラメータを格納することが規定されています。これらのバイトには、タイミングパラメータ、メーカー、シリアル番号、その他モジュールに関する有用な情報が含まれています。メモリを利用するデバイスは、この情報を読み取ることで、モジュールの主要なパラメータを自動的に判別します。例えば、SDRAMモジュール上のSPDデータはCASレイテンシに関する情報を提供するため、システムはユーザーの介入なしにこれを正しく設定できます。

SPD EEPROMファームウェアには、 I 2 Cプロトコルの一種であるSMBusを使用してアクセスします。これにより、モジュール上の通信ピンの数はクロック信号とデータ信号の2つに削減されます。EEPROMはRAMとグランドピンを共有し、独自の電源ピンを持ち、スロットを識別するための3つの追加ピン(SA0~2)を備えています。これらのピンは、EEPROMに0x50~0x57の範囲の一意のアドレスを割り当てるために使用されます。通信ラインは8つのメモリモジュール間で共有できるだけでなく、同じSMBusはマザーボード上で、電源電圧、CPU温度、ファン速度の読み取りなどのシステムヘルスモニタリングタスクに一般的に使用されています。

SPD以前のメモリチップは、パラレルプレゼンス検出(PPD)方式を採用していました。PPDでは情報ビットごとに個別のピンを使用していたため、ピンのスペースが限られていたため、メモリモジュールの速度と密度しか保存できませんでした。

SDR SDRAM

SPDデータを含むSDRAMモジュール上のメモリデバイス(赤丸で囲まれた部分)

最初のSPD仕様はJEDECによって発行され、1998年に導入されたPC100メモリ仕様の一部としてIntelによって厳格化されました。 [ 2 ] [ 3 ] [ 4 ]規定される値のほとんどは2進化10進数形式です。最上位ニブルには10から15までの値を含めることができ、場合によってはそれ以上の値を格納できます。そのような場合、1、2、3のエンコードは16、17、18のエンコードに使用されます。最上位ニブル0は「未定義」を表すために予約されています。

SPD ROM は、バイト 18 の設定ビットによって指定される 3 つの CAS レイテンシに対して、最大 3 つの DRAM タイミングを定義します。最初に最高の CAS レイテンシ (最速クロック) が続き、次に 2 つのより低い CAS レイテンシが続き、クロック速度が徐々に低下します。

SDR SDRAMのSPD内容[ 5 ]
バイト 少し 注記
(決定)(16進数) 76543210
00x00存在するバイト数通常128
10x01log 2 (SPD EEPROMのサイズ)通常8(256バイト)
20x02基本メモリタイプ(4:SPD SDRAM)
30x03バンク2の行アドレスビット(0~15)バンク1の行アドレスビット(1~15)バンク2はバンク1と同じ場合は0
40x04バンク2の列アドレスビット(0~15)バンク1の列アドレスビット(1~15)バンク2はバンク1と同じ場合は0
50x05モジュール上の RAM バンクの数 (1~255)一般的に1または2
60x06モジュールデータ幅下位バイト一般的には64、またはECC DIMMの場合は72
70x07モジュールデータ幅上位バイト幅が256ビット以上の場合を除き0
80x08このアセンブリのインターフェース電圧レベル(V cc電源電圧と同じではありません)(0~4)テーブル検索でデコード
90x09ナノ秒(0~15)10分の1ナノ秒(0.0~0.9)最高CASレイテンシ時のクロックサイクル時間
100x0aナノ秒(0~15)10分の1ナノ秒(0.0~0.9)クロックからのSDRAMアクセス時間(t AC
110x0bDIMM構成タイプ(0~2):非ECC、パリティ、ECCテーブル検索
120x0c自己リフレッシュ周期(0~5):64、256、128、32、16、8 kHz更新要件
130x0dバンク2 2×バンク1プライマリSDRAM幅(1~127、通常は8)バンク1のデータSDRAMデバイスの幅。バンク2は同じ幅、またはビット7が設定されている場合は2倍の幅になります。
140x0eバンク2 2×バンク1 ECC SDRAM幅(0~127)バンク1のECC/パリティSDRAMデバイスの幅。バンク2は同じ幅、またはビット7が設定されている場合は2倍の幅になります。
150x0fランダム列読み取りのクロック遅延通常1
160x10ページ8421サポートされているバースト長(ビットマップ)
170x11SDRAMデバイスあたりのバンク数(1~255)通常2または4
180x127654321サポートされているCASレイテンシ (ビットマップ)
190x136543210サポートされているCSレイテンシ(ビットマップ)
200x146543210WEレイテンシサポート(ビットマップ)
210x15冗長差分クロック登録データバッファリングされたデータオンカードPLL登録住所バッファリングされたアドレス。メモリモジュール機能ビットマップ
220x16上限V cc(電源電圧)許容範囲V cc(電源電圧)許容範囲の低減書き込み/1回の読み取りバーストすべてをプリチャージ自動プリチャージ早期RASプリチャージメモリチップ機能サポートビットマップ
230x17ナノ秒(4~18)10分の1ナノ秒(0~9:0.0~0.9)中程度のCASレイテンシでのクロックサイクル時間
240x18ナノ秒(4~18)10分の1ナノ秒(0~9:0.0~0.9)クロックからのデータアクセス時間(t AC
250x19ナノ秒(1~63)0.25 ns (0~3: 0.00~0.75)短い CAS レイテンシでのクロック サイクル時間。
260x1aナノ秒(1~63)0.25 ns (0~3: 0.00~0.75)クロックからのデータアクセス時間(t AC
270x1bナノ秒(1~255)最小行プリチャージ時間(t RP
280x1cナノ秒(1~255)最小行アクティブ間遅延(t RRD
290x1dナノ秒(1~255)RASからCASまでの最小遅延(t RCD
300x1eナノ秒(1~255)最小アクティブからプリチャージ時間(t RAS
310x1f512 MiB256 MiB128 MiB64 MiB32 MiB16 MiB8 MiB4 MiBモジュールバンク密度(ビットマップ)。バンクサイズが異なる場合は2ビットが設定されます。
320x20記号(1:−)ナノ秒(0~7)10分の1ナノ秒(0~9:0.0~0.9)クロックからのアドレス/コマンドセットアップ時間
330x21記号(1:−)ナノ秒(0~7)10分の1ナノ秒(0~9:0.0~0.9)クロック後のアドレス/コマンドホールド時間
340x22記号(1:−)ナノ秒(0~7)10分の1ナノ秒(0~9:0.0~0.9)クロックからのデータ入力セットアップ時間
350x23記号(1:−)ナノ秒(0~7)10分の1ナノ秒(0~9:0.0~0.9)クロック後のデータ入力ホールド時間
36~610x24~0x3d 予約済み 将来の標準化に向けて
620x3eメジャーリビジョン(0~9)マイナーリビジョン(0~9)SPD リビジョンレベル(例:1.2)
630x3fチェックサムバイト0~62の合計(反転しない)
64~710x40~47製造元 JEDEC ID。リトルエンディアン形式で保存され、末尾にゼロが埋め込まれる
720x48モジュール製造場所ベンダー固有のコード
73~900x49~0x5aモジュール部品番号ASCII、スペースパディング
91~920x5b~0x5cモジュールリビジョンコードベンダー固有のコード
930x5d10年(0~9歳、0~90歳)0~9歳製造日(YYWW)
940x5e10週(0~5週:0~50週)週数(0~9)
95~98年0x5f~0x62モジュールのシリアル番号ベンダー固有のコード
99~1250x63~0x7fメーカー固有のデータパフォーマンスプロファイルが強化される可能性がある
1260x7e66 MHzの場合は0x66 [ sic ]、100 MHzの場合は0x64Intel周波数サポート
1270x7fCLK0CLK1CLK3CLK390/100℃CL3CL2同時APインテル機能ビットマップ

DDR SDRAM

DDR DIMM SPDフォーマットは、SDR SDRAMフォーマットの拡張版です。主に、パラメータ範囲は高速化に対応するために再調整されています。

DDR SDRAMのSPD内容[ 6 ]
バイト 少し 注記
(決定)(16進数) 76543210
00x00書き込まれたバイト数通常128
10x01log 2 (SPD EEPROMのサイズ)通常8(256バイト)
20x02基本メモリタイプ(7 = DDR SDRAM)
30x03バンク2の行アドレスビット(0~15)バンク1の行アドレスビット(1~15)バンク 2 はバンク 1 と同じ場合は 0 になります。
40x04バンク2の列アドレスビット(0~15)バンク1の列アドレスビット(1~15)バンク 2 はバンク 1 と同じ場合は 0 になります。
50x05モジュール上の RAM バンクの数 (1~255)一般的に1または2
60x06モジュールデータ幅下位バイト一般的には64、またはECC DIMMの場合は72
70x07モジュールデータ幅上位バイト幅が256ビット以上の場合を除き0
80x08このアセンブリのインターフェース電圧レベル(V cc電源電圧と同じではありません)(0~5)テーブル検索でデコード
90x09ナノ秒(0~15)10分の1ナノ秒(0.0~0.9)最高の CAS レイテンシでのクロック サイクル時間。
100x0a10分の1ナノ秒(0.0~0.9)100分の1ナノ秒(0.00~0.09)クロックからのSDRAMアクセス時間(t AC
110x0bDIMM構成タイプ(0~2):非ECC、パリティ、ECCテーブル検索
120x0c自己リフレッシュ周期(0~5):64、256、128、32、16、8 kHz更新要件
130x0dバンク2 2×バンク1プライマリSDRAM幅(1~127)バンク1のデータSDRAMデバイスの幅。バンク2は同じ幅、またはビット7が設定されている場合は2倍の幅になります。
140x0eバンク2 2×バンク1 ECC SDRAM幅(0~127)バンク1のECC/パリティSDRAMデバイスの幅。バンク2は同じ幅、またはビット7が設定されている場合は2倍の幅になります。
150x0fランダム列読み取りのクロック遅延通常1
160x10ページ8421サポートされているバースト長(ビットマップ)
170x11SDRAMデバイスあたりのバンク数(1~255)通常4
180x1243.532.521.51サポートされているCASレイテンシ (ビットマップ)
190x136543210サポートされているCSレイテンシ(ビットマップ)
200x146543210WEレイテンシサポート(ビットマップ)
210x15×差分クロックFETスイッチ外部有効化FETスイッチオンボード有効化オンカードPLL登録済み緩衝メモリモジュール機能ビットマップ
220x16高速AP同時自動プリチャージ上限V cc(電源電圧)許容範囲V cc(電源電圧)許容範囲の低減弱いドライバーを含むメモリチップ機能ビットマップ
230x17ナノ秒(0~15)10分の1ナノ秒(0.0~0.9)中程度の CAS レイテンシでのクロック サイクル時間。
240x1810分の1ナノ秒(0.0~0.9)100分の1ナノ秒(0.00~0.09)クロックからのデータアクセス時間(t AC
250x19ナノ秒(0~15)10分の1ナノ秒(0.0~0.9)短い CAS レイテンシでのクロック サイクル時間。
260x1a10分の1ナノ秒(0.0~0.9)100分の1ナノ秒(0.00~0.09)クロックからのデータアクセス時間(t AC
270x1bナノ秒(1~63)0.25ナノ秒(0~0.75)最小行プリチャージ時間(t RP
280x1cナノ秒(1~63)0.25ナノ秒(0~0.75)最小行アクティブ間遅延(t RRD
290x1dナノ秒(1~63)0.25ナノ秒(0~0.75)RASからCASまでの最小遅延(t RCD
300x1eナノ秒(1~255)最小アクティブからプリチャージ時間(t RAS
310x1f512 MiB256 MiB128 MiB64 MiB32 MiB16 MiB/ 4 GiB8 MiB/ 2 GiB4 MiB/ 1 GiBモジュールバンク密度(ビットマップ)。バンクサイズが異なる場合は2ビットが設定されます。
320x2010分の1ナノ秒(0.0~0.9)100分の1ナノ秒(0.00~0.09)クロックからのアドレス/コマンドセットアップ時間
330x2110分の1ナノ秒(0.0~0.9)100分の1ナノ秒(0.00~0.09)クロック後のアドレス/コマンドホールド時間
340x2210分の1ナノ秒(0.0~0.9)100分の1ナノ秒(0.00~0.09)クロックからのデータ入力セットアップ時間
350x2310分の1ナノ秒(0.0~0.9)100分の1ナノ秒(0.00~0.09)クロック後のデータ入力ホールド時間
36~40 0x24~0x28予約済み スーパーセット情報
410x29ナノ秒(1~255)アクティブからアクティブ/リフレッシュまでの最小時間(t RC
420x2aナノ秒(1~255)最小リフレッシュからアクティブ/リフレッシュ時間(t RFC
430x2bナノ秒(1~63、または255:上限なし)0.25ナノ秒(0~0.75)最大クロックサイクル時間(t CK max.)
440x2c100分の1ナノ秒(0.01~2.55)最大スキュー、DQS から任意の DQ まで。(t DQSQ最大)
450x2d10分の1ナノ秒(0.0~1.2)100分の1ナノ秒(0.00~0.09)読み取りデータホールドスキュー係数(t QHS
460x2e 予約済み 将来の標準化に向けて
470x2f身長DIMMモジュールの高さ、表参照
48~610x30~0x3d 予約済み 将来の標準化に向けて
620x3eメジャーリビジョン(0~9)マイナーリビジョン(0~9)SPD リビジョンレベル、0.0 または 1.0
630x3fチェックサムバイト0~62の合計(反転しない)
64~710x40~47製造元 JEDEC ID。リトルエンディアン形式で保存され、末尾にゼロが埋め込まれる
720x48モジュール製造場所ベンダー固有のコード
73~900x49~0x5aモジュール部品番号ASCII、スペースパディング
91~920x5b~0x5cモジュールリビジョンコードベンダー固有のコード
930x5d数十年(0~90)0~9歳製造日(YYWW)
940x5e10週(0~50)週数(0~9)
95~98年0x5f~0x62モジュールのシリアル番号ベンダー固有のコード
99~1270x63~0x7fメーカー固有のデータパフォーマンスプロファイルが強化される可能性がある

DDR2 SDRAM

DDR2 SPD規格にはいくつかの変更が加えられていますが、基本的には上記とほぼ同じです。注目すべき変更点の一つは、サイズの異なる2つのランクを持つDIMMのサポートが廃止されたことです。これは紛らわしく、あまり利用されていません。

BCDでエンコードされるサイクル タイム フィールド (バイト 9、23、25、および 49) では、一般的なタイミングを正確に表すために、10 桁目に対していくつかの追加エンコードが定義されています。

DDR2 BCD拡張
ヘックスバイナリ意義
10100.25 ( 14 )
B10110.33 ( 13 )
C11000.66 ( 23 )
D11010.75 ( 34 )
E11100.875 ( 78、Nvidia XMP 拡張)
F1111予約済み
DDR2 SDRAMのSPD内容[ 7 ]
バイト 少し 注記
12月ヘックス76543210
00x00書き込まれたバイト数通常128
10x01log 2 (SPD EEPROMのサイズ)通常8(256バイト)
20x02基本メモリタイプ(8 = DDR2 SDRAM)
30x03予約済み行アドレスビット(1~15)
40x04予約済み列アドレスビット(1~15)
50x05垂直高さスタック?ConC?ランク−1 (1–8)一般的には0または1、つまり1または2
60x06モジュールデータ幅一般的には64、またはECC DIMMの場合は72
70x07予約済み
80x08このアセンブリのインターフェース電圧レベル(V cc電源電圧と同じではありません)(0~5)テーブルルックアップでデコード。一般的に5 = SSTL 1.8 V
90x09ナノ秒(0~15)10分の1ナノ秒(0.0~0.9)最高の CAS レイテンシでのクロック サイクル時間。
100x0a10分の1ナノ秒(0.0~0.9)100分の1ナノ秒(0.00~0.09)クロックからのSDRAMアクセス時間(t AC
110x0bDIMM構成タイプ(0~2):非ECC、パリティ、ECCテーブル検索
120x0c自己リフレッシュ周期(0~5):64、256、128、32、16、8 kHz更新要件
130x0dプライマリSDRAM幅(1~255)一般的には8個(×8個の部品で構成されたモジュール)または16個
140x0eECC SDRAM幅(0~255)ECC/パリティSDRAMデバイスのバンク幅。通常は0または8です。
150x0f予約済み
160x1084サポートされているバースト長(ビットマップ)
170x11SDRAMデバイスあたりのバンク数(1~255)通常は4または8
180x12765432サポートされているCASレイテンシ (ビットマップ)
190x13予約済み
200x14ミニUDIMMミニRDIMMマイクロDIMMSO-DIMMUDIMMRDIMMこのアセンブリの DIMM タイプ (ビットマップ)
210x15モジュールは分析プローブですFETスイッチ外部有効化メモリモジュール機能ビットマップ
220x16弱いドライバーを含むメモリチップ機能ビットマップ
230x17ナノ秒(0~15)10分の1ナノ秒(0.0~0.9)中程度の CAS レイテンシでのクロック サイクル時間。
240x1810分の1ナノ秒(0.0~0.9)100分の1ナノ秒(0.00~0.09)クロックからのデータアクセス時間(t AC
250x19ナノ秒(0~15)10分の1ナノ秒(0.0~0.9)短い CAS レイテンシでのクロック サイクル時間。
260x1a10分の1ナノ秒(0.0~0.9)100分の1ナノ秒(0.00~0.09)クロックからのデータアクセス時間(t AC
270x1bナノ秒(1~63)1/4ナノ秒(0~0.75)最小行プリチャージ時間(t RP
280x1cナノ秒(1~63)1/4ナノ秒(0~0.75)最小行アクティブ間遅延(t RRD
290x1dナノ秒(1~63)1/4ナノ秒(0~0.75)RASからCASまでの最小遅延(t RCD
300x1eナノ秒(1~255)最小アクティブからプリチャージ時間(t RAS
310x1f512 MiB256 MiB128 MiB16ギガバイト8ギガバイト4ギガバイト2ギガバイト1ギガバイト各ランクのサイズ(ビットマップ)。
320x2010分の1ナノ秒(0.0~1.2)100分の1ナノ秒(0.00~0.09)クロックからのアドレス/コマンドセットアップ時間
330x2110分の1ナノ秒(0.0~1.2)100分の1ナノ秒(0.00~0.09)クロック後のアドレス/コマンドホールド時間
340x2210分の1ナノ秒(0.0~0.9)100分の1ナノ秒(0.00~0.09)ストローブからのデータ入力セットアップ時間
350x2310分の1ナノ秒(0.0~0.9)100分の1ナノ秒(0.00~0.09)ストローブ後のデータ入力ホールド時間
360x24ナノ秒(1~63)0.25ナノ秒(0~0.75)最小書き込み回復時間(t WR
370x25ナノ秒(1~63)0.25ナノ秒(0~0.75)内部書き込みから読み取りコマンドまでの遅延(t WTR
380x26ナノ秒(1~63)0.25ナノ秒(0~0.75)内部読み取りからプリチャージコマンドまでの遅延(t RTP
390x27予約済み「メモリ分析プローブ特性」用に予約されています
400x28t RC分数 ns (0~5): 0、0.25、0.33、0.5、0.66、0.75t RFC分数 ns (0~5): 0、0.25、0.33、0.5、0.66、0.75t RFC + 256 nsバイト 41 と 42 の拡張。
410x29ナノ秒(1~255)アクティブからアクティブ/リフレッシュまでの最小時間(t RC
420x2aナノ秒(1~255)最小リフレッシュからアクティブ/リフレッシュ時間(t RFC
430x2bナノ秒(0~15)10分の1ナノ秒(0.0~0.9)最大クロックサイクル時間(t CK max)
440x2c100分の1ナノ秒(0.01~2.55)最大スキュー、DQS から任意の DQ まで。(t DQSQ max)
450x2d100分の1ナノ秒(0.01~2.55)読み取りデータホールドスキュー係数(t QHS
460x2eマイクロ秒(1~255)PLL再ロック時間
47~610x2f~0x3d予約済み将来の標準化のため。
620x3eメジャーリビジョン(0~9)マイナーリビジョン(0.0~0.9)SPD 改訂レベル(通常 1.0)
630x3fチェックサム0~62バイトの合計(反転なし)
64~710x40~47製造元 JEDEC IDリトルエンディアンで保存され、末尾にゼロが埋め込まれる
720x48モジュール製造場所ベンダー固有のコード
73~900x49~0x5aモジュール部品番号ASCII、スペース埋め込み((,-,)、A~Z、a~z、0~9、スペースに限定)
91~920x5b~0x5cモジュールリビジョンコードベンダー固有のコード
930x5d2000年からの年数(0~255)製造日(YYWW)
940x5e週(1~52)
95~98年0x5f~0x62モジュールのシリアル番号ベンダー固有のコード
99~1270x63~0x7fメーカー固有のデータパフォーマンスプロファイルが強化される可能性がある

DDR3 SDRAM

DDR3 SDRAM規格では、SPDの内容レイアウトが大幅に見直し、簡素化されました。BCDエンコードされたナノ秒単位の代わりに、いくつかの「タイムベース」単位が高精度に指定され、様々なタイミングパラメータがその基本単位の倍数としてエンコードされます。[ 8 ]さらに、CASレイテンシに応じて異なる時間値を指定するという慣行は廃止され、タイミングパラメータは1セットのみになりました。

リビジョン1.1では、一部のパラメータを「中間タイムベース」の値に(符号付き、-128 + 127)の「ファインタイムベース」補正を加えた値で表すことができます。通常、中間タイムベースは1/8 ns(125 ps)、ファインタイムベースは1 ps、2.5 ps、または5 psです。補正機能のない以前のバージョンとの互換性を確保するため、中間タイムベースの数値は通常切り上げられ、補正値は負の値になります。このように動作する値は以下のとおりです。

DDR3 SPD 2部構成のタイミングパラメータ
MTBバイトFTBバイト価値
1234t CK min、最小クロック周期
1635t AA min、最小CAS待ち時間
1836t RCD min、RAS#からCAS#までの最小遅延
2037t RP min、最小行プリチャージ遅延
21、2338t RC min、アクティブからアクティブ/プリチャージまでの最小遅延
DDR3 SDRAMのSPDの内容[ 9 ] [ 10 ]
バイト 少し 注記
12月ヘックス76543210
00x00CRCからシリアルを除外するSPDバイト合計(未定義/256)使用されたSPDバイト数(未定義/128/176/256)
10x01SPDの大幅な改訂SPDのマイナーリビジョン1.0、1.1、1.2、または1.3
20x02基本メモリタイプ(11 = DDR3 SDRAM)RAMチップの種類
30x03予約済みモジュールタイプモジュールのタイプ。例: 2 = バッファなし DIMM、3 = SO-DIMM、11 = LRDIMM
40x04該当なしバンクアドレスビット−3log 2 (チップあたりのビット数)−28ゼロは 8 つのバンク、256 Mibit を意味します。
50x05該当なし行アドレスビット−12列アドレスビット−9
60x06予約済み1.25V1.35V1.5Vではないサポートされているモジュール電圧。デフォルトは 1.5 V です。
70x07該当なしランク−1log 2 (I/Oビット/チップ)−2モジュール構成
80x08該当なしECCビット(001=8)log 2 (データビット)−364 ビット、非 ECC DIMM の場合は 0x03。
90x09被除数、ピコ秒(1~15)除数、ピコ秒(1~15)細かい時間基準、被除数/除数
100x0a被除数、ナノ秒(1~255)中期時間基準、被除数/除数、通常は1/8
110x0b除数、ナノ秒(1~255)
120x0c最小サイクル時間 t CK minMTBの倍数
130x0d予約済み
140x0e1110987654サポートされている CAS レイテンシ (ビットマップ)
150x0f該当なし18171615141312
160x10最小CAS待ち時間、t AA minMTB の倍数。例: 80/8 ns。
170x11最小書き込み回復時間、t WR minMTB の倍数。例: 120/8 ns。
180x12RASからCASへの最小遅延時間、t RCD minMTB の倍数。例: 100/8 ns。
190x13最小行間アクティブ遅延時間、t RRD minMTB の倍数。例: 60/8 ns。
200x14最小行プリチャージ時間、t RP minMTB の倍数。例: 100/8 ns。
210x15t RC最小、ビット 11:8t RAS最小、ビット 11:8バイト23と22の上位4ビット
220x16最小アクティブ時間、t RAS min、ビット7:0MTB の倍数。例: 280/8 ns。
230x17アクティブからアクティブ/リフレッシュまでの最小時間、t RC min、ビット7:0MTB の倍数。例: 396/8 ns。
240x18最小リフレッシュ回復遅延、t RFC min、ビット7:0MTB の倍数。例: 1280/8 ns。
250x19最小リフレッシュ回復遅延、t RFC min、ビット15:8
260x1a最小内部書き込みから読み取りまでの遅延、t WTR minMTB の倍数。例: 60/8 ns。
270x1b最小内部読み取りからプリチャージまでの遅延、t RTP minMTB の倍数。例: 60/8 ns。
280x1c予約済みt FAW最小、ビット 11:8MTB の倍数。例: 240/8 ns。
290x1d最小4アクティブ化ウィンドウ遅延t FAW min、ビット7:0
300x1eDLLオフ該当なしRZQ/7RZQ/6SDRAMオプション機能はビットマップをサポート
310x1fPASR該当なしODTS自動応答ETR 1×ETR(95℃)SDRAMのサーマルおよびリフレッシュオプション
320x20現在精度(未定、現在 0 = 未定義)DIMM 温度センサーは存在しますか?
330x21非標準。ダイカウント該当なし信号負荷非標準のSDRAMデバイスタイプ(例:スタックダイ)
340x22t CK最小補正(1.1 の新機能)FTBの符号付き倍数をバイト12に追加
350x23t AA最小補正(1.1 の新機能)FTBの符号付き倍数をバイト16に追加
360x24t RCD最小補正(1.1 の新機能)FTBの符号付き倍数をバイト18に追加
370x25t RP最小補正(1.1 の新機能)FTBの符号付き倍数をバイト20に追加
380x26t RC最小補正(1.1 の新機能)FTBの符号付き倍数をバイト23に追加
39~400x27~0x28予約済み将来の標準化のため。
410x29ベンダー固有t MAW最大アクティベート数(MAC)(未テスト/700k/600k/.../200k/予約済み/∞)ローハンマーの軽減 のため
42~590x2a~0x3b予約済み将来の標準化のため。
600x3c該当なしモジュールの高さ、mm(1~31、>45)モジュール公称高さ
610x3d背面の厚さ、mm(1~16)フロント厚さ、mm(1~16)モジュールの厚さ、値 = 天井(mm) − 1
620x3eデザインリビジョンJEDEC設計番号使用されたJEDECリファレンスデザイン(11111=なし)
63~1160x3f~0x74モジュール固有のセクションレジスタード/アンバッファードの違い
1170x75モジュールメーカーID、lsbyteJEP-106 によって割り当てられました
1180x76モジュール製造元ID、msbyte
1190x77モジュール製造場所ベンダー固有のコード
1200x78数十年製造年(BCD)
1210x79数十週間数週間製造週(BCD)
122~1250x7a~0x7dモジュールのシリアル番号ベンダー固有のコード
126~1270x7e~0x7fSPD CRC-16バイト0~116または0~125を含む。バイト0のビット7を参照。
128~1450x80~0x91モジュール部品番号ASCIIサブセット、スペースパディング
146~1470x92~0x93モジュールリビジョンコードベンダー定義
148~1490x94~0x95DRAMメーカーIDモジュールメーカーとは異なり
150~1750x96~0xAFメーカー固有のデータ
176~2550xB0~0xFFお客様がご利用いただけます

モジュールのメモリ容量は、バイト4、7、8から計算できます。モジュール幅(バイト8)をチップあたりのビット数(バイト7)で割ると、ランクあたりのチップ数が得られます。これにチップあたりの容量(バイト4)とモジュール上のチップのランク数(通常は1または2、バイト7以降)を掛け合わせます。

DDR4 SDRAM

DDR4 SDRAMのSPD規格「Annex L」では、使用されるEEPROMモジュールが変更されています。JEDECは、従来のAT24C02互換の256バイトEEPROMに代わり、SMBusレベルでそれぞれ256バイトのページを2つ持つ新しい非標準EE1004タイプを定義しています。この新しいメモリは、従来の0x50~0x57アドレスを引き続き使用しますが、0x36(SPA0)と0x37(SPA1)の2つの追加アドレスは、バスの現在アクティブなページを選択するコマンドを受信するために使用されるようになりました。これは一種のバンクスイッチングです。[ 11 ]内部的には、各論理ページはさらに128バイトの2つの物理ブロックに分割され、合計4つのブロック、512バイトになります。[ 12 ]「特殊」アドレス範囲のその他のセマンティクスは同じですが、書き込み保護はブロック単位で指定され、SA0の状態を変更するには高電圧が必要になります。[ 13 ]

付録Lでは、メモリモジュールの種類に応じて、512バイト(最大320バイトが定義される)のテンプレートに差し込むことができるいくつかの異なるレイアウトが定義されている。ビット定義はDDR3に類似している。[ 12 ]

DDR4 SDRAMのSPD内容[ 14 ]
バイト 少し 注記
12月ヘックス76543210
00x00使用されたSPDバイト
10x01SPD改訂n通常0x10、0x11、0x12
20x02基本メモリタイプ(12 = DDR4 SDRAM)RAMチップの種類
30x03予約済みモジュールタイプモジュールのタイプ。例: 2 = バッファなし DIMM、3 = SO-DIMM、11 = LRDIMM
40x04銀行グループビットバンクアドレスビット−2ダイあたりの総SDRAM容量(メガビット)ゼロはバンク グループなし、バンク 4 つ、Mibit 256 を意味します。
50x05予約済み行アドレスビット−12列アドレスビット−9
60x06主なSDRAMパッケージタイプダイカウント予約済み信号の読み込み
70x07予約済み最大アクティブ化ウィンドウ(tMAW)最大アクティブ化カウント(MAC)SDRAMのオプション機能
80x08予約済みSDRAMのサーマルおよびリフレッシュオプション
90x09パッケージ修復後(PPR)ソフトPPR予約済みその他のSDRAMオプション機能
100x0aSDRAMパッケージタイプダイスカウント−1DRAM密度比信号の読み込みセカンダリSDRAMパッケージタイプ
110x0b予約済みエンデュラント旗操作可能フラグモジュール公称電圧、VDD
120x0c予約済みランクミックスDIMM−1あたりのパッケージランクSDRAMデバイス幅モジュール構成
130x0d予約済みバス幅の拡張プライマリバス幅モジュールメモリバス幅(ビット)
140x0e熱センサー予約済みモジュール温度センサー
150x0f予約済み拡張ベースモジュールタイプ
160x10予約済み
170x11予約済み中期タイムベース(MTB)ファインタイムベース(FTB)ps 単位で測定されます。
180x12最小SDRAMサイクル時間、t CKAVG minMTB の倍数。例: 100/8 ns。
190x13最大SDRAMサイクル時間、t CKAVG maxMTB の倍数。例: 60/8 ns。
200x141413121110987CASレイテンシサポートビットマスク
210x152221201918171615CASレイテンシサポートビットマスク
220x163029282726252423CASレイテンシサポートビットマスク
230x17低いCL範囲予約済み363534333231CASレイテンシサポートビットマスク
240x18最小CAS待ち時間、t AA minMTB の倍数。例: 1280/8 ns。
250x19RASからCASへの最小遅延時間、t RCD minMTB の倍数。例: 60/8 ns。
260x1a最小行プリチャージ遅延時間、t RP minMTB の倍数。例: 60/8 ns。
270x1bt RAS minとt RC min の上位ニブル
280x1c最小アクティブからプリチャージまでの遅延時間、t RAS min 最下位バイトMTBの倍数
290x1dアクティブからアクティブ/リフレッシュまでの最小遅延時間、t RC min 最下位バイトMTBの倍数
300x1e最小リフレッシュ回復遅延時間、t RFC1 min 最下位バイトMTBの倍数
310x1f最小リフレッシュ回復遅延時間、t RFC1 min 最上位バイトMTBの倍数
320x20最小リフレッシュ回復遅延時間、t RFC2 min 最下位バイトMTBの倍数
330x21最小リフレッシュ回復遅延時間、t RFC2 min 最上位バイトMTBの倍数
340x22最小リフレッシュ回復遅延時間、t RFC4 min 最下位バイトMTBの倍数
350x23最小リフレッシュ回復遅延時間、t RFC4 min 最上位バイトMTBの倍数
360x24予約済みt FAW最小最も重要なニブル
370x25最小4つのアクティブ化ウィンドウの遅延時間、t FAW最小最下位バイトMTBの倍数
380x26最小アクティブ化からアクティブ化までの遅延時間、t RRD_S min、異なるバンクグループMTBの倍数
390x27最小アクティブ化からアクティブ化までの遅延時間、t RRD_L min、同じバンクグループMTBの倍数
400x28最小CAS間遅延時間、t CCD_L min、同一バンクグループMTBの倍数
410x29t WR min の上位ニブル
420x2a最小書き込み回復時間、t WR minMTBの倍数
430x2bt WTR min の上位ニブル
440x2c最小書き込みから読み出し時間、t WTR_S min、異なるバンクグループMTBの倍数
450x2d最小書き込みから読み出し時間、t WTR_L min、同一バンクグループMTBの倍数
49~590x2e~0x3b予約済み基本構成セクション
60~770x3c~0x4dコネクタからSDRAMへのビットマッピング
78~1160x4e~0x74予約済み基本構成セクション
1170x75最小CAS間遅延時間の微調整オフセット、t CCD_L min、同一バンクFTBユニットの2の補数乗数
1180x76最小アクティブ化からアクティブ化までの遅延時間の微調整オフセット、t RRD_L min、同じバンクグループFTBユニットの2の補数乗数
1190x77最小アクティブ化からアクティブ化までの遅延時間の微調整オフセット、t RRD_S min、異なるバンクグループFTBユニットの2の補数乗数
1200x78アクティブからアクティブ/リフレッシュまでの最小遅延時間の微調整オフセット、t RC minFTBユニットの2の補数乗数
1210x79最小行プリチャージ遅延時間の微調整オフセット、t RP minFTBユニットの2の補数乗数
1220x7a最小RASからCASへの遅延時間の微調整オフセット、t RCD minFTBユニットの2の補数乗数
1230x7b最小CAS待ち時間t AA minの微調整オフセットFTBユニットの2の補数乗数
1240x7cSDRAM最大サイクルタイムの微調整オフセット、t CKAVG maxFTBユニットの2の補数乗数
1250x7dSDRAMの最小サイクルタイムの微調整オフセット、t CKAVG minFTBユニットの2の補数乗数
1260x7eベース構成セクションの最下位バイトの巡回冗長検査コード(CRC)CRC16アルゴリズム
1270x7fベース構成セクションの巡回冗長検査コード(CRC)、最上位バイトCRC16アルゴリズム
128~1910x80~0xbfモジュール固有のセクションメモリモジュールファミリー(UDIMM、RDIMM、LRDIMM)に依存
192~2550xc0~0xffハイブリッドメモリアーキテクチャ固有のパラメータ
256~3190x100~0x13f拡張機能パラメータブロック
320~3210x140~0x141モジュールメーカーJEP-106を参照
3220x142モジュール製造場所メーカー定義の製造場所コード
3230x143モジュール製造年2進化10進数(BCD)で表現
3240x144モジュール製造週2進化10進数(BCD)で表現
325~3280x145~0x148モジュールのシリアル番号部品番号全体にわたる一意のシリアル番号のメーカー定義形式
329~3480x149~0x15cモジュール部品番号ASCII部品番号、未使用の数字は0x20に設定する必要があります
3490x15dモジュールリビジョンコードメーカー定義のリビジョンコード
350~3510x15e~0x15fDRAMメーカーIDコードJEP-106を参照
3520x160DRAMステッピングメーカー定義のステップ、または使用されていない場合は 0xFF
353–3810x161~0x17dメーカー固有のデータ
382–3830x17e~0x17f予約済み

DDR5 SDRAM

JESD400-5仕様に基づくDDR5の予備表。[ 15 ]

DDR5ではSPDテーブルが1024バイトに拡張されます。DDR5のSPDはI3Cバスを使用します。

DDR5 SDRAMのSPD内容
バイト 少し 注記
12月ヘックス76543210
00x00SPDデバイスのバイト数
10x01基本構成パラメータの SPD リビジョン
20x02キーバイト/ホストバスコマンドプロトコルタイプ
30x03キーバイト/モジュールタイプ
40x04最初のSDRAMの密度とパッケージ
50x05最初のSDRAMアドレス指定
60x06最初のSDRAM I/O幅
70x07最初の SDRAM バンク グループとバンク グループあたりのバンク
80x082番目のSDRAMの密度とパッケージ
90x092番目のSDRAMアドレス指定
100x0a2番目のSDRAM I/O幅
110x0b2番目のSDRAMバンクグループとバンクグループあたりのバンク
120x0cSDRAMのオプション機能
130x0d温度とリフレッシュのオプション
140x0e予約済み
150x0f予約済み
160x10SDRAM公称電圧、VDD

EEPROMチップ

JEDEC規格では、EEPROMには主に3つの世代が存在します。DDR3以前では256バイトのEE1002、DDR4では512バイトのEE1004、そしてDDR5では1024バイトの「ハブ」SPD1558です。EE1002は標準的な24シリーズEEPROMです。EE1004は新しい34シリーズEEPROMで、主な違いは「ページスイッチ」コマンドによって全内容にアクセスできる点です(他にも様々な違いがあります)。SPD1558は大きく異なります。

EE1002 と EE1004 には熱センサー バージョンもありますが、SPD 部分については同じプロトコルを使用します。

アドレッシング

前述のように、SPDは3つのピンを使用して0から7までの最大8つの個別のモジュールをアドレス指定します。これはEE1002とEE1004にのみ当てはまります。SPD1558は、接地抵抗付きの1つのピンを使用して、モジュールのIDを0から7まで指定します。[ 16 ]:§2.7

EE1002およびEE1004のI2Cアドレス範囲は0x50~0x57です。また、書き込み保護されていない場合(下記参照)は0x30~0x37を使用します。関連する温度センサーがある場合は、0x18~0x1Fを使用します。これらの値はすべて、デバイスタイプ識別コード(DTIC)プレフィックスとSA0-2で構成される7ビットのI2Cアドレスです。スロット3から(1100)を読み取るには、SA0-2を使用します110 0011 = 0x33。最後のR/Wビットと合わせて8ビットのデバイス選択コードを形成します。[ 17 ]

5118には多くのデバイスが搭載されています。ハブ自体は以前と同様に0x50~0x57に配置されています。ローカルデバイスはハブを介してI3Cを介してアドレス指定ます。 [ 16 ] §2.7

書き込み保護

EE1002には3層の書き込み保護機能があります。ハードウェア層はWC#ピンの形で、ローレベルにするとすべての書き込みが禁止されます。ソフトウェア層はいくつかのコマンドで構成されています。ソフトウェアによる書き込み保護を変更するには、アドレスピンSA0にV HV(通常の0または1の論理電圧ではなく)を印加し、他のSAピンには特定の組み合わせを適用する必要があります。その結果、スロットIDによる区別はなくなります。[ 18 ]最後の層は「恒久的」層で、最初の128バイトを恒久的に変更不可にするコマンドを送信できます。[ 19 ]

EE1004にはWC#ピンや「永続的」レイヤーはありません。デバイスの64バイトスライスごとに書き込み保護状態を個別に設定するためのコマンドが4つ(異なる を使用)と、それらをすべて一括でクリアするためのコマンドが1つあります。これらのコマンドはすべて、以前と同様にV HV を駆動する必要があります。[ 20 ]

SPD5118には2つの保護モードがあります。アドレスピンを抵抗を介してGNDに接続する通常動作モードでは、64バイトスライスへの保護の追加は可能ですが、削除することはできません。一方、アドレスピンを直接GNDに接続する「テスター」モードでは、これらのビットを自由に削除できます。[ 16 ]:§2.7 (ハブ自体にも、EEPROM部分とは独立した揮発性および不揮発性レジスタが多数搭載されています。一部のレジスタは「パスワード保護」されており、「パスワードレジスタ」に正しい値が設定されていない限り、読み取りも書き込みもできません。)

拡張機能

JEDEC規格では、SPDバイトの一部のみが規定されています。本当に重要なデータ(DDR3まで)は最初の64バイトに収まります[ 6 ] [ 7 ] [ 21 ] [ 22 ] [ 23 ]。残りの一部はメーカー識別用に割り当てられています。しかし、256バイトのEEPROM(DDR3まで)が標準化されています。残りのスペースは様々な用途に利用されてきました。

メモリには通常、SPD ROMに控えめなタイミング推奨値が設定されており、あらゆるシステムで基本的な機能を確保しています。愛好家は、メモリの高速化のために手動でタイミング調整を行うのにかなりの時間を費やすことがよくあります。Intel XMPやAMD EXPOなどの特殊な構成を有効にすると、システムの安定性を確保するために追加のテストが必要になることが多くメーカー公表している仕様外で使用した場合、CPUの保証が無効になる可能性があります。[ 25 ] [ 26 ] [ 27 ]

拡張パフォーマンスプロファイル(EPP)

拡張パフォーマンスプロファイル(EPP)は、 NVIDIACorsairによって開発されたSPDの拡張版であり、 DDR2 SDRAMの高性能動作のための追加情報(JEDEC SPD仕様には含まれていない電源電圧やコマンドタイミング情報など)が含まれています。EPP情報は同じEEPROMに保存されますが、標準のDDR2 SPDでは使用されないバイト番号99~127に格納されます。[ 28 ]

EPP SPD ROMの使用
バイトサイズ詳細なプロフィール短縮プロフィール
99~1035EPPヘッダー
104~1096プロファイル FP1プロフィール AP1
110~1156プロフィール AP2
116~1216プロフィール FP2プロフィール AP3
122~1276プロフィール AP4

これらのパラメータは、 nForce 5nForce 6nForce 7チップセットのメモリコントローラに合わせて特別に設計されています。NVIDIAは、ハイエンドマザーボードチップセットのBIOSでEPPのサポートを推奨しています。これは、最小限の労力でパフォーマンスを向上させる 「ワンクリックオーバークロック」を実現することを目的としています。

NVIDIAは、性能と安定性が認定されたEPPメモリを「SLI対応メモリ」と呼んでいます。[ 29 ]「SLI対応メモリ」という用語は、SLIビデオとは全く関係がないため、混乱を招くことがあります。EPP/SLIメモリは1枚のビデオカード(NVIDIA製以外のカードでも)で使用でき、EPP/SLIメモリなしでも複数カードのSLIビデオ構成を実行できます。

拡張版EPP 2.0はDDR3メモリもサポートしています。[ 30 ]

インテル エクストリーム メモリ プロファイル (XMP)

同様のIntelが開発したJEDEC SPD拡張はDDR3 SDRAM DIMM用に開発され、後にDDR4およびDDR5 SDRAMにも使用されました。XMPは、JEDECによって割り当てられていないバイト176~255を使用して、より高性能なメモリタイミングをエンコードします。[ 31 ]

その後、AMDはXMPと同等の技術であるAMPを開発し、AMDプラットフォーム向けに最適化されたメモリモジュール「Radeon Memory」シリーズに採用した。[ 32 ] [ 33 ]さらに、マザーボード開発者はAMDベースのマザーボードでXMPプロファイルを読み込むための独自の技術を実装した。MSIはA-XMP、[ 34 ] ASUSはDOCP(Direct Over Clock Profile)、GigabyteはEOCP(Extended Over Clock Profile)を提供している。[ 35 ]

DDR3 XMP

XMP SPD ROMの使用法[ 36 ]
DDR3バイトサイズ使用
176~1849XMPヘッダー
185~21935XMPプロファイル1(「愛好家」設定)
220~25435XMPプロファイル2(「極端」な設定)

ヘッダーには以下のデータが含まれています。最も重要なのは、ナノ秒単位の有理数(一般的な値は1/8、1/12、1/16ナノ秒)で表された「中間タイムベース」値MTBが含まれていることです。以降の多くのタイミング値は、MTB単位の整数で表されます。

ヘッダーには、プロファイルがサポートするように設計されているメモリ チャネルあたりの DIMM の数も含まれます。これ以上の DIMM を含めると、正常に動作しない可能性があります。

XMPヘッダーバイト[ 36 ]
DDR3バイトビット使用
1767:0XMPマジックナンバーバイト1 0x0C
1777:0XMPマジックナンバーバイト2 0x4A
1780プロファイル1が有効(0の場合は無効)
1プロファイル2が有効
3:2チャネルあたりのプロファイル 1 DIMM (1~4 は 0~3 としてエンコードされます)
5:4プロファイル チャネルあたり 2 DIMM
7時6分予約済み
1793:0XMP マイナー バージョン番号 (x.0 または x.1)
7時4分XMP メジャー バージョン番号 (0.x または 1.x)
1807:0プロファイル1の中期タイムベース配当
1817:0プロファイル 1 の中間タイムベース除数 (MTB = 被除数/除数 ns)
1827:0プロファイル2の中期タイムベース配当(例:8)
1837:0プロファイル2の中間タイムベース除数(例:1、MTB = 1/8 ns)
1847:0予約済み
XMPプロファイルバイト[ 36 ]
DDR3 バイト1DDR3 バイト 2ビット使用
1852200モジュールVdd電圧の20分の1(0.00または0.05)
4:1モジュールVdd電圧の10分の1(0.0~0.9)
6時5分モジュールVdd電圧単位(0~2)
7予約済み
1862217:0最小SDRAMクロック周期 t CK min (MTB単位)
1872227:0最小CAS待ち時間 t AA分(MTB単位)
1882237:0CAS レイテンシをサポート(ビットマップ、4~11 はビット 0~7 としてエンコード)
1892246:0CAS レイテンシをサポート(ビットマップ、12~18 はビット 0~6 としてエンコード)
7予約済み
1902257:0最小CAS書き込み遅延時間 t CWL min (MTB単位)
1912267:0最小行プリチャージ遅延時間 t RP min (MTB単位)
1922277:0最小RASからCASへの遅延時間t RCD min(MTB単位)
1932287:0最小書き込み回復時間 t WR min (MTB単位)
1942293:0t RAS最小上位ニブル(ビット 11:8)
7時4分t RC最小上位ニブル(ビット 11:8)
1952307:0アクティブからプリチャージまでの最小遅延時間 t RAS min ビット 7:0 (MTB 単位)
1962317:0アクティブからアクティブ/リフレッシュまでの最小遅延時間 t RC min ビット 7:0 (MTB 単位)
1972327:0最大平均リフレッシュ間隔 t REFI lsbyte (MTB単位)
1982337:0最大平均リフレッシュ間隔 t REFIミリ秒バイト(MTB単位)
1992347:0最小リフレッシュ回復遅延時間 t RFC min lsbyte (MTB単位)
2002357:0最小リフレッシュ回復遅延時間 t RFC min msbyte (MTB単位)
2012367:0最小内部読み取りからプリチャージコマンドまでの遅延時間 t RTP min (MTB単位)
2022377:0最小列アクティブ間遅延時間 t RRD min (MTB単位)
2032383:0t FAW最小上位ニブル(ビット 11:8)
7時4分予約済み
2042397:0最小4つのアクティブ化ウィンドウ遅延時間 t FAW min ビット 7:0 (MTB単位)
2052407:0最小内部書き込みから読み取りコマンドまでの遅延時間 t WTR min (MTB単位)
2062412:0書き込みから読み取りコマンドまでのターンアラウンドタイム調整(0~7クロックサイクル)
3書き込みから読み取りコマンドのターンアラウンド調整符号(0=プルイン、1=プッシュアウト)
6時4分読み取りから書き込みまでのコマンドのターンアラウンドタイム調整(0~7クロックサイクル)
7読み取りから書き込みコマンドのターンアラウンド調整符号(0=プルイン、1=プッシュアウト)
2072422:0連続コマンドのターンアラウンドタイム調整(0~7クロックサイクル)
3バックツーバックターンアラウンド調整サイン(0=プルイン、1=プッシュアウト)
7時4分予約済み
2082437:0システムCMDレートモード。0 = JTAGのデフォルト、それ以外の場合はMTB × t CK /nsの固有単位。例えばMTBが1/8 nsの場合、これは1/8クロックサイクル単位となります。
2092447:0SDRAM の自動セルフリフレッシュ性能。標準バージョン 1.1 では、ドキュメントは未定とされています。
210~218245~2537:0予約済み
2192547:0予約済みのベンダー固有のパーソナリティ コード。

AMD オーバークロック用拡張プロファイル (EXPO)

AMDのオーバークロック用拡張プロファイル(EXPO)は、 DDR5 DIMM用に開発されたJEDEC SPD拡張機能で、システムメモリにワンクリックの自動オーバークロックプロファイルを適用します。[ 37 ] [ 38 ] AMD EXPO認定DIMMには、 Zen 4プロセッサで動作するように認定された最適化されたタイミングが含まれています。[ 39 ] Intelのクローズド標準XMPとは異なり、EXPO標準はオープンでロイヤリティフリーです。[ 38 ] Intelプラットフォームで使用できます。[ 38 ] 2022年9月の発売時点では、最大6400 MT/sに達するEXPO認定のパートナーRAMキットが15種類あります。[ 40 ]

ベンダー固有のメモリ

よくある誤用として、特定のメモリ領域に情報を書き込んで、ベンダー固有のメモリモジュールを特定のシステムにバインドすることが挙げられます。富士通テクノロジーソリューションズは、この方法で悪用していることが知られています。異なるメモリモジュールをシステムに追加すると、通常は拒否されるか、その他の対策(起動時に毎回F1キーを押すなど)が取られます。

02 0E 00 01-00 00 00 EF-02 03 19 4D-BC 47 C3 46 ...........MGF 53 43 00 04-EF 4F 8D 1F-00 01 70 00-01 03 C1 CF SC...O....p..... 

これは、富士通シーメンス・コンピューターズ社製のMicron Technologies社製512MBメモリモジュールの出力です。「FSC」(46 53 43)という文字列に注目してください。システムBIOSは、オフセット128hから始まるこの情報を持たないメモリモジュールを拒否します。

一部のPackard Bell AMDラップトップでもこの方法が採用されていますが、症状は様々ですが、ビープ音ではなくカーソルの点滅が表示されることがあります。ちなみに、これはBIOSの破損の症状である可能性もあります。[ 41 ]ただし、2GBメモリを4GBにアップグレードした場合も問題が発生する可能性があります。

SPD情報の読み取りと書き込み

メモリモジュールメーカーは、SPD情報をモジュール上のEEPROMに書き込みます。マザーボードのBIOSは、 SPD情報を読み取り、メモリコントローラを構成します。

オンボードSMBus

マザーボードのSMBusコントローラは、接続されたメモリモジュール上のSPDにアクセスするための「生の」方法です。一部のマザーボードチップセットでは、SPDへの書き込み保護を選択できる場合があります。この方法でアクセスするには、オペレーティングシステムがSMBusをサポートし、EEPROM用の適切なドライバがインストールされていること、そしてマザーボードのSMBusがSPDのEEPROMに接続されている必要があります。

  • (R) LinuxおよびFreeBSDでは、が提供するユーザー空間プログラムは、コンピュータ内のSPD情報を持つメモリのJEDEC標準情報をデコードして出力します。DDR4以前のSPDの場合は、「eeprom」または「at24」ドライバ(24シリーズEEPROM)が必要です。DDR4 SPDの場合は、「eeprom」ドライバまたは「ee1004」ドライバ(JEDEC EE1004で定義された34シリーズEEPROM)が必要です。[ 42 ] [ 43 ]古いLinuxディストリビューションでは、decode-dimms.plはlm_sensorsの一部として利用可能でした。 decode-dimmsi2c-tools
    • (W) eeprogi2c-tools のツールを使用すると、24 シリーズの EEPROM、つまり DDR3 まで書き込むことができます。
  • (RW) LinuxおよびFreeBSDでは、PythonスクリプトはAT24およびEE1004シリーズのEEPROMの読み書きが可能です。SMBusの生の読み書きのみを提供し、デコード機能は提供していません。ドライバの要件は[ 44 ]spd-eepromと同じですi2c-tools
  • (R) OpenBSD 4.3+ およびNetBSD 5.0+ では、spdmem(4)ドライバは SMBus を介して EEPROM にアクセスし、メモリ モジュールに関する情報を提供します (JEDEC 標準部分のみ)。
  • (R) Coreboot は、SPD 情報を読み取り、それを用いてコンピューター内のすべてのメモリコントローラーをタイミング、サイズ、その他のプロパティと共に初期化します。Coreboot は、 BIOS(またはUEFI対応 BIOS)を置き換え、コンピューターのファームウェアとして機能することを目的としています。
  • (R) HWiNFOCPU-ZSpeccyは、XMPやその他の拡張機能を含むSPD情報を読み取って表示するMicrosoft Windowsプログラムです。 [ 45 ]
  • (RW) Thaiphoon Burner(アバンダンウェア)は、DDR4(XMPを含む)までのメモリモジュールからSPDの読み書きを可能にするWindowsプログラムです。SPDtoolも同様の用途を持つアバンダンウェアです。

その他のSMBus機能

温度センサー

JEDECは、メモリストリップ上のSMBusアドレス指定可能な温度センサーに関する規格を定めています。TS3000はDDR3までに対応した独立したセンサーです。TSE2002はDDR3までに対応したSPDと温度センサーを組み合わせたものです。TSE2004はDDR4に対応したSPDと温度センサーを組み合わせたものです。SPD5118は、DDR5で温度とSPDを統合した「ハブ」です。

RGB LED制御

一部のメモリモジュール(特にゲーミングPC[ 46 ]は、独自のSMBusコマンドで制御されるRGB LEDをサポートしています。これにより、追加のコネクタやケーブルなしでLEDの色を制御できます。これらのライトを制御するために必要な、複数のメーカーのWindowsカーネルドライバが悪用され、カーネルメモリへのフルアクセスからMSRやI/Oポートの制御に至るまで、2020年だけでも数多くの不正アクセスが発生しています。[ 47 ] [ 48 ] [ 49 ]

SMBIOS

SMBIOS、BIOSからコンピュータへメモリに関するデータを中継します。この情報は、LinuxFreeBSDNetBSDOpenBSDBeOSCygwinSolarisで動作するdmidecodeプログラムによってアクセスされます。繰り返しますが、このプログラムはSPD情報ではなくSMBIOS情報にアクセスするため、データが制限されていたり、不正確であったりする可能性があります。[ 50 ]

現地SMバス

EEPROMチップを取り外して別の場所に移植することで、より直接的なSMBusアクセスが可能になります。これにより、チップセットからの干渉を排除できます。

ノートパソコンとウェブカメラ

古いノートパソコンのあまり一般的ではない用途として、汎用SMBusリーダーがあります。これは、モジュール内の内部EEPROMをBIOSが読み込んだ後、無効にできるため、バスを実質的に使用可能にできるためです。使用される方法は、A0とA1ラインをLowにすることで内部メモリをシャットダウンし、外部デバイスがSMBusにアクセスできるようにすることです。これが完了すると、カスタムLinuxビルドまたはDOSアプリケーションから外部デバイスにアクセスできるようになります。一般的な用途としては、LCDパネルのメモリチップからデータを復元し、汎用パネルを独自仕様のノートパソコンに後付けすることが挙げられます。

関連する技術として、多くのノートパソコンに搭載されているウェブカメラのチップを書き換えるという方法があります。バス速度が大幅に高速化しているためです。マザーボードのUEFI ROMの保存によく使用される25シリーズのチップを読み書きできるように改造することで、チップの故障を防ぐことも可能です。

一部のチップでは、オンボード チップが再プログラミング中に消去されないように、書き込み保護ラインを分離することもお勧めします。

チップ生成の問題

残念ながら、これはDDR3以下のメモリでのみ機能します。DDR4では、512バイトのSPD(以前の世代の256バイトではなく)に適合するために、異なるチップモデル(34シリーズ)が使用されているためです。このチップインターフェース(EE1004/TSE2004)はストレージを2つのページに分割し、チップ全体の読み書きにはページスイッチが必要です。

一部のチップセットでは、34シリーズEEPROMチップの読み取りネゴシエーションが正しく行われないため、読み取りに失敗する場合があります。ソフトウェアは「SMBusドライバに互換性がありませんか?」というメッセージを返す場合があります。

DDR5 では、さらに複雑な設計である SPD5118「ハブ」が使用され、容量がさらに 2 倍になっています。

古い機器の場合

一部の古い機器では、パラレルプレゼンス検出(一般的にはプレゼンス検出またはPDと呼ばれる)機能付きのSIMMを使用する必要があります。これらの機器の中には、非標準のPDコーディングを使用しているものもあり、特に IBMのコンピューターやHewlett-Packard LaserJetなどのプリンターがこれに該当します。

参照

参考文献

  1. ^ Thomas P. Koenig、Nathan John(1997年2月3日)、「Serial Presence Detectionが脚光を浴びる」Electronic News43(2153)
  2. ^ Dean Kent (1998年10月24日). 「Ram Guide」 . Tom's Hardware .
  3. ^ Shimpi, Anand Lal. 「PC100 SDRAM: 入門」 www.anandtech.com . 2011年5月24日時点のオリジナルよりアーカイブ
  4. ^アプリケーションノート INN-8668-APN3: SDRAM SPD データ標準、memorytesters.com
  5. ^ PC SDRAM Serial Presence Detect (SPD) 仕様(PDF)、1.2A、1997年12月、p. 28、2014年5月31日時点のオリジナル(PDF)からアーカイブ、 2014年5月30日取得
  6. ^ a b JEDEC規格21-Cセクション4.1.2.4「DDR SDRAM用SPD」
  7. ^ a b JEDEC規格21-Cセクション4.1.2.10「DDR2 SDRAMの特定のSPD」
  8. ^ 「DDR3シリアルプレゼンス検出(SPD)テーブルについて」 。 2015年12月22日時点のオリジナルよりアーカイブ2010年5月29日閲覧。
  9. ^ JESD21-C Annex K: DDR3 SDRAMモジュールのシリアルプレゼンス検出、リリース4、SPDリビジョン1.1
  10. ^ JESD21-C Annex K: DDR3 SDRAMモジュールのシリアルプレゼンス検出、リリース6、SPDリビジョン1.3
  11. ^ Delvare, Jean. 「[PATCH] eeprom: DDR4メモリ用の新しいee1004ドライバ」 . LKML . 2019年11月7日閲覧
  12. ^ a b JEDEC. 「Annex L: Serial Presence Detect (SPD) for DDR4 SDRAM Modules」(PDF) . 2020年2月21日時点のオリジナルよりアーカイブ。
  13. ^ JEDEC. 「EE1004およびTSE2004デバイス仕様(ドラフト)」(PDF) . 2017年7月9日時点のオリジナルよりアーカイブ。 2019年11月7日閲覧
  14. ^ JESD21-C Annex L: DDR4 SDRAMモジュールのシリアルプレゼンス検出、リリース5
  15. ^ “JESD400-5B(JESD400-5B)” .ジェデック。 2023年2023 年12 月 31 日に取得
  16. ^ a b c SPD5118ハブおよびシリアルプレゼンス検出デバイス規格JESD300-5B.01バージョン1.5.1 2023年5月
  17. ^ JEDEC規格21-Cセクション4.1.4「メモリモジュールアプリケーション用温度センサー(TS)付きTSE2002avシリアルプレゼンス検出(SPD)EEPROMの定義」
  18. ^ 「TN-04-42: メモリモジュールシリアルプレゼンス検出書き込み保護」(PDF) . Micron .
  19. ^ JEDEC規格No. 21-C 4.1.3 EE1002およびEE1002Aシリアルプレゼンス検出(SPD)EEPROMの定義 4_01_03R19-01.pdf
  20. ^ JEDEC 規格 No. 21-C 4.1.6 EE1004-v 4 Kbit シリアルプレゼンス検出 (SPD) EEPROM および TSE2004av 4 Kbit SPD EEPROM メモリモジュールアプリケーション用温度センサー (TS) 付き定義 4_01_06R26-01-1.pdf
  21. ^ JEDEC規格21-Cセクション4.1.2.11「DDR3 SDRAMモジュールのシリアルプレゼンス検出(SPD)」
  22. ^ JEDEC規格21-Cセクション4.1.2「シリアルプレゼンス検出規格、一般規格」
  23. ^ JEDEC規格21-Cセクション4.1.2.5「同期DRAM(SDRAM)の特定のPD」
  24. ^ 「XMPとは何か、そしてなぜRAMにとって重要なのか?」 How-To Geek、2023年9月21日。 2025年5月19日閲覧
  25. ^ 「XMPとメモリのオーバークロックは保証が無効になっても問題ない理由」 PCWorld、2021年3月16日。 2025年5月19日閲覧
  26. ^ 「AMD Ryzen 7000のバーンアウト:EXPOとSoC電圧が原因(AMDの回答)」 Tom's Hardware、2023年4月25日。 2025年5月19日閲覧
  27. ^ 「Intel® Extreme Memory Profile (Intel® XMP)」 . Intel . 2025年5月19日閲覧。クロック周波数または電圧を変更すると、プロセッサーやその他のシステムコンポーネントが損傷したり、耐用年数が短縮されたり、システムの安定性とパフォーマンスが低下する可能性があります。プロセッサーが仕様を超えて動作した場合、製品保証が適用されない場合があります。
  28. ^ DDR2 UDIMM 拡張パフォーマンスプロファイル設計仕様(PDF)Nvidia、2006年5月12日、 2009年5月5日閲覧
  29. ^ 「技術概要 - SLI対応メモリと強化されたパフォーマンスプロファイル、ワンクリックで手間いらずのメモリパフォーマンス向上」(PDF) 。2008年12月7日時点のオリジナル(PDF)からのアーカイブ
  30. ^拡張パフォーマンスプロファイル 2.0 (pp. 2–3)
  31. ^ 「Intel Extreme Memory Profile (Intel XMP) とは?」 Intel . 2022年9月26日閲覧
  32. ^ 「メモリプロファイルテクノロジー - RAMをAMPアップ」 AMD 20122018年1月8日閲覧
  33. ^ Martin, Ryan (2012年7月23日). 「AMD、XMP相当のAMP - eTeknixを発表」 . eTeknix . 2018年1月8日閲覧
  34. ^ 「MSIは世界初、RyzenでA-XMPを有効にしてDDR4の最高のパフォーマンスを実現し、新モデルを発表」 MSI 2017年3月21日。 2018年1月8日閲覧
  35. ^ Tradesman1 (2016年8月26日). 「XMP、DOCP、EOCPの意味 - 解決済み - メモリ」 . Tom's Hardware Forums . 2018年1月8日閲覧{{cite web}}: CS1 maint: 数値名: 著者リスト (リンク)
  36. ^ a b c「Intel Extreme Memory Profile (XMP) 仕様、Rev 1.1」(PDF)。Intel 。2007年10月。2012年3月6日時点のオリジナルよりアーカイブ2010年5月25日閲覧
  37. ^ 「オーバークロック用AMD拡張プロファイル」 AMD 20229月26日閲覧
  38. ^ a b c Roach, Jacob (2022年9月6日). 「AMD EXPOとは何か?私のDDR5には搭載されているべきか?」 Digital Trends . 2022年9月26日閲覧
  39. ^ Bonshor, Gavin (2022年8月30日). 「AMD EXPOメモリテクノロジー:Ryzen 7000向けワンクリックオーバークロックプロファイル」 . AnandTech . 2022年8月30日時点のオリジナルよりアーカイブ。 2022年9月26日閲覧
  40. ^ 「AMD、DDR5メモリオーバークロック向けEXPOテクノロジーを発表」 VideoCardz 2022年8月30日。 2022年9月26日閲覧
  41. ^ 「Packard Bell LJ65 RAMアップグレード」。Tom 's Hardware Forum。2014年1月9日。
  42. ^ "decode-dimms(1)" . Debian マンページ2020 年12 月 16 日に取得
  43. ^ "decode-dimms" . www.freebsd.org . 2021年1月24日閲覧
  44. ^ Chen, Jack (2025年5月25日). 「redchenjs/spd-eeprom」 . GitHub .
  45. ^ 「HWiNFO -プロフェッショナルシステム情報と診断」。HWiNFO
  46. ^ 「VENGEANCE RGB PROシリーズ DDR4メモリ | デスクトップメモリ​​ | CORSAIR」www.corsair.com . 2020年11月26日閲覧
  47. ^ ActiveCyber​​. Viper RGB ドライバーにおけるローカル権限昇格技術レポート)。CVE - 2019-18845 – MITRE Corporation 提供。
  48. ^ ActiveCyber​​. CORSAIR iCUE ドライバーにおけるローカル権限昇格 (CVE-2020-8808) (技術レポート). CVE - 2020-8808 – MITRE Corporation 提供.
  49. ^ ActiveCyber​​. ACTIVE-2020-003: Trident Z Lighting Control Driver におけるローカル権限昇格技術レポート)。CVE - 2020-12446 – MITRE Corporation 提供。
  50. ^ 「dmidecode: 何に役立つのか?」 Linux.com | Linux 情報源2004年11月29日