JP2015118527A - メモリ制御装置、及び、メモリ制御方法 - Google Patents
メモリ制御装置、及び、メモリ制御方法 Download PDFInfo
- Publication number
- JP2015118527A JP2015118527A JP2013261339A JP2013261339A JP2015118527A JP 2015118527 A JP2015118527 A JP 2015118527A JP 2013261339 A JP2013261339 A JP 2013261339A JP 2013261339 A JP2013261339 A JP 2013261339A JP 2015118527 A JP2015118527 A JP 2015118527A
- Authority
- JP
- Japan
- Prior art keywords
- determination result
- candidate
- resistance values
- resistance value
- control device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000015654 memory Effects 0.000 title claims abstract description 133
- 238000000034 method Methods 0.000 title claims description 16
- 239000004065 semiconductor Substances 0.000 claims abstract description 105
- 238000012790 confirmation Methods 0.000 claims abstract description 4
- 230000005856 abnormality Effects 0.000 claims description 8
- 230000001360 synchronised effect Effects 0.000 claims description 3
- 230000002159 abnormal effect Effects 0.000 description 23
- 238000010586 diagram Methods 0.000 description 9
- 239000000758 substrate Substances 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Landscapes
- Memory System (AREA)
Abstract
【課題】終端抵抗の抵抗値を設定する際に、データバス上の信号反射を低減すると共に、ユーザが満足する抵抗値を選択することができるメモリ制御装置を提供する。【解決手段】メモリ制御装置(1)は、ODT用終端抵抗(61)を備えた半導体メモリ(5)とデータバス(3)を介して接続された制御部(10)と、データバス(3)に接続された制御側ODT用終端抵抗(41)と、を具備する。制御部(10)は、半導体メモリ(5)の動作確認を、制御側ODT用終端抵抗(41)の抵抗値と半導体メモリ(5)のODT用終端抵抗(61)の抵抗値に対して、全パターン実行して、全パターンの抵抗値とその判定結果とを含む判定結果データを生成する実行制御部(11)と、判定結果データのM通りの抵抗値のうちの、判定結果が正常を表す抵抗値を、候補抵抗値として提示する提示制御部(12)と、を具備する。【選択図】図1
Description
本発明は、半導体メモリ、特に、DDR SDRAM(Double-Data-Rate Synchronous Dynamic Random Access Memory)を制御するメモリ制御装置、及び、メモリ制御方法に関する。
メモリ制御装置は、データバスを介して半導体メモリと接続され、半導体メモリに対してデータの書き込みや読み出しを行なう。このようなデータ転送において、データバス上で反射される信号により影響を受ける場合がある。その信号反射の要因としては、データバスの配線パターンや配線長等が挙げられる。
信号反射を低減する一般的な方法としては、基板上のデータバスの端に終端抵抗を取り付ける方法がある。この方法はマザーボードターミネーションとも呼ばれる。しかし、この方法では、半導体メモリがDDR SDRAMである場合は、その動作周波数帯域において、信号反射を充分に低減することができない。DDR SDRAMとしては、DDR2 SDRAMや、DDR3 SDRAMが挙げられるが、これらはデータ転送の品質が要求される。
近年では、半導体メモリがDDR SDRAMである場合は、基板上に配置されていた終端抵抗を、DDR SDRAM内部に取り込む方法が採用されている。この方法は、ODT(On Die Termination)と呼ばれている。このODTの利点としては、基板上に配置されていた終端抵抗を、DDR SDRAM内部に取り込むことにより、基板上の部品点数を削減することができ、コストダウンが図れる。更に、基板上の終端抵抗に関する配置や配線が不要になるため、基板のシステム設計が簡易化できる。
また、ODTにおいて、メモリ制御装置は、内部に終端抵抗を有し、データバス上で自身の終端抵抗及び半導体メモリの終端抵抗に対して、同時にオン/オフ(有効/無効)を設定する。これにより、データバス上の信号反射を低減し、データ転送の品質を改善することができる。
これらの終端抵抗の抵抗値をどの値に設定するかは、ユーザが、半導体メモリの動作確認(リード・アフター・ライト)を実行し、正常動作したかどうかを確認する必要がある。この確認作業は、抵抗値を変更しながら、その都度行なわれる。そのため、ユーザにとっては労力と手間がかかる。
特許文献1には、終端抵抗の抵抗値を設定する技術が記載されている。特許文献1に記載されたメモリ制御装置は、半導体メモリ側の抵抗値を順次変更しながら半導体メモリの動作確認を実行し、正常動作した場合、動作確認を中止して、そのときの抵抗値を半導体メモリ側に設定する。
しかしながら、特許文献1に記載されたメモリ制御装置では、終端抵抗の抵抗値として設定される値が、ユーザにとって満足したもの、あるいは、納得したものではあるとはいえない。その理由としては、特許文献1に記載されたメモリ制御装置では、半導体メモリ側の抵抗値を順次変更しながら半導体メモリの動作確認を実行した結果、正常動作した時点で動作確認を中止して、そのときの抵抗値を半導体メモリ側に設定するからである。
例えば、終端抵抗の抵抗値として、4種類の抵抗値のうちの1種類の抵抗値が設定されるものとし、その抵抗値が第1の値及びそれよりも小さい第2の値では異常動作(即ち、NG)であり、第2の値よりも小さい第3の値では正常動作(即ち、OK)であるものとする。特許文献1に記載されたメモリ制御装置では、半導体メモリ側の抵抗値を順次変更しながら半導体メモリの動作確認を実行した結果、正常動作した時点で動作確認を中止するため、第3の値を半導体メモリ側に設定することになる。
特許文献1に記載されたメモリ制御装置では、抵抗値が第3の値では正常動作であるが、第2の値では異常動作であるため、第2の値と第3の値との境目で異常動作になる可能性がある。しかし、特許文献1に記載されたメモリ制御装置では、正常動作した時点で動作確認を中止するため、ユーザは、抵抗値が第3の値よりも小さい第4の値では正常動作するか否かについて、確認することができない。よって、終端抵抗の抵抗値として設定される値が、ユーザにとって満足したものではあるとはいえない。
実際には抵抗値が第4の値でも正常動作している可能性がある。この場合、終端抵抗の抵抗値として設定される値が、第2の値に近い第3の値とするよりも、第4の値とすることが好ましい。終端抵抗の抵抗値として第3の値が設定された場合、ユーザにとって満足したものではあるとはいえない。
本発明は、上記従来の問題点に鑑みてなされたものであって、終端抵抗の抵抗値を設定する際に、データバス上の信号反射を低減すると共に、ユーザが満足する抵抗値を選択することができるメモリ制御装置、及び、メモリ制御方法を提供することを目的とする。
本発明のメモリ制御装置は、L種類(Lは2以上の整数)の抵抗値のうちの1種類の抵抗値が設定されるODT(On Die Termination)用終端抵抗を備えたX個(Xは1以上の整数)の半導体メモリとデータバスを介して接続された制御部と、前記データバスに接続され、L種類の抵抗値のうちの1種類の抵抗値が設定される制御側ODT用終端抵抗と、を具備し、前記制御部は、前記X個の半導体メモリの各々の動作確認を、前記制御側ODT用終端抵抗の抵抗値と前記X個の半導体メモリのODT用終端抵抗の抵抗値に対して、M通り{MはLの(X+1)乗を表す整数}実行して、M通りの抵抗値とその判定結果とを含む判定結果データを生成する実行制御部と、前記判定結果データの前記M通りの抵抗値のうちの、前記判定結果が正常を表すN組(Nは1からMのいずれかを満たす整数)の抵抗値を、候補抵抗値として提示する提示制御部と、を具備することを特徴とする。
本発明のメモリ制御装置は、前記判定結果データの前記N組の候補抵抗値のうちの1組の候補抵抗値を、前記制御側ODT用終端抵抗の抵抗値及び前記X個の半導体メモリのODT用終端抵抗の抵抗値として設定する設定制御部、を更に具備する。
本発明のメモリ制御装置は、前記制御部が読み書き可能であり、前記制御側ODT用終端抵抗の抵抗値及び前記X個の半導体メモリのODT用終端抵抗の抵抗値を設定するためのモードレジスタ、を更に具備し、前記設定制御部は、前記判定結果データの前記N組の候補抵抗値のうちの1組の候補抵抗値を、前記制御側ODT用終端抵抗の抵抗値及び前記X個の半導体メモリのODT用終端抵抗の抵抗値として、前記モードレジスタに設定する、ことを特徴とする。
本発明のメモリ制御装置は、想定される判定結果データとしてYパターン{Yは(X+1)のM乗を表す整数}の想定判定結果データとYパターンの設定候補データとが格納された平均値設定テーブル、を更に具備し、前記平均値設定テーブルに格納された前記Yパターンの想定判定結果データのうちの、前記判定結果が全て異常を表す想定判定結果データ以外を(Y−1)パターンの想定判定結果データとしたとき、前記平均値設定テーブルに格納された前記Yパターンの設定候補データのうちの(Y−1)パターンの設定候補データは、前記(Y−1)パターンの想定判定結果データの前記N組の候補抵抗値のうちの、推奨される候補抵抗値として予め設定された前記1組の候補抵抗値を表し、前記提示制御部は、前記平均値設定テーブルに格納された前記(Y−1)パターンの設定候補データのうちの、前記判定結果データに対応する設定候補データが表す前記1組の候補抵抗値を提示する、ことを特徴とする。
本発明のメモリ制御装置において、Nが2である場合、前記N組の候補抵抗値のうちの、その合計値が最小又は最大となる候補抵抗値を、前記1組の候補抵抗値とする、ことを特徴とする。
本発明のメモリ制御装置において、Nが3以上である場合、前記N組の候補抵抗値のうちの、その合計値が中間値となる候補抵抗値を、前記1組の候補抵抗値とする、ことを特徴とする。
本発明のメモリ制御装置は、前記制御部が読み書き可能な判定結果格納レジスタ、を更に具備し、前記実行制御部は、前記判定結果データを前記判定結果格納レジスタに格納する、ことを特徴とする。
本発明のメモリ制御装置は、前記判定結果データの前記M通りの抵抗値において、前記判定結果が全て異常を表す場合、その旨を表すエラー通知を出力する通知部、を更に具備する。
本発明のメモリ制御装置において、前記動作確認は、前記X個の半導体メモリの初期化時に行なわれる、ことを特徴とする。
本発明のメモリ制御装置において、前記X個の半導体メモリは、DDR SDRAM(Double-Data-Rate Synchronous Dynamic Random Access Memory)である、ことを特徴とする。
本発明のメモリ制御方法は、L種類(Lは2以上の整数)の抵抗値のうちの1種類の抵抗値が設定されるODT(On Die Termination)用終端抵抗を備えたX個(Xは1以上の整数)の半導体メモリと、前記X個の半導体メモリとデータバスを介して接続され、その内部にL種類の抵抗値のうちの1種類の抵抗値が設定される制御側ODT用終端抵抗を備えた装置と、を具備するシステムに適用される方法であって、前記X個の半導体メモリの各々の動作確認を、前記制御側ODT用終端抵抗の抵抗値と前記X個の半導体メモリのODT用終端抵抗の抵抗値に対して、M通り{MはLの(X+1)乗を表す整数}実行して、M通りの抵抗値とその判定結果とを含む判定結果データを生成するステップと、前記判定結果データの前記M通りの抵抗値のうちの、前記判定結果が正常を表すN組(Nは1からMのいずれかを満たす整数)の抵抗値を、候補抵抗値として提示するステップと、を具備することを特徴とする。
本発明によれば、終端抵抗の抵抗値を設定する際に、データバス上の信号反射を低減すると共に、ユーザが満足する抵抗値を選択することができる。
以下、図面を参照しながら本発明のメモリ制御装置の実施形態について説明する。
[第1実施形態]
図1は、本発明の第1実施形態に係るメモリ制御装置1が適用されるシステムの構成を示す図である。
図1は、本発明の第1実施形態に係るメモリ制御装置1が適用されるシステムの構成を示す図である。
本発明の第1実施形態に係るメモリ制御装置1は、データバス3を介して半導体メモリ5と接続されている。半導体メモリ5は、DDR SDRAMであり、内部に終端抵抗を有することにより、データバス3上の信号反射を低減し、高速動作を実現する。
DDR SDRAMとしては、DDR2 SDRAMや、DDR3 SDRAMが挙げられる。例えば、DDR2 SDRAMの構成では、1RANK構成、2RANK構成、複数DIMM(Dual Inline Memory Module)構成などがある。本実施形態では、半導体メモリ5がDDR2 SDRAMであり、その構成が1RANK構成であるものとする。
その半導体メモリ5は、バッファ51と、メモリ部52と、ODT(On Die Termination)用終端抵抗61と、スイッチ62と、を具備している。
バッファ51は、半導体メモリ5内に設けられ、データバス3に接続されている。メモリ部52は、半導体メモリ5内に設けられ、バッファ51に接続されている。
ODT用終端抵抗61は、半導体メモリ5内に設けられ、その一端がバッファ51の前段でデータバス3に接続されている。ODT用終端抵抗61には、L種類の抵抗値のうちの1種類の抵抗値が設定される。ここで、Lは2以上の整数である。Lの具体例については後述する。
スイッチ62は、半導体メモリ5内に設けられたFET(Field Effect Transistor)である。スイッチ62は、その一端がODT用終端抵抗61の他端に接続され、その他端に電源電圧(具体的には電源電圧VDDの1/2)が供給される。スイッチ62(FET)のゲートに制御信号CTRが供給された場合、スイッチ62はオンする。
本発明の第1実施形態に係るメモリ制御装置1は、内部に終端抵抗を有し、データバス3上で自身の終端抵抗及び半導体メモリ5の終端抵抗に対して、同時にオン/オフ(有効/無効)を設定する。これにより、データバス3上の信号反射を低減し、データ転送の品質を改善することができる。
そのメモリ制御装置1は、SoC(System on Chip)に設けられ、制御部10と、制御側ODT用終端抵抗41と、スイッチ42と、レジスタ部20と、通知部30と、を具備している。
制御部10は、メモリ制御装置1内に設けられ、半導体メモリ5とデータバス3を介して接続されている。制御部10としてはCPU(Central Processing Unit)が例示される。制御部10は、更に、コンピュータが実行可能なコンピュータプログラムが格納された記憶部(図示しない)を具備し、制御部10は、そのコンピュータプログラムを読み出して実行する。制御部10の構成については後述する。
制御側ODT用終端抵抗41は、メモリ制御装置1内に設けられ、制御部10の前段でデータバス3に接続されている。制御側ODT用終端抵抗41には、L種類の抵抗値のうちの1種類の抵抗値が設定される。
スイッチ42は、メモリ制御装置1内に設けられたFETである。スイッチ42は、その一端が制御側ODT用終端抵抗41の他端に接続され、その他端に電源電圧(具体的には電源電圧VDDの1/2)が供給される。スイッチ42(FET)のゲートに制御信号CTRが供給された場合、スイッチ42はオンする。
レジスタ部20は、制御部10が読み書き可能な制御用モードレジスタ21、メモリ用モードレジスタ22、判定結果格納レジスタ23を具備している。
制御用モードレジスタ21は、メモリ制御装置1内に設けられ、制御部10に接続されている。制御用モードレジスタ21には、L種類の抵抗値のうちの1種類の抵抗値が制御側ODT用終端抵抗41の抵抗値Rcpuとして設定される。制御側ODT用終端抵抗41の抵抗値Rcpuは、制御部10によりデータバス3上で設定される。
メモリ用モードレジスタ22は、メモリ制御装置1内に設けられ、制御部10に接続されている。メモリ用モードレジスタ22には、L種類の抵抗値のうちの1種類の抵抗値が半導体メモリ5のODT用終端抵抗61の抵抗値Rddrとして設定される。ODT用終端抵抗61の抵抗値Rddrは、制御部10によりデータバス3上で設定される。
判定結果格納レジスタ23は、後述の判定結果データを格納する。
通知部30は、複数配列されたLED(Light Emitting Diode)や7セグメントディスプレイを備えている。
制御部10は、実行制御部11と、提示制御部12と、設定制御部13と、を具備している。
実行制御部11は、制御側ODT用終端抵抗41の抵抗値RcpuとしてL種類の抵抗値のうちの1種類の抵抗値を制御用モードレジスタ21に設定し、半導体メモリ5のODT用終端抵抗61の抵抗値RddrとしてL種類の抵抗値のうちの1種類の抵抗値をメモリ用モードレジスタ22に設定する。
実行制御部11は、半導体メモリ5の初期化時に、半導体メモリ5の動作確認(リード・アフター・ライト)を、制御側ODT用終端抵抗41の抵抗値Rcpuと半導体メモリ5のODT用終端抵抗61の抵抗値Rddrに対して、M通り実行する。ここで、Mは、Lの2乗を表す整数である。Mの具体例については後述する。実行制御部11は、M通りの抵抗値Rcpu、Rddrとその判定結果とを含む判定結果データ71を生成して、判定結果格納レジスタ23に格納する。
ここで、リード・アフター・ライトについて説明する。
まず、実行制御部11は、半導体メモリ5にデータを書き込むライト時において、半導体メモリ5のスイッチ62のゲートに制御信号CTRを出力する。即ち、ライト時において、半導体メモリ5をアサートする。半導体メモリ5のスイッチ62は、制御信号CTRに応じてオンする。そのスイッチ62がオンすることにより、半導体メモリ5のODT用終端抵抗61には電源電圧が供給され、そのODT用終端抵抗61は有効になる。
次に、実行制御部11は、半導体メモリ5からデータを読み出すリード時において、メモリ制御装置1のスイッチ42のゲートに制御信号CTRを出力する。即ち、リード時においては、半導体メモリ5をアサートしない。メモリ制御装置1のスイッチ42は、制御信号CTRに応じてオンする。そのスイッチ42がオンすることにより、制御側ODT用終端抵抗41には電源電圧が供給され、制御側ODT用終端抵抗41は有効になる。
リード・アフター・ライトにより正常動作している場合は、ライト時に書き込まれたデータとリード時に読み出されたデータとが一致する。即ち、判定結果データ71に含まれる判定結果は、正常動作を表していることになる。
判定結果格納レジスタ23に格納された判定結果データ71のM通りの抵抗値Rcpu、Rddrにおいて、判定結果が全て異常を表しているものとする。この場合、提示制御部12は、その旨を表すエラー通知を通知部30に出力することにより、ユーザに通知する。ユーザは、エラー通知により、基板のシステム設計の見直しを行なうことができる。
一方、判定結果格納レジスタ23に格納された判定結果データ71のM通りの抵抗値Rcpu、Rddrにおいて、判定結果が少なくとも1つ正常を表しているものとする。この場合、提示制御部12は、判定結果格納レジスタ23に格納された判定結果データ71のM通りの抵抗値Rcpu、Rddrのうちの、判定結果が正常を表すN組の抵抗値Rcpu、Rddrを、候補抵抗値とし、その旨を表す情報(判定結果データ71)を通知部30に出力することにより、ユーザに提示する。ここで、Nは、1からMのいずれかを満たす整数である。
設定制御部13は、判定結果データ71のN組の候補抵抗値Rcpu、Rddrのうちの1組の候補抵抗値Rcpu、Rddrを、制御側ODT用終端抵抗41の抵抗値Rcpu及び半導体メモリ5のODT用終端抵抗61の抵抗値Rddrとして、制御用モードレジスタ21及びメモリ用モードレジスタ22に設定する。
図2は、図1の制御用モードレジスタ21に設定される抵抗値を示す図である。
上述のLが4である場合、制御用モードレジスタ21には、4種類の抵抗値のうちの1種類の抵抗値が制御側ODT用終端抵抗41の抵抗値Rcpuとして設定される。4種類の抵抗値としては、値が大きい順に、150Ω、75Ω、50Ω、∞(設定無し)が挙げられる。
図3は、図1のメモリ用モードレジスタ22に設定される抵抗値を示す図である。
上述のLが4である場合、メモリ用モードレジスタ22には、4種類の抵抗値のうちの1種類の抵抗値が半導体メモリ5のODT用終端抵抗61の抵抗値Rddrとして設定される。4種類の抵抗値としては、値が大きい順に、150Ω、75Ω、50Ω、∞(設定無し)が挙げられる。
図4は、図1の判定結果格納レジスタ23に格納される判定結果データ71を示す図である。
上述のLが4であり、上述のMがLの2乗で表されるため、Mは16である。この場合、実行制御部11は、半導体メモリ5の初期化時に、半導体メモリ5のリード・アフター・ライトを、制御側ODT用終端抵抗41の抵抗値Rcpuと半導体メモリ5のODT用終端抵抗61の抵抗値Rddrに対して、16通り実行する。16通りのリード・アフター・ライトにより、書き込み/読み出しデータの整合性を確認する。
書き込み、読み出しのデータサイズ、データの種類については、特に指定は無いが、データは各ビットのショートもしくはオープンが確認できるような、ビットシフト型のデータが望ましい。そこで、判定結果格納レジスタ23に格納される判定結果データ71は、16ビットで構成される。即ち、実行制御部11は、判定結果格納レジスタ23の15ビット目から0ビット目までのデータを判定結果データ71とする。
判定結果格納レジスタ23の15ビット目から0ビット目の各々は、制御側ODT用終端抵抗41の抵抗値Rcpuと半導体メモリ5のODT用終端抵抗61の抵抗値Rddrとの組み合わせを表している。この組み合わせは、ユーザにより任意に決められている。判定結果格納レジスタ23の各ビットは、「1」又は「0」で表される。即ち、判定結果データ71に含まれる判定結果は、「1」又は「0」で表される。ここで、判定結果が正常動作を表す場合、即ち、OKを表す場合は「1」とする。判定結果が異常動作を表す場合、即ち、NGを表す場合は「0」とする。
例えば、判定結果格納レジスタ23の0ビット目は、抵抗値Rcpu、抵抗値Rddrが互いに50Ωである場合を表している。この組み合わせでリード・アフター・ライトを実行した結果、異常動作を表しているものとする。この場合、判定結果格納レジスタ23の0ビット目には、「0」が格納される。
また、判定結果格納レジスタ23の1ビット目は、抵抗値Rcpu、抵抗値Rddrが、それぞれ、50Ω、75Ωである場合を表している。この組み合わせでリード・アフター・ライトを実行した結果、異常動作を表しているものとする。この場合、判定結果格納レジスタ23の1ビット目には、「0」が格納される。
また、判定結果格納レジスタ23の2ビット目は、抵抗値Rcpu、抵抗値Rddrが、それぞれ、50Ω、150Ωである場合を表している。この組み合わせでリード・アフター・ライトを実行した結果、異常動作を表しているものとする。この場合、判定結果格納レジスタ23の2ビット目には、「0」が格納される。
また、判定結果格納レジスタ23の3ビット目は、抵抗値Rcpu、抵抗値Rddrが、それぞれ、50Ω、∞(設定無し)である場合を表している。この組み合わせでリード・アフター・ライトを実行した結果、異常動作を表しているものとする。この場合、判定結果格納レジスタ23の3ビット目には、「0」が格納される。
また、判定結果格納レジスタ23の4ビット目は、抵抗値Rcpu、抵抗値Rddrが、それぞれ、75Ω、50Ωである場合を表している。この組み合わせでリード・アフター・ライトを実行した結果、異常動作を表しているものとする。この場合、判定結果格納レジスタ23の4ビット目には、「0」が格納される。
また、判定結果格納レジスタ23の5ビット目は、抵抗値Rcpu、抵抗値Rddrが互いに75Ωである場合を表している。この組み合わせでリード・アフター・ライトを実行した結果、異常動作を表しているものとする。この場合、判定結果格納レジスタ23の5ビット目には、「0」が格納される。
また、判定結果格納レジスタ23の6ビット目は、抵抗値Rcpu、抵抗値Rddrが、それぞれ、75Ω、150Ωである場合を表している。この組み合わせでリード・アフター・ライトを実行した結果、異常動作を表しているものとする。この場合、判定結果格納レジスタ23の6ビット目には、「0」が格納される。
また、判定結果格納レジスタ23の7ビット目は、抵抗値Rcpu、抵抗値Rddrが、それぞれ、75Ω、∞(設定無し)である場合を表している。この組み合わせでリード・アフター・ライトを実行した結果、異常動作を表しているものとする。この場合、判定結果格納レジスタ23の7ビット目には、「0」が格納される。
また、判定結果格納レジスタ23の8ビット目は、抵抗値Rcpu、抵抗値Rddrが、それぞれ、150Ω、50Ωである場合を表している。この組み合わせでリード・アフター・ライトを実行した結果、正常動作を表しているものとする。この場合、判定結果格納レジスタ23の8ビット目には、「1」が格納される。
また、判定結果格納レジスタ23の9ビット目は、抵抗値Rcpu、抵抗値Rddrが、それぞれ、150Ω、75Ωである場合を表している。この組み合わせでリード・アフター・ライトを実行した結果、正常動作を表しているものとする。この場合、判定結果格納レジスタ23の9ビット目には、「1」が格納される。
また、判定結果格納レジスタ23の10ビット目は、抵抗値Rcpu、抵抗値Rddrが互いに150Ωである場合を表している。この組み合わせでリード・アフター・ライトを実行した結果、正常動作を表しているものとする。この場合、判定結果格納レジスタ23の10ビット目には、「1」が格納される。
また、判定結果格納レジスタ23の11ビット目は、抵抗値Rcpu、抵抗値Rddrが、それぞれ、150Ω、∞(設定無し)である場合を表している。この組み合わせでリード・アフター・ライトを実行した結果、異常動作を表しているものとする。この場合、判定結果格納レジスタ23の11ビット目には、「0」が格納される。
また、判定結果格納レジスタ23の12ビット目は、抵抗値Rcpu、抵抗値Rddrが、それぞれ、∞(設定無し)、50Ωである場合を表している。この組み合わせでリード・アフター・ライトを実行した結果、異常動作を表しているものとする。この場合、判定結果格納レジスタ23の12ビット目には、「0」が格納される。
また、判定結果格納レジスタ23の13ビット目は、抵抗値Rcpu、抵抗値Rddrが、それぞれ、∞(設定無し)、75Ωである場合を表している。この組み合わせでリード・アフター・ライトを実行した結果、異常動作を表しているものとする。この場合、判定結果格納レジスタ23の13ビット目には、「0」が格納される。
また、判定結果格納レジスタ23の14ビット目は、抵抗値Rcpu、抵抗値Rddrが、それぞれ、∞(設定無し)、150Ωである場合を表している。この組み合わせでリード・アフター・ライトを実行した結果、異常動作を表しているものとする。この場合、判定結果格納レジスタ23の14ビット目には、「0」が格納される。
また、判定結果格納レジスタ23の15ビット目は、抵抗値Rcpu、抵抗値Rddrが互いに∞(設定無し)である場合を表している。この組み合わせでリード・アフター・ライトを実行した結果、異常動作を表しているものとする。この場合、判定結果格納レジスタ23の15ビット目には、「0」が格納される。
実行制御部11は、判定結果格納レジスタ23の15ビット目から0ビット目までのデータ「0000011100000000」を判定結果データ71とする。又は、判定結果データ71「0000011100000000」を16進数の「0x0700」と表すこともできる。
図5は、本発明の第1実施形態に係るメモリ制御装置1の動作を示すフローチャートである。
電源投入後、メモリ制御装置1の制御部10において、実行制御部11は、CPUの初期化設定、及び、半導体メモリ5(DDR2 SDRAM)の初期化設定を行う(S01)。この初期化設定としては、アクセスに必要なクロックの設定や、DDR2 SDRAMのレイテンシ等の設定、モードレジスタ設定等が挙げられる。
制御部10には、制御側ODT用終端抵抗41の抵抗値Rcpuと半導体メモリ5のODT用終端抵抗61の抵抗値Rddrとの候補値を提示するか否かの情報が設定されている。ここで、候補提示の設定がされていない場合(S02−No)、抵抗値Rcpu、抵抗値Rddrには、ユーザにより任意の値が設定される(S11)。即ち、ユーザは、制御用モードレジスタ21及びメモリ用モードレジスタ22に任意の値を設定する。
候補提示の設定がされている場合(S02−Yes)、実行制御部11は、制御側ODT用終端抵抗41の抵抗値Rcpu、半導体メモリ5のODT用終端抵抗61の抵抗値Rddrとして、50Ωを設定する(S03)。実行制御部11は、半導体メモリ5に対してリード・アフター・ライトを実行し、そのときの抵抗値Rcpu、Rddrに対する判定結果を判定結果格納レジスタ23の0ビット目に格納する(S04)。
ここで、全パターン(16通り)のリード・アフター・ライトの実行が完了していないので(S05−No)、実行制御部11は、制御側ODT用終端抵抗41の抵抗値Rcpuと半導体メモリ5のODT用終端抵抗61の抵抗値Rddrとを変更する(S06)。この場合、実行制御部11は、制御側ODT用終端抵抗41の抵抗値Rcpu、半導体メモリ5のODT用終端抵抗61の抵抗値Rddrとして、それぞれ、50Ω、75Ωを設定する。実行制御部11は、半導体メモリ5に対してリード・アフター・ライトを実行し、そのときの抵抗値Rcpu、Rddrに対する判定結果を判定結果格納レジスタ23の1ビット目に格納する(S04)。
16通りのリード・アフター・ライトに対してS04〜S06が行なわれる。その結果、16通りのリード・アフター・ライトの実行が完了する(S05−Yes)。
例えば、判定結果格納レジスタ23に格納された判定結果データ71の16通りの抵抗値Rcpu、Rddrにおいて、判定結果が全て異常を表している(S07−No)。即ち、判定結果格納レジスタ23の15ビット目から0ビット目には判定結果データ71「0000000000000000」が格納されている。この場合、提示制御部12は、その旨を表すエラー通知として、通知部30により警告音を出力することにより、ユーザに通知する(S10)。
例えば、判定結果格納レジスタ23に格納された判定結果データ71の16通りの抵抗値Rcpu、Rddrにおいて、判定結果が少なくとも1つ正常を表している(S07−Yes)。この場合、判定結果格納レジスタ23の15ビット目から0ビット目にはデータ「0000011100000000」が格納されている。提示制御部12は、判定結果格納レジスタ23に格納された判定結果データ71の16通りの抵抗値Rcpu、Rddrのうちの、判定結果が正常を表すN組(この場合、上述のNは3である)の抵抗値Rcpu、Rddrを、候補抵抗値とし、その旨を表す判定結果データ71を通知部30に出力することにより、ユーザに提示する(S08)。
S08において、提示制御部12は、通知部30のLEDを用いる場合、データ「0000011100000000」を判定結果データ71として、通知部30の各LEDに出力することにより、ユーザに3組の候補抵抗値Rcpu、Rddr(150Ω、50Ω)(150Ω、75Ω)(150Ω、150Ω)を提示する。各LEDは、「1」の場合に点灯し、「0」の場合に消灯する。
S08において、提示制御部12は、通知部30の7セグメントディスプレイを用いる場合、データ「0000011100000000」の16進数「0x0700」を判定結果データ71として、通知部30の各7セグメントディスプレイに出力することにより、ユーザに3組の候補抵抗値Rcpu、Rddr(150Ω、50Ω)(150Ω、75Ω)(150Ω、150Ω)を提示する。
ユーザは、判定結果データ71を参照することにより、3組の候補抵抗値Rcpu、Rddr(150Ω、50Ω)(150Ω、75Ω)(150Ω、150Ω)を認識する。
候補抵抗値Rcpu、Rddrが3組以上存在する場合(上述のNが3以上である場合)、ユーザは、3組の候補抵抗値Rcpu、Rddrのうちの、その合計値(Rall=Rcpu+Rddr)が中間値となる候補抵抗値Rcpu、Rddrを選択することが好ましい。この場合、候補抵抗値Rcpu、Rddrが、それぞれ、150Ω、75Ωである1組の候補抵抗値Rcpu、Rddrを選択することが好ましい。
その理由としては、抵抗値Rcpuが150Ω以外では異常動作であるため、抵抗値Rcpuが150Ωと75Ωとの境目で異常動作になる可能性がある。一方、抵抗値Rcpuが150Ωでは正常動作であるため、抵抗値Rddrを150Ω、75Ω、50Ωのいずれかにすれば正常動作になるため、抵抗値Rcpu、Rddrの合計値が中間値となる150Ω、75Ωを1組の候補抵抗値Rcpu、Rddrとすることが好ましい。
この場合、設定制御部13は、判定結果データ71の3組の候補抵抗値Rcpu、Rddrのうちの、ユーザにより選択された1組の候補抵抗値Rcpu、Rddr(150Ω、75Ω)を、制御側ODT用終端抵抗41の抵抗値Rcpu及び半導体メモリ5のODT用終端抵抗61の抵抗値Rddrとして、制御用モードレジスタ21及びメモリ用モードレジスタ22に設定する(S09)。
以降、メモリ制御装置1は半導体メモリ5に対して、プログラムデータ等のアクセスが可能となる。
以上の説明により、本発明の第1実施形態に係るメモリ制御装置1では、自身に制御側ODT用終端抵抗41を配置し、半導体メモリ5内部にODT用終端抵抗61を配置することにより、基板上の部品点数を削減することができ、コストダウンが図れる。また、基板上の終端抵抗に関する配置や配線が不要になるため、基板のシステム設計が簡易化できる。制御側ODT用終端抵抗41及び半導体メモリ5のODT用終端抵抗61により、データバス3上の信号反射を低減し、データ転送の品質を改善することができる。
更に、本発明の第1実施形態に係るメモリ制御装置1では、制御側ODT用終端抵抗41の抵抗値Rcpu及び半導体メモリ5のODT用終端抵抗61の抵抗値Rddrを全パターンについて変更しながら、半導体メモリ5の動作確認(リード・アフター・ライト)を実行し、全パターンの抵抗値Rcpu、Rddrのうちの、動作確認により正常動作したときのN個の抵抗値Rcpu、Rddrを候補抵抗値として、ユーザに提示している。したがって、ユーザは、N個の候補抵抗値Rcpu、Rddrの中から、制御側ODT用終端抵抗41の抵抗値Rcpu及び半導体メモリ5のODT用終端抵抗61の抵抗値Rddrとして設定するための1組の候補抵抗値を選択することができる。このように、本発明の第1実施形態に係るメモリ制御装置1では、特許文献1に記載されたような技術、即ち、正常動作した時点で動作確認を中止して、そのときの抵抗値を半導体メモリ側に設定するような技術とは違って、ユーザは、N個の候補抵抗値Rcpu、Rddrの中から、自身が満足する1組の候補抵抗値を選択することができる。言い換えれば、ユーザは、どの抵抗値が適正か否かが絞りやすくなる。これは、Nが3以上である場合に特に有効である。
更に、本発明の第1実施形態に係るメモリ制御装置1では、判定結果データ71の全パターンの抵抗値Rcpu、Rddrにおいて、判定結果が全て異常を表している場合、エラー通知をユーザに提示するため、ユーザは、基板のシステム設計の見直しを行なうことができる。
[第2実施形態]
第1実施形態では、判定結果データ71によりN組の候補抵抗値Rcpu、Rddrが提示された際に、ユーザが、N組の候補抵抗値Rcpu、Rddrのうちの1組の候補抵抗値Rcpu、Rddrを選択している。第2実施形態では、想定される判定結果データ71のN組の候補抵抗値Rcpu、Rddrのうちの、推奨される候補抵抗値として1組の候補抵抗値Rcpu、Rddrをテーブルに予め設定しておき、そのテーブルから1組の候補抵抗値Rcpu、Rddrを自動的に選択する。第2実施形態では、第1実施形態からの変更点のみ説明する。
第1実施形態では、判定結果データ71によりN組の候補抵抗値Rcpu、Rddrが提示された際に、ユーザが、N組の候補抵抗値Rcpu、Rddrのうちの1組の候補抵抗値Rcpu、Rddrを選択している。第2実施形態では、想定される判定結果データ71のN組の候補抵抗値Rcpu、Rddrのうちの、推奨される候補抵抗値として1組の候補抵抗値Rcpu、Rddrをテーブルに予め設定しておき、そのテーブルから1組の候補抵抗値Rcpu、Rddrを自動的に選択する。第2実施形態では、第1実施形態からの変更点のみ説明する。
図6は、本発明の第2実施形態に係るメモリ制御装置1が適用されるシステムの構成を示す図である。
本発明の第2実施形態に係るメモリ制御装置1は、更に、平均値設定テーブル80を具備している。平均値設定テーブル80としては、SRAM(Static Random Access Memory)が例示される。
図7は、図6の平均値設定テーブル80に格納されたデータを示す図である。
平均値設定テーブル80には、想定される判定結果データ71としてYパターンの想定判定結果データ81と、Yパターンの設定候補データ82と、が格納されている。ここで、Yは、2のM乗を表す整数である。Yの具体例については後述する。
平均値設定テーブル80に格納されたYパターンの想定判定結果データ81のうちの1パターンの想定判定結果データ81は、判定結果が全て異常を表している。ここで、平均値設定テーブル80に格納されたYパターンの想定判定結果データ81のうちの、判定結果が全て異常を表す想定判定結果データ81以外の想定判定結果データ81を、(Y−1)パターンの想定判定結果データ81とする。
平均値設定テーブル80に格納されたYパターンの設定候補データ82のうちの、上記(Y−1)パターンの想定判定結果データ81に対応付けられた(Y−1)パターンの設定候補データ82は、(Y−1)パターンの想定判定結果データ81のN組の候補抵抗値Rcpu、Rddrのうちの、推奨される候補抵抗値として予め設定された1組の候補抵抗値Rcpu、Rddrを表している。
前述のように、Lが4であり、MはLの2乗で表されるため、Mは16である。この場合、上述のYが2のM乗で表されるため、Yは65536である。即ち、平均値設定テーブル80には、65536パターンの想定判定結果データ81と、65536パターンの設定候補データ82と、が格納されている。65536パターンの想定判定結果データ81の各々は、16進数で表される。
65536パターンの想定判定結果データ81のうちの、判定結果が全て異常を表す想定判定結果データ81は、16進数で「0x0000」により表される。65536パターンの設定候補データ82のうちの、想定判定結果データ81「0x0000」に対応付けられた設定候補データ82は、2進数により、7ビット目から0ビット目まで「1000000」で表される。7ビット目の「1」は、判定結果が異常動作、即ち、NGであることを表している。
想定判定結果データ81「0x0000」以外の65535パターンの想定判定結果データ81は、N組の候補抵抗値Rcpu、Rddrを含んでいる。65535パターンの設定候補データ82は、上記65535パターンの想定判定結果データ81のN組の候補抵抗値Rcpu、Rddrのうちの、推奨される候補抵抗値として予め設定された1組の候補抵抗値Rcpu、Rddrを表している。
例えば、上記65535パターンの想定判定結果データ81のうちの、判定結果が2つ正常を表し(即ち、Nは2である)、かつ、その2組の候補抵抗値Rcpu、Rddrが、それぞれ、50Ω、50Ωである場合、50Ω、75Ωである場合の想定判定結果データ81は、16進数で「0x0003」により表される。なお、2進数では、「0000000000000011」により表される。この場合、2組の候補抵抗値Rcpu、Rddrのうちの、その合計値(Rall=Rcpu+Rddr)が最小となる候補抵抗値50Ω、50Ωを、推奨される候補抵抗値とする。又は、その合計値(Rall=Rcpu+Rddr)が最大となる候補抵抗値Rcpu、Rddr(50Ω、75Ω)を、推奨される候補抵抗値としてもよい。前者の場合、上記65535パターンの設定候補データ82のうちの、想定判定結果データ81「0x0003」に対応付けられた設定候補データ82は、2進数により、7ビット目から0ビット目まで「0001001」で表される。7ビット目の「0」は、判定結果が正常動作、即ち、OKであることを表している。6ビット目から4ビット目までの「001」は、候補抵抗値Rcpuが50Ωであることを表している。3ビット目から0ビット目までの「001」は、候補抵抗値Rddrが50Ωであることを表している。
また、上記65535パターンの想定判定結果データ81のうちの、判定結果が2つ正常を表し(即ち、Nは2である)、かつ、その2組の候補抵抗値Rcpu、Rddrが、それぞれ、50Ω、50Ωである場合、50Ω、150Ωである場合の想定判定結果データ81は、16進数で「0x0005」により表される。なお、2進数では、「0000000000000101」により表される。この場合、2組の候補抵抗値Rcpu、Rddrのうちの、その合計値(Rall=Rcpu+Rddr)が最小となる候補抵抗値50Ω、50Ωを、推奨される候補抵抗値とする。又は、その合計値(Rall=Rcpu+Rddr)が最大となる候補抵抗値Rcpu、Rddr(50Ω、150Ω)を、推奨される候補抵抗値としてもよい。前者の場合、上記65535パターンの設定候補データ82のうちの、想定判定結果データ81「0x0005」に対応付けられた設定候補データ82は、2進数により、7ビット目から0ビット目まで「0001001」で表される。
また、上記65535パターンの想定判定結果データ81のうちの、判定結果が6つ正常を表し(即ち、Nは6である)、かつ、その6組の候補抵抗値Rcpu、Rddrが、それぞれ、50Ω、50Ωである場合、50Ω、150Ωである場合、75Ω、75Ωである場合、75Ω、150Ωである場合、150Ω、75Ωである場合、150Ω、150Ωである場合の想定判定結果データ81は、16進数で「0x0565」により表される。なお、2進数では、「0000010101100101」により表される。この場合、6組の候補抵抗値Rcpu、Rddrのうちの、その合計値(Rall=Rcpu+Rddr)が中間値となる候補抵抗値75Ω、75Ωを、推奨される候補抵抗値とする。この場合、上記65535パターンの設定候補データ82のうちの、想定判定結果データ81「0x0565」に対応付けられた設定候補データ82は、2進数により、7ビット目から0ビット目まで「0010010」で表される。7ビット目の「0」は、判定結果が正常動作、即ち、OKであることを表している。6ビット目から4ビット目までの「010」は、候補抵抗値Rcpuが75Ωであることを表している。3ビット目から0ビット目までの「010」は、候補抵抗値Rddrが75Ωであることを表している。
また、上記65535パターンの想定判定結果データ81のうちの、判定結果が3つ正常を表し(即ち、Nは3である)、かつ、その3組の候補抵抗値Rcpu、Rddrが、それぞれ、150Ω、50Ωである場合、150Ω、75Ωである場合、150Ω、150Ωである場合の想定判定結果データ81は、16進数で「0x0700」により表される。なお、2進数では、「0000011100000000」により表される。この場合、3組の候補抵抗値Rcpu、Rddrのうちの、その合計値(Rall=Rcpu+Rddr)が中間値となる候補抵抗値150Ω、75Ωを、推奨される候補抵抗値とする。この場合、上記65535パターンの設定候補データ82のうちの、想定判定結果データ81「0x0700」に対応付けられた設定候補データ82は、2進数により、7ビット目から0ビット目まで「0011010」で表される。7ビット目の「0」は、判定結果が正常動作、即ち、OKであることを表している。6ビット目から4ビット目までの「011」は、候補抵抗値Rcpuが150Ωであることを表している。3ビット目から0ビット目までの「010」は、候補抵抗値Rddrが75Ωであることを表している。
また、上記65535パターンの想定判定結果データ81のうちの、判定結果が6つ正常を表し(即ち、Nは6である)、かつ、その6組の候補抵抗値Rcpu、Rddrが、それぞれ、50Ω、150Ωである場合、75Ω、75Ωである場合、75Ω、150Ωである場合、150Ω、50Ωである場合、150Ω、75Ωである場合、150Ω、150Ωである場合の想定判定結果データ81は、16進数で「0x0764」により表される。なお、2進数では、「0000011101100100」により表される。この場合、6組の候補抵抗値Rcpu、Rddrのうちの、その合計値(Rall=Rcpu+Rddr)が中間値となる候補抵抗値75Ω、75Ωを、推奨される候補抵抗値とする。この場合、上記65535パターンの設定候補データ82のうちの、想定判定結果データ81「0x0764」に対応付けられた設定候補データ82は、2進数により、7ビット目から0ビット目まで「0010010」で表される。
また、上記65535パターンの想定判定結果データ81のうちの、判定結果が9つ正常を表し(即ち、Nは9である)、かつ、その9組の候補抵抗値Rcpu、Rddrの少なくとも1つが∞(設定無し)ではない場合の想定判定結果データ81は、16進数で「0x0777」により表される。なお、2進数では、「0000011101110111」により表される。この場合、9組の候補抵抗値Rcpu、Rddrのうちの、その合計値(Rall=Rcpu+Rddr)が中間値となる候補抵抗値75Ω、75Ωを、推奨される候補抵抗値とする。この場合、上記65535パターンの設定候補データ82のうちの、想定判定結果データ81「0x0777」に対応付けられた設定候補データ82は、2進数により、7ビット目から0ビット目まで「0010010」で表される。
図8は、本発明の第2実施形態に係るメモリ制御装置1の動作を示すフローチャートである。図9は、本発明の第2実施形態に係るメモリ制御装置1の動作を説明するための図である。
いま、S01〜S08が実行される。ここで、S08において、提示制御部12は、判定結果格納レジスタ23に格納された判定結果データ71「0x0700」を通知部30の各7セグメントディスプレイに出力することにより、ユーザに3組の候補抵抗値Rcpu、Rddr(150Ω、50Ω)(150Ω、75Ω)(150Ω、150Ω)を提示する。
次に、提示制御部12は、平均値設定テーブル80に格納された65536パターンの想定判定結果データ81のうちの、判定結果格納レジスタ23に格納された判定結果データ71「0x0700」に一致する想定判定結果データ81「0x0700」を検索する。そこで、提示制御部12は、平均値設定テーブル80に格納された65536パターンの設定候補データ82のうちの、検索された想定判定結果データ81「0x0700」に対応する設定候補データ82「0011010」を選択する。即ち、設定候補データ82が表す1組の候補抵抗値Rcpu、Rddr(150Ω、75Ω)を選択する。提示制御部12は、その設定候補データ82「0011010」を推奨候補データ72として、通知部30の各LEDに出力することにより、ユーザに1組の候補抵抗値Rcpu、Rddr(150Ω、75Ω)を提示する(S21)。
この例では、S08において3組の候補抵抗値Rcpu、Rddrが提示され、S21において1組の候補抵抗値Rcpu、Rddrが提示される。このため、ユーザは、通知部30の各7セグメントディスプレイと各LEDとを参照することにより、3組の候補抵抗値Rcpu、Rddr(150Ω、50Ω)(150Ω、75Ω)(150Ω、150Ω)の中から、1組の候補抵抗値Rcpu、Rddr(150Ω、75Ω)が選択されたことを把握することができる。
S09において、設定制御部13は、推奨候補データ72「0011010」が表す1組の候補抵抗値Rcpu、Rddr(150Ω、75Ω)を、制御側ODT用終端抵抗41の抵抗値Rcpu及び半導体メモリ5のODT用終端抵抗61の抵抗値Rddrとして、それぞれ、制御用モードレジスタ21及びメモリ用モードレジスタ22に設定する。
以上の説明により、本発明の第2実施形態に係るメモリ制御装置1では、第1実施形態の効果に加えて、想定される判定結果データ71のN組の候補抵抗値Rcpu、Rddrのうちの、推奨される候補抵抗値として1組の候補抵抗値Rcpu、Rddrを平均値設定テーブル80に予め設定しておくことにより、その平均値設定テーブル80から1組の候補抵抗値Rcpu、Rddrを自動的に選択することができる。そのため、ユーザにとっては、どの抵抗値が適正か否かを考える手間が省ける。
[第3実施形態]
第1、2実施形態では、半導体メモリ5が1つである場合について説明している。第3実施形態では、半導体メモリ5が複数存在する場合について説明している。第3実施形態では、第2実施形態からの変更点のみ説明する。
第1、2実施形態では、半導体メモリ5が1つである場合について説明している。第3実施形態では、半導体メモリ5が複数存在する場合について説明している。第3実施形態では、第2実施形態からの変更点のみ説明する。
図10は、本発明の第3実施形態に係るメモリ制御装置1が適用されるシステムの構成を示す図である。
本発明の第3実施形態に係るメモリ制御装置1は、データバス3を介してX個の半導体メモリ5と接続されている。即ち、制御部10は、X個の半導体メモリ5とデータバス3を介して接続されている。ここで、Xは、1以上の整数である。Xが1である場合は、その説明が第1実施形態に同じとなるため、Xが2以上である場合について説明する。
本発明の第3実施形態に係るメモリ制御装置1において、メモリ用モードレジスタ22は、X個の半導体メモリ5に対応してX個設けられている。
ここで、上述のXが2であるものとする。また、前述のLが4である。この場合、実行制御部11は、制御側ODT用終端抵抗41の抵抗値Rcpuとして4種類の抵抗値のうちの1種類の抵抗値を制御用モードレジスタ21に設定し、2個の半導体メモリ5のODT用終端抵抗61の抵抗値Rddrとして、4種類の抵抗値のうちの1種類の抵抗値を2個のメモリ用モードレジスタ22に設定する。
上述のXが2であり、前述のLが4であり、前述のMがLの(X+1)乗により表されるため、Mは64である。この場合、実行制御部11は、2個の半導体メモリ5の初期化時に、2個の半導体メモリ5の各々のリード・アフター・ライトを、制御側ODT用終端抵抗41の抵抗値Rcpuと2個の半導体メモリ5のODT用終端抵抗61の抵抗値Rddrに対して、64通り実行する。このとき、実行制御部11は、64通りの抵抗値Rcpu、Rddrとその判定結果とを含む判定結果データ71を生成して、判定結果格納レジスタ23に格納する。
上述のXが2であり、上述のMが64であり、前述のYが(X+1)のM乗により表されるため、Yは、2の64乗により表される。この場合、平均値設定テーブル80には、2の64乗パターンの想定判定結果データ81と、2の64乗パターンの設定候補データ82と、が格納されている。
提示制御部12は、判定結果格納レジスタ23に格納された判定結果データ71の64通りの抵抗値Rcpu、Rddrのうちの、判定結果が正常を表すN組の抵抗値Rcpu、Rddrを、候補抵抗値とし、その判定結果データ71を通知部30の各7セグメントディスプレイに出力することにより、ユーザに提示する。
更に、提示制御部12は、平均値設定テーブル80に格納された2の64乗パターンの想定判定結果データ81のうちの、判定結果格納レジスタ23に格納された判定結果データ71に一致する想定判定結果データ81を検索する。そこで、提示制御部12は、平均値設定テーブル80に格納された2の64乗パターンの設定候補データ82のうちの、検索された想定判定結果データ81に対応する設定候補データ82が表す1組の候補抵抗値Rcpu、Rddrを、推奨候補データ72とし、その推奨候補データ72を通知部30の各LEDに出力することにより、ユーザに提示する。
設定制御部13は、推奨候補データ72が表す1組の候補抵抗値Rcpu、Rddrを、制御側ODT用終端抵抗41の抵抗値Rcpu及び2個の半導体メモリ5のODT用終端抵抗61の抵抗値Rddrとして、それぞれ、制御用モードレジスタ21及び2個のメモリ用モードレジスタ22に設定する。
以上の説明により、本発明の第3実施形態に係るメモリ制御装置1では、第1、2実施形態の効果に加えて、半導体メモリ5が複数存在する場合でも適用可能であるため、アクセス中の半導体メモリ5(1つの半導体メモリ5)の他に、アクセス待ちの半導体メモリ5(それ以外の半導体メモリ5)も考慮したシステム設計を行なうことができる。
なお、本発明の各実施形態では、Lを4として、制御側ODT用終端抵抗41の抵抗値Rcpu及び半導体メモリ5のODT用終端抵抗61の抵抗値Rddrに対して、4種類の抵抗値のうちの1種類の抵抗値を設定しているが、これに限定されない。例えば、設定される抵抗値の少なくとも1つが∞(設定無し)であるときに、半導体メモリ5のリード・アフター・ライトの実行結果が異常動作を表す場合は、∞(設定無し)を候補から除外してもよい。この場合、Lが3となるため、M及びYが各実施形態のそれよりも大幅に小さい値となり、判定結果格納レジスタ23及び平均値設定テーブル80の記憶容量を大幅に削減することができる。
以上のように、本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
1 … メモリ制御装置、
3 … データバス、
5 … 半導体メモリ、
10 … 制御部、
11 … 実行制御部、
12 … 提示制御部、
13 … 設定制御部、
20 … レジスタ部、
21 … 制御用モードレジスタ、
22 … メモリ用モードレジスタ、
23 … 判定結果格納レジスタ、
30 … 通知部、
41 … 制御側ODT用終端抵抗、
42 … スイッチ、
51 … バッファ、
52 … メモリ部、
61 … ODT用終端抵抗、
62 … スイッチ、
71 … 判定結果データ、
72 … 推奨候補データ、
80 … 平均値設定テーブル、
81 … 想定判定結果データ、
82 … 設定候補データ
3 … データバス、
5 … 半導体メモリ、
10 … 制御部、
11 … 実行制御部、
12 … 提示制御部、
13 … 設定制御部、
20 … レジスタ部、
21 … 制御用モードレジスタ、
22 … メモリ用モードレジスタ、
23 … 判定結果格納レジスタ、
30 … 通知部、
41 … 制御側ODT用終端抵抗、
42 … スイッチ、
51 … バッファ、
52 … メモリ部、
61 … ODT用終端抵抗、
62 … スイッチ、
71 … 判定結果データ、
72 … 推奨候補データ、
80 … 平均値設定テーブル、
81 … 想定判定結果データ、
82 … 設定候補データ
Claims (11)
- L種類(Lは2以上の整数)の抵抗値のうちの1種類の抵抗値が設定されるODT(On Die Termination)用終端抵抗を備えたX個(Xは1以上の整数)の半導体メモリとデータバスを介して接続された制御部と、
前記データバスに接続され、L種類の抵抗値のうちの1種類の抵抗値が設定される制御側ODT用終端抵抗と、
を具備し、
前記制御部は、
前記X個の半導体メモリの各々の動作確認を、前記制御側ODT用終端抵抗の抵抗値と前記X個の半導体メモリのODT用終端抵抗の抵抗値に対して、M通り{MはLの(X+1)乗を表す整数}実行して、M通りの抵抗値とその判定結果とを含む判定結果データを生成する実行制御部と、
前記判定結果データの前記M通りの抵抗値のうちの、前記判定結果が正常を表すN組(Nは1からMのいずれかを満たす整数)の抵抗値を、候補抵抗値として提示する提示制御部と、
を具備することを特徴とするメモリ制御装置。 - 前記判定結果データの前記N組の候補抵抗値のうちの1組の候補抵抗値を、前記制御側ODT用終端抵抗の抵抗値及び前記X個の半導体メモリのODT用終端抵抗の抵抗値として設定する設定制御部、
を更に具備することを特徴とする請求項1に記載のメモリ制御装置。 - 前記制御部が読み書き可能であり、前記制御側ODT用終端抵抗の抵抗値及び前記X個の半導体メモリのODT用終端抵抗の抵抗値を設定するためのモードレジスタ、
を更に具備し、
前記設定制御部は、前記判定結果データの前記N組の候補抵抗値のうちの1組の候補抵抗値を、前記制御側ODT用終端抵抗の抵抗値及び前記X個の半導体メモリのODT用終端抵抗の抵抗値として、前記モードレジスタに設定する、
ことを特徴とする請求項2に記載のメモリ制御装置。 - 想定される判定結果データとしてYパターン{Yは(X+1)のM乗を表す整数}の想定判定結果データとYパターンの設定候補データとが格納された平均値設定テーブル、
を更に具備し、
前記平均値設定テーブルに格納された前記Yパターンの想定判定結果データのうちの、前記判定結果が全て異常を表す想定判定結果データ以外を(Y−1)パターンの想定判定結果データとしたとき、前記平均値設定テーブルに格納された前記Yパターンの設定候補データのうちの(Y−1)パターンの設定候補データは、前記(Y−1)パターンの想定判定結果データの前記N組の候補抵抗値のうちの、推奨される候補抵抗値として予め設定された前記1組の候補抵抗値を表し、
前記提示制御部は、前記平均値設定テーブルに格納された前記(Y−1)パターンの設定候補データのうちの、前記判定結果データに対応する設定候補データが表す前記1組の候補抵抗値を提示する、
ことを特徴とする請求項2又は3に記載のメモリ制御装置。 - Nが2である場合、前記N組の候補抵抗値のうちの、その合計値が最小又は最大となる候補抵抗値を、前記1組の候補抵抗値とする、
ことを特徴とする請求項2から4のいずれかに記載のメモリ制御装置。 - Nが3以上である場合、前記N組の候補抵抗値のうちの、その合計値が中間値となる候補抵抗値を、前記1組の候補抵抗値とする、
ことを特徴とする請求項2から5のいずれかに記載のメモリ制御装置。 - 前記制御部が読み書き可能な判定結果格納レジスタ、
を更に具備し、
前記実行制御部は、前記判定結果データを前記判定結果格納レジスタに格納する、
ことを特徴とする請求項1から6のいずれかに記載のメモリ制御装置。 - 前記判定結果データの前記M通りの抵抗値において、前記判定結果が全て異常を表す場合、その旨を表すエラー通知を出力する通知部、
を更に具備する請求項1から7のいずれかに記載のメモリ制御装置。 - 前記動作確認は、前記X個の半導体メモリの初期化時に行なわれる、
ことを特徴とする請求項1から8のいずれかに記載のメモリ制御装置。 - 前記X個の半導体メモリは、DDR SDRAM(Double-Data-Rate Synchronous Dynamic Random Access Memory)である、
ことを特徴とする請求項1から9のいずれかに記載のメモリ制御装置。 - L種類(Lは2以上の整数)の抵抗値のうちの1種類の抵抗値が設定されるODT(On Die Termination)用終端抵抗を備えたX個(Xは1以上の整数)の半導体メモリと、前記X個の半導体メモリとデータバスを介して接続され、その内部にL種類の抵抗値のうちの1種類の抵抗値が設定される制御側ODT用終端抵抗を備えた装置と、を具備するシステムに適用される方法であって、
前記X個の半導体メモリの各々の動作確認を、前記制御側ODT用終端抵抗の抵抗値と前記X個の半導体メモリのODT用終端抵抗の抵抗値に対して、M通り{MはLの(X+1)乗を表す整数}実行して、M通りの抵抗値とその判定結果とを含む判定結果データを生成するステップと、
前記判定結果データの前記M通りの抵抗値のうちの、前記判定結果が正常を表すN組(Nは1からMのいずれかを満たす整数)の抵抗値を、候補抵抗値として提示するステップと、
を具備することを特徴とするメモリ制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013261339A JP2015118527A (ja) | 2013-12-18 | 2013-12-18 | メモリ制御装置、及び、メモリ制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013261339A JP2015118527A (ja) | 2013-12-18 | 2013-12-18 | メモリ制御装置、及び、メモリ制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015118527A true JP2015118527A (ja) | 2015-06-25 |
Family
ID=53531197
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013261339A Pending JP2015118527A (ja) | 2013-12-18 | 2013-12-18 | メモリ制御装置、及び、メモリ制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015118527A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2022064548A1 (ja) * | 2020-09-23 | 2022-03-31 | ||
JP7550359B2 (ja) | 2020-06-26 | 2024-09-13 | パナソニックIpマネジメント株式会社 | 終端器設定支援システム、自動火災報知システム、終端器設定支援方法、プログラム |
-
2013
- 2013-12-18 JP JP2013261339A patent/JP2015118527A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7550359B2 (ja) | 2020-06-26 | 2024-09-13 | パナソニックIpマネジメント株式会社 | 終端器設定支援システム、自動火災報知システム、終端器設定支援方法、プログラム |
JPWO2022064548A1 (ja) * | 2020-09-23 | 2022-03-31 | ||
WO2022064548A1 (ja) * | 2020-09-23 | 2022-03-31 | キオクシア株式会社 | 半導体記憶装置及びメモリシステム |
JP7383831B2 (ja) | 2020-09-23 | 2023-11-20 | キオクシア株式会社 | 半導体記憶装置及びメモリシステム |
US12298826B2 (en) | 2020-09-23 | 2025-05-13 | Kioxia Corporation | Semiconductor memory device and memory system |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7224595B2 (en) | 276-Pin buffered memory module with enhanced fault tolerance | |
JP5205280B2 (ja) | メモリ回路システム及び方法 | |
US7864604B2 (en) | Multiple address outputs for programming the memory register set differently for different DRAM devices | |
US9773531B2 (en) | Accessing memory | |
KR102190125B1 (ko) | 어드레스 리매핑을 위한 적층형 메모리 장치, 이를 포함하는 메모리 시스템 및 어드레스 리매핑 방법 | |
KR20190004302A (ko) | 자동 리프레시 상태 머신 mop 어레이 | |
JP2008521158A (ja) | 異なるチップにおける異なる処理を制御するコマンド | |
JP2014102867A (ja) | 半導体記憶装置及びその制御方法 | |
KR20170037705A (ko) | 입력 신호들을 랭크별로 제어하는 메모리 버퍼를 갖는 메모리 모듈 | |
US20110060862A1 (en) | Systems and Methods for Switchable Memory Configuration | |
US9748953B2 (en) | Memory modules including plural memory devices arranged in rows and module resistor units | |
JP2011090441A (ja) | メモリモジュール | |
US20110138162A1 (en) | Reconfigurable load-reduced memory buffer | |
US12217787B2 (en) | Apparatus, system and method to detect and improve an input clock performance of a memory device | |
KR20110083859A (ko) | 메모리 버퍼를 갖는 메모리 모듈 및 이를 포함하는 메모리 시스템 | |
KR20210081224A (ko) | 동적 근접성 기반 온-다이 터미네이션을 위한 기술들 | |
US7904667B2 (en) | Systems and methods for monitoring and controlling binary state devices using a memory device | |
JP2015118527A (ja) | メモリ制御装置、及び、メモリ制御方法 | |
US20130111156A1 (en) | Flexible pin allocation | |
JP5541373B2 (ja) | メモリコントローラ、及び情報処理装置 | |
JP2019204485A (ja) | マシンラーニング装置、及びそれを利用したマシンラーニングシステム | |
US20130313714A1 (en) | Semiconductor device having enhanced signal integrity | |
JP6487608B2 (ja) | 半導体記憶装置 | |
CN111599388A (zh) | 一种存储器控制装置 | |
JP5662574B2 (ja) | 半導体装置 |