DDR Test
DDR
DDR(Double Data Rate)は、メモリ伝送の標準規格です。直訳すると、タイムパルスサイクル(クロックサイクル)ごとに2回のデータ転送がある、となります。メモリは、初期のDDRから、DDR2、DDR3、DDR4、DDR5と進化してきました。DDRの規格によって、ピンの配列、伝送速度、消費電力が異なります。
JEDEC Association
正式名称は「JEDEC Solid State Technology Association」で、1958年に設立されました。マイクロエレクトロニクス業界をリードする標準化団体で、JEDECはいかなる国や政府機関にも属していません。JEDECの主な目的は、SSD(ソリッドステートストレージ)、DRAM、フラッシュメモリーカード、RFID(無線自動識別)などの製品の製造、試験、機能定義の標準化を図ることです。詳細については、https://www.jedec.org を参照ください。
DDR仕様の最新バージョン
DDRのバージョンが異なる場合は、それぞれの仕様に従う必要があります。JEDECアカウントにログインし、下記ページより仕様をご確認ください。 https://www.jedec.org/standards-documents
テストエリア
DDRテストは次のプロダクトタイプとしてテストされます。
圖片9
圖片10
DDR5
Select)端子にて制御されます。
Select)端子にて制御されます。
CoreとI/O電圧
まず、CoreとI/O電圧ですが、DDR4の1.2Vから0.1V下がり、DDR5では、1.1Vとなります。DDR3からDDR4への変更時には1.5Vから1.2Vと0.3Vも低下したのに対し、DDR4からDDR5では0.1Vの低下に留まっています。
低電圧化を行う際には、トランジスタ素子の特性や回路構成を見直すことが想定されますが、電源電圧の下げ幅が小さくなっているので、低電圧化に関しては限界に近づきつつあるのではと思われます。
Data Rate
続いてData Rateですが、DDR4では1600~3200MTSのサポートに対し、DDR5では3200から6400MTSと2倍のData Rateをサポートすることになります。
Data Rateを向上する上で欠かせないのがプロセスの微細化です。DDR4の2倍のData Rateを実現するために、メモリメーカー各社とも微細化プロセスを適用した製品開発を進めています。例えば、Micronは先ず、1Znmプロセスを用いてDDR5の製品開発を進めています。
Burst Length、Bank Group
動作電圧の低下、プロセスの微細化以外にDDR5の仕様を実現する上でDDR4から変更となるのがBurst Length、Bank Group、BankでそれぞれDDR4の2倍になります。
Bust Lengthは、DDR4の8から倍増の16にすることで、コマンド/アドレスとデータバスの効率性が向上します。
Bank GroupにおいてもDDR5では、DDR4の倍になっていますが、Bank Group毎のBank数はDDR4と同じです。これにより特定の時間におけるページ数が増加し、ページのヒット率が高くなるため、全体的なシステム効率が向上します。
端子関係では、Bank Groupの増加やコマンドの適用拡大等、DDR4から単純に機能を増加すると端子数の増加要因になります。一例としてDDR5ではBank Group数は8Groupになりますが、この変更によりBank Groupを指定するアドレスbitが2から3bitに増加してしまいます。そこでDDR5では端子数を削減するための対策が取られています。
代表的なところでは、ODT端子(On Die Termination)とCKE(Clock Enable)端子で、DDR5ではODT端子とCKE端子は削除されています。ODTの制御については、コマンド入力への制御に移行されます。CKE端子は元々パワーダウンモードとセルフリフレッシュモードへの移行を目的に端子に機能が割り当てられていましたが、DDR5では、パワーダウンモードへの移行に関しては、コマンド入力で制御されることになります。DisableについてはCS(Chip Select)端子にて制御されます。
| モジュール | チップ | 個 | バンク | 行 | 列 |
| 8GB | 512Mb*16bit | 4 | 4*2=8 | 16bit | 10bit | |
| 16GB | 1Gb*8bit | 8 | 8*2=16 | 16bit | 10bit | |
| 24GB | 6Gb*4bit | 8 | 8*4=32 | 17bit | 10bit | |
| 32GB | 1Gb*8bit | 8*2 | 8*2=16 | 16bit | 10bit | |
>| 48GB | 6Gb*4bit | 16 | 8*4=32 | 17bit | 10bit | |
| 64GB | 2Gb*4bit | 16*2 | 8*2=16 | 16bit | 10bit | |
| 96GB | 6Gb*4bit | 16*2 | 8*4=32 | 17bit | 10bit | |
DDR5-4800 40-39-39
DDR5-5200 42-42-42
DDR5-5600 46-45-45
| チップ規格 |
モジュール規格 |
メモリクロック |
バスクロック |
転送速度 |
| 2f |
16f |
f/8 |
f |
16f |
| MBPS |
MB/s |
MHz |
MHz |
GB/s |
| DDR5-4800 |
PC-38400 |
300 |
2400 |
38.4 |
DDR4
この伝統に則れば、DDR4では16bitプリフェッチを採用することになる。しかし実際にはDDR3と同じ8bitプリフェッチを採用した。16bitプリフェッチを導入するとデータバッファのシリコンダイ面積がさらに増える。これを嫌った。その代わりに、「バンクグループ(Bank Group)」という考え方を導入してデータ転送速度を高めた。
DDR3 DRAMではメモリセルアレイを8個のメモリバンクに分割しており、すべてのメモリバンクが1つの入出力バッファにつながっていた。DDR4 DRAMではメモリセルアレイを16個のメモリバンクに分割し、4個のメモリバンクを1個のバンクグループにまとめた。そして入出力バッファを4個のローカルバッファと1個のグローバルバッファの2階層構成とし、各バンクグループを個別にローカルバッファに接続した。4個のローカルバッファが1個のグローバルバッファにつながり、データとして入出力される。そして異なるバンクグループに連続してアクセスすることで、データ転送速度の最大値をDDR3の2倍に高めた。
Double Data Rate 入力差動クロックの交点で転送することにより入力クロックの倍の転送レートとなります。メモリは入力クロックの1/8で動作します。
一度の読みだしで同時に8bit分読み出してプリフィッチバッファに保存する。
メモリにたいして8倍速の転送速度となる。
バースト超は4または8のほか動作中にバースト長を変更できるバーストチョップ機能を備えている。デスクトップ用で見ると、DDR4のピン数は288、DDR3は240と接 動作電圧は1.2Vが標準規格
JEDEC準拠
DDR4-2133 15-15-15
DDR4-2400 17-17-17
DDR4-2666 19-19-19
DDR4-3200 22-22-22
512*16*4 4gb
4 8 16GB 32GB
| モジュール | チップ | 個 | バンク | 行 | 列 |
| 2GB | 256Mb*16bit | 4 | 4*2G=8 | 15bit | 10bit | |
| 4GB | 512Mb*8bit | 8 | 4*4=16 | 15bit | 10bit | |
| 8GB | 1Gb*8bit | 8 | 4*4=16 | 16bit | 10bit | |
| 16GB | 1Gb*8bit | 8*2 | 16 | 16bit | 10bit | |
| 32GB | 2Gb*8bit | 8*2 | 4*4=16 | 17bit | 10bit | |
| チップ規格 |
モジュール規格 |
メモリクロック |
バスクロック |
転送速度 |
| 2f |
16f |
f/8 |
f |
16f |
| MBPS |
MB/s |
MHz |
MHz |
GB/s |
| 1600 |
12800 |
100 |
800 |
12.8 |
| 1866 |
14900 |
116 |
928 |
14.8 |
| 2133 |
17000 |
133 |
1066 |
17 |
| 2400 |
19200 |
150 |
1200 |
19.2 |
| 2666 |
21333 |
166 |
1333 |
21.3 |
| 2933 |
23400 |
183 |
1467 |
23.4 |
| 3200 |
25600 |
200 |
1600 |
25.6 |
| 3400 |
27200 |
213 |
1700 |
27.2 |
| 3600 |
28800 |
226 |
1800 |
28.8 |
| 3733 |
29800 |
233 |
1863 |
29.8 |
| 4000 |
32000 |
250 |
2000 |
32.0 |
| 4266 |
34100 |
266 |
2132 |
34.1 |
DDR3
Double Data Rate 入力差動クロックの交点で転送することにより入力クロックの倍の転送レートとなります。メモリは入力クロックの1/4で動作します。
一度の読みだしで同時に8bit分読み出してプリフィッチバッファに保存する。
メモリにたいして8倍速の転送速度となる。
バースト超は4または8のほか動作中にバースト長を変更できるバーストチョップ機能を備えている。
DDR3-1066(CL=7、7-7-7-20)
DDR3-1333(CL=9、9-9-9-24)
DDR3-1600(CL=11、11-11-11-28)
DDR3は240と接1.5V 134×30×5mm
4Gb (512Mb*8)*8個
バンク3 行 16 列 10=29bit
最大
32GB 8Gビット
チップ使用時 ただしCPUがサポートしていないケースあり
| モジュール | チップ | 個 | バンク | 行 | 列 |
| 1GB | 128Mb*8bit | 8 | 8 | 14bit | 10bit | |
| 2GB | 256Mb*8bit | 8 | 8 | 15bit | 10bit | |
| 4GB | 512Mb*8bit | 8 | 8 | 16bit | 10bit | |
| 8GB | 512Mb*8bit | 8*2 | 8 | 16bit | 10bit | |
| チップ規格 |
モジュール規格 |
メモリクロック |
バスクロック |
転送速度 |
| 2f |
16f |
f/4 |
f |
16f |
| MBPS |
MB/s |
MHz |
MHz |
GB/s |
| DDR3-800 |
PC3-6400 |
100 |
400 |
6.4 |
| DDR3-1066 |
PC3-8500 |
133 |
533 |
8.533 |
| DDR3-1333 |
PC3-10600 |
166 |
667 |
10.667 |
| DDR3-1600 |
PC3-12800 |
200 |
800 |
12.8 |
| DDR3-1866 |
PC3-14900 |
233 |
933 |
14.933 |
| DDR3-2133 |
PC3-17000 |
266 |
1066 |
17.067 |
| DDR3-2400 |
PC3-19200 |
300 |
1200 |
19.2 |
| DDR3-2666 |
PC3-21333 |
333 |
1333 |
21.333 |
DDR2
Double Data Rate 入力差動クロックの交点で転送することにより入力クロックの倍の転送レートとなります。メモリは入力クロックの1/2で動作します。
一度の読みだしで同時に4bit分読み出してプリフィッチバッファに保存する。
メモリにたいして4倍速の転送速度となる。
バースト長は4または8である。
バンクは2または4
| モジュール | チップ | 個 | バンク | 行 | 列 |
| 512MB | 64Mb*8bit | 8 | 4 | 14bit | 10bit | |
| 1GB | 128Mb*8bit | 8 | 8 | 14bit | 10bit | |
| 2GB | 256Mb*8bit | 8 | 8 | 15bit | 10bit | |
| 4GB | 512Mb*8bit | 8 | 8 | 16bit | 10bit | |
列は10bit
256 512Mbチップ バンク4
1Gb 2Gb 4Gbチップ バンク8
512MB 512Mb(64M*8)*8個 バンク4
バンク2 行14列10 26bit
1GB 1Gb(128Mb*8) *8 バンク 8
バンク3 行14列10 26bit
タイミングはCAS Latency(CL)、Row Column Delay(tRCD)、Row Precharge Time(tRP)、Row Active Time(tRAS)の4つに分類されます。上の表にDDR4のtRASが抜けていること
DDR2-800
5
5
5
15
DDR3
9
9
9
24
DDR4
16
16
16
N/A
>
| チップ規格 |
モジュール規格 |
メモリクロック |
バスクロック |
転送速度 |
| f*4/2 |
f*4*8/2 |
f/2 |
f |
f*4*8/2 |
| MBPS |
MB/S |
MHz |
MHz |
GB/S |
| DDR2-400 |
PC2-3200 |
100 |
200 |
3.2 |
| DDR2-533 |
PC2-4200 |
133 |
266 |
4.267 |
| DDR2-667 |
PC2-5300 |
166 |
333 |
5.333 |
| DDR2-800 |
PC2-6400 |
200 |
400 |
6.4 |
DDR
DDR-300 2.5-3-3
Double Data Rate 入力差動クロックの交点で転送することにより入力クロックの倍の転送レートとなります。
一度の読みだしで同時に2bit分読み出してプリフィッチバッファ(各バンク独立して存在)に保存する。
メモリにたいして倍速の転送速度となる。
32Mbit*8*16=512MB
4バンク 512MB DIMMの構成例
(SAMSUNG K4H560438D-TC)チップ1個 バンク2 行13列10 データー幅8
アドレス25bit(32Mbit) * 16個
アドレス26bit データ64bit
2RANK
バースト2,4,8
最大1GB 512 mbチップ使用時
| モジュール | チップ | 個 | バンク | 行 | 列 |
| 128MB | 16Mb*16bit | 4 | 4 | 13bit | 9bit | |
| 256MB | 32Mb*8bit | 8 | 4 | 13bit | 10bit | |
| 512MB | 64Mb*8bit | 8*2 | 4 | 14bit | 10bit | |
| 1GB | 64Mb*8bit | 8*2 | 4 | 14bit | 10bit | |
| チップ規格 |
モジュール規格 |
メモリクロック |
バスクロック |
転送速度 |
| 2f |
2f*8 |
2f |
f |
2f*8 |
| MBPS |
MB/S |
MHz |
MHz |
GB/S |
| DDR200 |
PC1600 |
200 |
100 |
1.6 |
| DDR266 |
PC2100 |
266 |
133 |
2.133 |
| DDR333 |
PC2700 |
333 |
167 |
2.667 |
| DDR400 |
PC3200 |
400 |
200 |
3.200 |
| DDR466 |
PC3700 |
466 |
233 |
3.733 |
| DDR500 |
PC4000 |
500 |
250 |
4.000 |
| DDR533 |
PC4200 |
533 |
267 |
4.267 |
| DDR550 |
PC4400 |
550 |
275 |
4.400 |
SDRAM
ディスクトップ用 DIMM 168ピン
| モジュール | チップ | 個 | バンク | 行 | 列 |
| 64MB | 8Mb*8bit | 8 | 4 | 12bit | 9bit | |
| 128MB | 16Mb*8bit | 8 | 4 | 12bit | 10bit | |
| 256MB | 16Mb*8bit | 8*2 | 4 | 12bit | 10bit | |
>| 256MB | 32Mb*8bit | 8 | 4 | 13bit | 10bit | |
| 512MB | 32Mb*8bit | 8*2 | 4 | 13bit | 10bit | |
1gbがさいだいようりょう 2r8
| チップ規格 |
メモリクロック |
バスクロック |
転送速度 |
| f |
f |
f |
8f |
| MBPS |
MHz |
MHz |
GB/S |
| PC66 |
66 |
66 |
0.53 |
| PC100 |
100 |
100 |
0.80 |
| PC133 |
133 |
133 |
1.06 |
メモリの仕様
メモリモジュールに記載されている数値の読み方は PC-8500 8-8-8-21の場合
8500が最大帯域幅をMB/sで表したもの次の数値の羅列は、
CAS Latency(CL), RAS to CAS(tRCD), RAS Precharge(tRP),Cycle(tRAS)を表している。
CAS Latency(CL)はCOLアドレスを指定してから最初のデータが出力されるまでのクロック数
RAS to CASはRADアドレスを指定してからCOLアドレスが指定可能となるクロック数
RAS PrechargeはROWアドレスを指定してから次のROWアドレスを指定可能となる最少クロック数
CycleはACTコマンドから現在のROWアドレスを閉じるPREコマンドが指定可能となる最初クロック数
を示す。
動作例
シングルチャンネル時の動作を考えてみると
バスクロックが533MHzで動作しているので、
1ビット当たりの転送レートは、メモリ内部は1/4で動作しているため、533MHz/4=133MHz
メモリ内部では1度に8ビットのデータを読み出すので、133MHz*8=1064Mビット/s
一方バスクロック1当り2回データを読み出せるので(立ち上がり立下りエッジ)533MHz*2=1064Mビット/s
チップの規格はDDR3-1066に該当する。 1064との差はクロックの微妙な違い
メモリモジュールはデーター幅64ビット(8バイト)なので1066MHz*8=8533MB/sとなり、PC-8500となる。
intelのホームページによるとi3-370Mの場合DDR3-800/1066に対応しており、最大帯域17.1 GB/s(デュアルチャンネル時)をサポートしています。
キャッシュのラインサイズは64バイトなので64バイト / 8バイト=8回メモリにアクセスします。
1ラインのアクセスにはどれだけの時間がかかるか計算してみる。
BANKとROWを指定するACTコマンドとCOLアドレスを指定して読みだすREADコマンドを使用する場合、
RAS to CASと CASレイテンシ後、データがメモリから出力される。今回の場合 8+8=16クロックである。このあと8回メモリから出力されるが1クロックあたり2回出力されるので8/2=4クロック必要となる。したがってACTコマンド発行からデータ出力が終了するまで20クロック必要となる。
1クロックは1/533MHz=1.88ns 20クロックは37.6ns必要となる。実転送レートは64バイトを37.6nsで転送しているので、1.702GB/sである。メモリのカタログスペックは最大帯域幅で表されており、1.702GB/8.5GB=20%ほどの速度となってしまう。
ROWアドレス指定が不要な場合は、READコマンド 8+4クロックなので、12クロック必要となり、22.56ns必要となる。この時の平均帯域幅は、2.8GB/sとなり33%ほどとなる。
表1: DRAMの種類と基本仕様
項目SDR SDRAMDDR SDRAMDDR2 SDRAMDDR3/3L SDRAMDDR4 SDRAMデータレート166Mbps400Mbps800Mbps2133Mbps3200Mbps容量64Mb-512Mb64Mb-1Gb128Mb-4Gb512Mb-8Gb2Gb-16Gbバス幅x4, x8, x16, x32x4, x8, x16x4, x8, x16x4, x8, x16x4, x8, x16電源電圧3.3V2.5V1.8V1.5V/1.35V1.2VI/OLVCMOSSSTL-25SSTL-18SSTL-15/135SSTL-12
POD-12プリフェッチ–2n4n8n8nバースト長1, 2, 4, 8, full page2488Bank444, 8816, 8Bank Group00004, 2パッケージTSOP BGATSOP BGABGABGABGA
セルの構造/仕組み