(57)【要約】【課題】終端抵抗の抵抗値を設定する際に、データバス上の信号反射を低減すると共に、ユーザが満足する抵抗値を選択することができるメモリ制御装置を提供する。【解決手段】メモリ制御装置（１）は、ＯＤＴ用終端抵抗（６１）を備えた半導体メモリ（５）とデータバス（３）を介して接続された制御部（１０）と、データバス（３）に接続された制御側ＯＤＴ用終端抵抗（４１）と、を具備する。制御部（１０）は、半導体メモリ（５）の動作確認を、制御側ＯＤＴ用終端抵抗（４１）の抵抗値と半導体メモリ（５）のＯＤＴ用終端抵抗（６１）の抵抗値に対して、全パターン実行して、全パターンの抵抗値とその判定結果とを含む判定結果データを生成する実行制御部（１１）と、判定結果データのＭ通りの抵抗値のうちの、判定結果が正常を表す抵抗値を、候補抵抗値として提示する提示制御部（１２）と、を具備する。【選択図】図１
2015118527.tif 000002
【特許請求の範囲】
【請求項１】
Ｌ種類（Ｌは２以上の整数）の抵抗値のうちの１種類の抵抗値が設定されるＯＤＴ（On Die Termination）用終端抵抗を備えたＸ個（Ｘは１以上の整数）の半導体メモリとデータバスを介して接続された制御部と、
前記データバスに接続され、Ｌ種類の抵抗値のうちの１種類の抵抗値が設定される制御側ＯＤＴ用終端抵抗と、
を具備し、
前記制御部は、
前記Ｘ個の半導体メモリの各々の動作確認を、前記制御側ＯＤＴ用終端抵抗の抵抗値と前記Ｘ個の半導体メモリのＯＤＴ用終端抵抗の抵抗値に対して、Ｍ通り｛ＭはＬの（Ｘ＋１）乗を表す整数｝実行して、Ｍ通りの抵抗値とその判定結果とを含む判定結果データを生成する実行制御部と、
前記判定結果データの前記Ｍ通りの抵抗値のうちの、前記判定結果が正常を表すＮ組（Ｎは１からＭのいずれかを満たす整数）の抵抗値を、候補抵抗値として提示する提示制御部と、
を具備することを特徴とするメモリ制御装置。
【請求項２】
前記判定結果データの前記Ｎ組の候補抵抗値のうちの１組の候補抵抗値を、前記制御側ＯＤＴ用終端抵抗の抵抗値及び前記Ｘ個の半導体メモリのＯＤＴ用終端抵抗の抵抗値として設定する設定制御部、
を更に具備することを特徴とする請求項１に記載のメモリ制御装置。
【請求項３】
前記制御部が読み書き可能であり、前記制御側ＯＤＴ用終端抵抗の抵抗値及び前記Ｘ個の半導体メモリのＯＤＴ用終端抵抗の抵抗値を設定するためのモードレジスタ、
を更に具備し、
前記設定制御部は、前記判定結果データの前記Ｎ組の候補抵抗値のうちの１組の候補抵抗値を、前記制御側ＯＤＴ用終端抵抗の抵抗値及び前記Ｘ個の半導体メモリのＯＤＴ用終端抵抗の抵抗値として、前記モードレジスタに設定する、
ことを特徴とする請求項２に記載のメモリ制御装置。
【請求項４】
想定される判定結果データとしてＹパターン｛Ｙは（Ｘ＋１）のＭ乗を表す整数｝の想定判定結果データとＹパターンの設定候補データとが格納された平均値設定テーブル、
を更に具備し、
前記平均値設定テーブルに格納された前記Ｙパターンの想定判定結果データのうちの、前記判定結果が全て異常を表す想定判定結果データ以外を（Ｙ−１）パターンの想定判定結果データとしたとき、前記平均値設定テーブルに格納された前記Ｙパターンの設定候補データのうちの（Ｙ−１）パターンの設定候補データは、前記（Ｙ−１）パターンの想定判定結果データの前記Ｎ組の候補抵抗値のうちの、推奨される候補抵抗値として予め設定された前記１組の候補抵抗値を表し、
前記提示制御部は、前記平均値設定テーブルに格納された前記（Ｙ−１）パターンの設定候補データのうちの、前記判定結果データに対応する設定候補データが表す前記１組の候補抵抗値を提示する、
ことを特徴とする請求項２又は３に記載のメモリ制御装置。
【請求項５】
Ｎが２である場合、前記Ｎ組の候補抵抗値のうちの、その合計値が最小又は最大となる候補抵抗値を、前記１組の候補抵抗値とする、
ことを特徴とする請求項２から４のいずれかに記載のメモリ制御装置。
【請求項６】
Ｎが３以上である場合、前記Ｎ組の候補抵抗値のうちの、その合計値が中間値となる候補抵抗値を、前記１組の候補抵抗値とする、
ことを特徴とする請求項２から５のいずれかに記載のメモリ制御装置。
【請求項７】
前記制御部が読み書き可能な判定結果格納レジスタ、
を更に具備し、
前記実行制御部は、前記判定結果データを前記判定結果格納レジスタに格納する、
ことを特徴とする請求項１から６のいずれかに記載のメモリ制御装置。
【請求項８】
前記判定結果データの前記Ｍ通りの抵抗値において、前記判定結果が全て異常を表す場合、その旨を表すエラー通知を出力する通知部、
を更に具備する請求項１から７のいずれかに記載のメモリ制御装置。
【請求項９】
前記動作確認は、前記Ｘ個の半導体メモリの初期化時に行なわれる、
ことを特徴とする請求項１から８のいずれかに記載のメモリ制御装置。
【請求項１０】
前記Ｘ個の半導体メモリは、ＤＤＲ  ＳＤＲＡＭ（Double-Data-Rate Synchronous Dynamic Random Access Memory）である、
ことを特徴とする請求項１から９のいずれかに記載のメモリ制御装置。
【請求項１１】
Ｌ種類（Ｌは２以上の整数）の抵抗値のうちの１種類の抵抗値が設定されるＯＤＴ（On Die Termination）用終端抵抗を備えたＸ個（Ｘは１以上の整数）の半導体メモリと、前記Ｘ個の半導体メモリとデータバスを介して接続され、その内部にＬ種類の抵抗値のうちの１種類の抵抗値が設定される制御側ＯＤＴ用終端抵抗を備えた装置と、を具備するシステムに適用される方法であって、
前記Ｘ個の半導体メモリの各々の動作確認を、前記制御側ＯＤＴ用終端抵抗の抵抗値と前記Ｘ個の半導体メモリのＯＤＴ用終端抵抗の抵抗値に対して、Ｍ通り｛ＭはＬの（Ｘ＋１）乗を表す整数｝実行して、Ｍ通りの抵抗値とその判定結果とを含む判定結果データを生成するステップと、
前記判定結果データの前記Ｍ通りの抵抗値のうちの、前記判定結果が正常を表すＮ組（Ｎは１からＭのいずれかを満たす整数）の抵抗値を、候補抵抗値として提示するステップと、
を具備することを特徴とするメモリ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体メモリ、特に、ＤＤＲ  ＳＤＲＡＭ（Double-Data-Rate Synchronous Dynamic Random Access Memory）を制御するメモリ制御装置、及び、メモリ制御方法に関する。
【背景技術】
【０００２】
メモリ制御装置は、データバスを介して半導体メモリと接続され、半導体メモリに対してデータの書き込みや読み出しを行なう。このようなデータ転送において、データバス上で反射される信号により影響を受ける場合がある。その信号反射の要因としては、データバスの配線パターンや配線長等が挙げられる。
【０００３】
信号反射を低減する一般的な方法としては、基板上のデータバスの端に終端抵抗を取り付ける方法がある。この方法はマザーボードターミネーションとも呼ばれる。しかし、この方法では、半導体メモリがＤＤＲ  ＳＤＲＡＭである場合は、その動作周波数帯域において、信号反射を充分に低減することができない。ＤＤＲ  ＳＤＲＡＭとしては、ＤＤＲ２  ＳＤＲＡＭや、ＤＤＲ３  ＳＤＲＡＭが挙げられるが、これらはデータ転送の品質が要求される。
【０００４】
近年では、半導体メモリがＤＤＲ  ＳＤＲＡＭである場合は、基板上に配置されていた終端抵抗を、ＤＤＲ  ＳＤＲＡＭ内部に取り込む方法が採用されている。この方法は、ＯＤＴ（On Die Termination）と呼ばれている。このＯＤＴの利点としては、基板上に配置されていた終端抵抗を、ＤＤＲ  ＳＤＲＡＭ内部に取り込むことにより、基板上の部品点数を削減することができ、コストダウンが図れる。更に、基板上の終端抵抗に関する配置や配線が不要になるため、基板のシステム設計が簡易化できる。
【０００５】
また、ＯＤＴにおいて、メモリ制御装置は、内部に終端抵抗を有し、データバス上で自身の終端抵抗及び半導体メモリの終端抵抗に対して、同時にオン／オフ（有効／無効）を設定する。これにより、データバス上の信号反射を低減し、データ転送の品質を改善することができる。
【０００６】
これらの終端抵抗の抵抗値をどの値に設定するかは、ユーザが、半導体メモリの動作確認（リード・アフター・ライト）を実行し、正常動作したかどうかを確認する必要がある。この確認作業は、抵抗値を変更しながら、その都度行なわれる。そのため、ユーザにとっては労力と手間がかかる。
【０００７】
特許文献１には、終端抵抗の抵抗値を設定する技術が記載されている。特許文献１に記載されたメモリ制御装置は、半導体メモリ側の抵抗値を順次変更しながら半導体メモリの動作確認を実行し、正常動作した場合、動作確認を中止して、そのときの抵抗値を半導体メモリ側に設定する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１０−９２３８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１に記載されたメモリ制御装置では、終端抵抗の抵抗値として設定される値が、ユーザにとって満足したもの、あるいは、納得したものではあるとはいえない。その理由としては、特許文献１に記載されたメモリ制御装置では、半導体メモリ側の抵抗値を順次変更しながら半導体メモリの動作確認を実行した結果、正常動作した時点で動作確認を中止して、そのときの抵抗値を半導体メモリ側に設定するからである。
【００１０】
例えば、終端抵抗の抵抗値として、４種類の抵抗値のうちの１種類の抵抗値が設定されるものとし、その抵抗値が第１の値及びそれよりも小さい第２の値では異常動作（即ち、ＮＧ）であり、第２の値よりも小さい第３の値では正常動作（即ち、ＯＫ）であるものとする。特許文献１に記載されたメモリ制御装置では、半導体メモリ側の抵抗値を順次変更しながら半導体メモリの動作確認を実行した結果、正常動作した時点で動作確認を中止するため、第３の値を半導体メモリ側に設定することになる。
【００１１】
特許文献１に記載されたメモリ制御装置では、抵抗値が第３の値では正常動作であるが、第２の値では異常動作であるため、第２の値と第３の値との境目で異常動作になる可能性がある。しかし、特許文献１に記載されたメモリ制御装置では、正常動作した時点で動作確認を中止するため、ユーザは、抵抗値が第３の値よりも小さい第４の値では正常動作するか否かについて、確認することができない。よって、終端抵抗の抵抗値として設定される値が、ユーザにとって満足したものではあるとはいえない。
【００１２】
実際には抵抗値が第４の値でも正常動作している可能性がある。この場合、終端抵抗の抵抗値として設定される値が、第２の値に近い第３の値とするよりも、第４の値とすることが好ましい。終端抵抗の抵抗値として第３の値が設定された場合、ユーザにとって満足したものではあるとはいえない。
【００１３】
本発明は、上記従来の問題点に鑑みてなされたものであって、終端抵抗の抵抗値を設定する際に、データバス上の信号反射を低減すると共に、ユーザが満足する抵抗値を選択することができるメモリ制御装置、及び、メモリ制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明のメモリ制御装置は、Ｌ種類（Ｌは２以上の整数）の抵抗値のうちの１種類の抵抗値が設定されるＯＤＴ（On Die Termination）用終端抵抗を備えたＸ個（Ｘは１以上の整数）の半導体メモリとデータバスを介して接続された制御部と、前記データバスに接続され、Ｌ種類の抵抗値のうちの１種類の抵抗値が設定される制御側ＯＤＴ用終端抵抗と、を具備し、前記制御部は、前記Ｘ個の半導体メモリの各々の動作確認を、前記制御側ＯＤＴ用終端抵抗の抵抗値と前記Ｘ個の半導体メモリのＯＤＴ用終端抵抗の抵抗値に対して、Ｍ通り｛ＭはＬの（Ｘ＋１）乗を表す整数｝実行して、Ｍ通りの抵抗値とその判定結果とを含む判定結果データを生成する実行制御部と、前記判定結果データの前記Ｍ通りの抵抗値のうちの、前記判定結果が正常を表すＮ組（Ｎは１からＭのいずれかを満たす整数）の抵抗値を、候補抵抗値として提示する提示制御部と、を具備することを特徴とする。
【００１５】
本発明のメモリ制御装置は、前記判定結果データの前記Ｎ組の候補抵抗値のうちの１組の候補抵抗値を、前記制御側ＯＤＴ用終端抵抗の抵抗値及び前記Ｘ個の半導体メモリのＯＤＴ用終端抵抗の抵抗値として設定する設定制御部、を更に具備する。
【００１６】
本発明のメモリ制御装置は、前記制御部が読み書き可能であり、前記制御側ＯＤＴ用終端抵抗の抵抗値及び前記Ｘ個の半導体メモリのＯＤＴ用終端抵抗の抵抗値を設定するためのモードレジスタ、を更に具備し、前記設定制御部は、前記判定結果データの前記Ｎ組の候補抵抗値のうちの１組の候補抵抗値を、前記制御側ＯＤＴ用終端抵抗の抵抗値及び前記Ｘ個の半導体メモリのＯＤＴ用終端抵抗の抵抗値として、前記モードレジスタに設定する、ことを特徴とする。
【００１７】
本発明のメモリ制御装置は、想定される判定結果データとしてＹパターン｛Ｙは（Ｘ＋１）のＭ乗を表す整数｝の想定判定結果データとＹパターンの設定候補データとが格納された平均値設定テーブル、を更に具備し、前記平均値設定テーブルに格納された前記Ｙパターンの想定判定結果データのうちの、前記判定結果が全て異常を表す想定判定結果データ以外を（Ｙ−１）パターンの想定判定結果データとしたとき、前記平均値設定テーブルに格納された前記Ｙパターンの設定候補データのうちの（Ｙ−１）パターンの設定候補データは、前記（Ｙ−１）パターンの想定判定結果データの前記Ｎ組の候補抵抗値のうちの、推奨される候補抵抗値として予め設定された前記１組の候補抵抗値を表し、前記提示制御部は、前記平均値設定テーブルに格納された前記（Ｙ−１）パターンの設定候補データのうちの、前記判定結果データに対応する設定候補データが表す前記１組の候補抵抗値を提示する、ことを特徴とする。
【００１８】
本発明のメモリ制御装置において、Ｎが２である場合、前記Ｎ組の候補抵抗値のうちの、その合計値が最小又は最大となる候補抵抗値を、前記１組の候補抵抗値とする、ことを特徴とする。
【００１９】
本発明のメモリ制御装置において、Ｎが３以上である場合、前記Ｎ組の候補抵抗値のうちの、その合計値が中間値となる候補抵抗値を、前記１組の候補抵抗値とする、ことを特徴とする。
【００２０】
本発明のメモリ制御装置は、前記制御部が読み書き可能な判定結果格納レジスタ、を更に具備し、前記実行制御部は、前記判定結果データを前記判定結果格納レジスタに格納する、ことを特徴とする。
【００２１】
本発明のメモリ制御装置は、前記判定結果データの前記Ｍ通りの抵抗値において、前記判定結果が全て異常を表す場合、その旨を表すエラー通知を出力する通知部、を更に具備する。
【００２２】
本発明のメモリ制御装置において、前記動作確認は、前記Ｘ個の半導体メモリの初期化時に行なわれる、ことを特徴とする。
【００２３】
本発明のメモリ制御装置において、前記Ｘ個の半導体メモリは、ＤＤＲ  ＳＤＲＡＭ（Double-Data-Rate Synchronous Dynamic Random Access Memory）である、ことを特徴とする。
【００２４】
本発明のメモリ制御方法は、Ｌ種類（Ｌは２以上の整数）の抵抗値のうちの１種類の抵抗値が設定されるＯＤＴ（On Die Termination）用終端抵抗を備えたＸ個（Ｘは１以上の整数）の半導体メモリと、前記Ｘ個の半導体メモリとデータバスを介して接続され、その内部にＬ種類の抵抗値のうちの１種類の抵抗値が設定される制御側ＯＤＴ用終端抵抗を備えた装置と、を具備するシステムに適用される方法であって、前記Ｘ個の半導体メモリの各々の動作確認を、前記制御側ＯＤＴ用終端抵抗の抵抗値と前記Ｘ個の半導体メモリのＯＤＴ用終端抵抗の抵抗値に対して、Ｍ通り｛ＭはＬの（Ｘ＋１）乗を表す整数｝実行して、Ｍ通りの抵抗値とその判定結果とを含む判定結果データを生成するステップと、前記判定結果データの前記Ｍ通りの抵抗値のうちの、前記判定結果が正常を表すＮ組（Ｎは１からＭのいずれかを満たす整数）の抵抗値を、候補抵抗値として提示するステップと、を具備することを特徴とする。
【発明の効果】
【００２５】
本発明によれば、終端抵抗の抵抗値を設定する際に、データバス上の信号反射を低減すると共に、ユーザが満足する抵抗値を選択することができる。
【図面の簡単な説明】
【００２６】
【図１】本発明の第１実施形態に係るメモリ制御装置１が適用されるシステムの構成を示す図である。
【図２】図１の制御用モードレジスタ２１に設定される抵抗値を示す図である。
【図３】図１のメモリ用モードレジスタ２２に設定される抵抗値を示す図である。
【図４】図１の判定結果格納レジスタ２３に格納される判定結果データ７１を示す図である。
【図５】本発明の第１実施形態に係るメモリ制御装置１の動作を示すフローチャートである。
【図６】本発明の第２実施形態に係るメモリ制御装置１が適用されるシステムの構成を示す図である。
【図７】図６の平均値設定テーブル８０に格納されたデータを示す図である。
【図８】本発明の第２実施形態に係るメモリ制御装置１の動作を示すフローチャートである。
【図９】本発明の第２実施形態に係るメモリ制御装置１の動作を説明するための図である。
【図１０】本発明の第３実施形態に係るメモリ制御装置１が適用されるシステムの構成を示す図である。
【発明を実施するための形態】
【００２７】
以下、図面を参照しながら本発明のメモリ制御装置の実施形態について説明する。
【００２８】
［第１実施形態］
図１は、本発明の第１実施形態に係るメモリ制御装置１が適用されるシステムの構成を示す図である。
【００２９】
本発明の第１実施形態に係るメモリ制御装置１は、データバス３を介して半導体メモリ５と接続されている。半導体メモリ５は、ＤＤＲ  ＳＤＲＡＭであり、内部に終端抵抗を有することにより、データバス３上の信号反射を低減し、高速動作を実現する。
【００３０】
ＤＤＲ  ＳＤＲＡＭとしては、ＤＤＲ２  ＳＤＲＡＭや、ＤＤＲ３  ＳＤＲＡＭが挙げられる。例えば、ＤＤＲ２  ＳＤＲＡＭの構成では、１ＲＡＮＫ構成、２ＲＡＮＫ構成、複数ＤＩＭＭ（Dual Inline Memory Module）構成などがある。本実施形態では、半導体メモリ５がＤＤＲ２  ＳＤＲＡＭであり、その構成が１ＲＡＮＫ構成であるものとする。
【００３１】
その半導体メモリ５は、バッファ５１と、メモリ部５２と、ＯＤＴ（On Die Termination）用終端抵抗６１と、スイッチ６２と、を具備している。
【００３２】
バッファ５１は、半導体メモリ５内に設けられ、データバス３に接続されている。メモリ部５２は、半導体メモリ５内に設けられ、バッファ５１に接続されている。
【００３３】
ＯＤＴ用終端抵抗６１は、半導体メモリ５内に設けられ、その一端がバッファ５１の前段でデータバス３に接続されている。ＯＤＴ用終端抵抗６１には、Ｌ種類の抵抗値のうちの１種類の抵抗値が設定される。ここで、Ｌは２以上の整数である。Ｌの具体例については後述する。
【００３４】
スイッチ６２は、半導体メモリ５内に設けられたＦＥＴ（Field Effect Transistor）である。スイッチ６２は、その一端がＯＤＴ用終端抵抗６１の他端に接続され、その他端に電源電圧（具体的には電源電圧ＶＤＤの１／２）が供給される。スイッチ６２（ＦＥＴ）のゲートに制御信号ＣＴＲが供給された場合、スイッチ６２はオンする。
【００３５】
本発明の第１実施形態に係るメモリ制御装置１は、内部に終端抵抗を有し、データバス３上で自身の終端抵抗及び半導体メモリ５の終端抵抗に対して、同時にオン／オフ（有効／無効）を設定する。これにより、データバス３上の信号反射を低減し、データ転送の品質を改善することができる。
【００３６】
そのメモリ制御装置１は、ＳｏＣ（System on Chip）に設けられ、制御部１０と、制御側ＯＤＴ用終端抵抗４１と、スイッチ４２と、レジスタ部２０と、通知部３０と、を具備している。
【００３７】
制御部１０は、メモリ制御装置１内に設けられ、半導体メモリ５とデータバス３を介して接続されている。制御部１０としてはＣＰＵ（Central Processing Unit）が例示される。制御部１０は、更に、コンピュータが実行可能なコンピュータプログラムが格納された記憶部（図示しない）を具備し、制御部１０は、そのコンピュータプログラムを読み出して実行する。制御部１０の構成については後述する。
【００３８】
制御側ＯＤＴ用終端抵抗４１は、メモリ制御装置１内に設けられ、制御部１０の前段でデータバス３に接続されている。制御側ＯＤＴ用終端抵抗４１には、Ｌ種類の抵抗値のうちの１種類の抵抗値が設定される。
【００３９】
スイッチ４２は、メモリ制御装置１内に設けられたＦＥＴである。スイッチ４２は、その一端が制御側ＯＤＴ用終端抵抗４１の他端に接続され、その他端に電源電圧（具体的には電源電圧ＶＤＤの１／２）が供給される。スイッチ４２（ＦＥＴ）のゲートに制御信号ＣＴＲが供給された場合、スイッチ４２はオンする。
【００４０】
レジスタ部２０は、制御部１０が読み書き可能な制御用モードレジスタ２１、メモリ用モードレジスタ２２、判定結果格納レジスタ２３を具備している。
【００４１】
制御用モードレジスタ２１は、メモリ制御装置１内に設けられ、制御部１０に接続されている。制御用モードレジスタ２１には、Ｌ種類の抵抗値のうちの１種類の抵抗値が制御側ＯＤＴ用終端抵抗４１の抵抗値Ｒｃｐｕとして設定される。制御側ＯＤＴ用終端抵抗４１の抵抗値Ｒｃｐｕは、制御部１０によりデータバス３上で設定される。
【００４２】
メモリ用モードレジスタ２２は、メモリ制御装置１内に設けられ、制御部１０に接続されている。メモリ用モードレジスタ２２には、Ｌ種類の抵抗値のうちの１種類の抵抗値が半導体メモリ５のＯＤＴ用終端抵抗６１の抵抗値Ｒｄｄｒとして設定される。ＯＤＴ用終端抵抗６１の抵抗値Ｒｄｄｒは、制御部１０によりデータバス３上で設定される。
【００４３】
判定結果格納レジスタ２３は、後述の判定結果データを格納する。
【００４４】
通知部３０は、複数配列されたＬＥＤ（Light Emitting Diode）や７セグメントディスプレイを備えている。
【００４５】
制御部１０は、実行制御部１１と、提示制御部１２と、設定制御部１３と、を具備している。
【００４６】
実行制御部１１は、制御側ＯＤＴ用終端抵抗４１の抵抗値ＲｃｐｕとしてＬ種類の抵抗値のうちの１種類の抵抗値を制御用モードレジスタ２１に設定し、半導体メモリ５のＯＤＴ用終端抵抗６１の抵抗値ＲｄｄｒとしてＬ種類の抵抗値のうちの１種類の抵抗値をメモリ用モードレジスタ２２に設定する。
【００４７】
実行制御部１１は、半導体メモリ５の初期化時に、半導体メモリ５の動作確認（リード・アフター・ライト）を、制御側ＯＤＴ用終端抵抗４１の抵抗値Ｒｃｐｕと半導体メモリ５のＯＤＴ用終端抵抗６１の抵抗値Ｒｄｄｒに対して、Ｍ通り実行する。ここで、Ｍは、Ｌの２乗を表す整数である。Ｍの具体例については後述する。実行制御部１１は、Ｍ通りの抵抗値Ｒｃｐｕ、Ｒｄｄｒとその判定結果とを含む判定結果データ７１を生成して、判定結果格納レジスタ２３に格納する。
【００４８】
ここで、リード・アフター・ライトについて説明する。
【００４９】
まず、実行制御部１１は、半導体メモリ５にデータを書き込むライト時において、半導体メモリ５のスイッチ６２のゲートに制御信号ＣＴＲを出力する。即ち、ライト時において、半導体メモリ５をアサートする。半導体メモリ５のスイッチ６２は、制御信号ＣＴＲに応じてオンする。そのスイッチ６２がオンすることにより、半導体メモリ５のＯＤＴ用終端抵抗６１には電源電圧が供給され、そのＯＤＴ用終端抵抗６１は有効になる。
【００５０】
次に、実行制御部１１は、半導体メモリ５からデータを読み出すリード時において、メモリ制御装置１のスイッチ４２のゲートに制御信号ＣＴＲを出力する。即ち、リード時においては、半導体メモリ５をアサートしない。メモリ制御装置１のスイッチ４２は、制御信号ＣＴＲに応じてオンする。そのスイッチ４２がオンすることにより、制御側ＯＤＴ用終端抵抗４１には電源電圧が供給され、制御側ＯＤＴ用終端抵抗４１は有効になる。
【００５１】
リード・アフター・ライトにより正常動作している場合は、ライト時に書き込まれたデータとリード時に読み出されたデータとが一致する。即ち、判定結果データ７１に含まれる判定結果は、正常動作を表していることになる。
【００５２】
判定結果格納レジスタ２３に格納された判定結果データ７１のＭ通りの抵抗値Ｒｃｐｕ、Ｒｄｄｒにおいて、判定結果が全て異常を表しているものとする。この場合、提示制御部１２は、その旨を表すエラー通知を通知部３０に出力することにより、ユーザに通知する。ユーザは、エラー通知により、基板のシステム設計の見直しを行なうことができる。
【００５３】
一方、判定結果格納レジスタ２３に格納された判定結果データ７１のＭ通りの抵抗値Ｒｃｐｕ、Ｒｄｄｒにおいて、判定結果が少なくとも１つ正常を表しているものとする。この場合、提示制御部１２は、判定結果格納レジスタ２３に格納された判定結果データ７１のＭ通りの抵抗値Ｒｃｐｕ、Ｒｄｄｒのうちの、判定結果が正常を表すＮ組の抵抗値Ｒｃｐｕ、Ｒｄｄｒを、候補抵抗値とし、その旨を表す情報（判定結果データ７１）を通知部３０に出力することにより、ユーザに提示する。ここで、Ｎは、１からＭのいずれかを満たす整数である。
【００５４】
設定制御部１３は、判定結果データ７１のＮ組の候補抵抗値Ｒｃｐｕ、Ｒｄｄｒのうちの１組の候補抵抗値Ｒｃｐｕ、Ｒｄｄｒを、制御側ＯＤＴ用終端抵抗４１の抵抗値Ｒｃｐｕ及び半導体メモリ５のＯＤＴ用終端抵抗６１の抵抗値Ｒｄｄｒとして、制御用モードレジスタ２１及びメモリ用モードレジスタ２２に設定する。
【００５５】
図２は、図１の制御用モードレジスタ２１に設定される抵抗値を示す図である。
【００５６】
上述のＬが４である場合、制御用モードレジスタ２１には、４種類の抵抗値のうちの１種類の抵抗値が制御側ＯＤＴ用終端抵抗４１の抵抗値Ｒｃｐｕとして設定される。４種類の抵抗値としては、値が大きい順に、１５０Ω、７５Ω、５０Ω、∞（設定無し）が挙げられる。
【００５７】
図３は、図１のメモリ用モードレジスタ２２に設定される抵抗値を示す図である。
【００５８】
上述のＬが４である場合、メモリ用モードレジスタ２２には、４種類の抵抗値のうちの１種類の抵抗値が半導体メモリ５のＯＤＴ用終端抵抗６１の抵抗値Ｒｄｄｒとして設定される。４種類の抵抗値としては、値が大きい順に、１５０Ω、７５Ω、５０Ω、∞（設定無し）が挙げられる。
【００５９】
図４は、図１の判定結果格納レジスタ２３に格納される判定結果データ７１を示す図である。
【００６０】
上述のＬが４であり、上述のＭがＬの２乗で表されるため、Ｍは１６である。この場合、実行制御部１１は、半導体メモリ５の初期化時に、半導体メモリ５のリード・アフター・ライトを、制御側ＯＤＴ用終端抵抗４１の抵抗値Ｒｃｐｕと半導体メモリ５のＯＤＴ用終端抵抗６１の抵抗値Ｒｄｄｒに対して、１６通り実行する。１６通りのリード・アフター・ライトにより、書き込み／読み出しデータの整合性を確認する。
【００６１】
書き込み、読み出しのデータサイズ、データの種類については、特に指定は無いが、データは各ビットのショートもしくはオープンが確認できるような、ビットシフト型のデータが望ましい。そこで、判定結果格納レジスタ２３に格納される判定結果データ７１は、１６ビットで構成される。即ち、実行制御部１１は、判定結果格納レジスタ２３の１５ビット目から０ビット目までのデータを判定結果データ７１とする。
【００６２】
判定結果格納レジスタ２３の１５ビット目から０ビット目の各々は、制御側ＯＤＴ用終端抵抗４１の抵抗値Ｒｃｐｕと半導体メモリ５のＯＤＴ用終端抵抗６１の抵抗値Ｒｄｄｒとの組み合わせを表している。この組み合わせは、ユーザにより任意に決められている。判定結果格納レジスタ２３の各ビットは、「１」又は「０」で表される。即ち、判定結果データ７１に含まれる判定結果は、「１」又は「０」で表される。ここで、判定結果が正常動作を表す場合、即ち、ＯＫを表す場合は「１」とする。判定結果が異常動作を表す場合、即ち、ＮＧを表す場合は「０」とする。
【００６３】
例えば、判定結果格納レジスタ２３の０ビット目は、抵抗値Ｒｃｐｕ、抵抗値Ｒｄｄｒが互いに５０Ωである場合を表している。この組み合わせでリード・アフター・ライトを実行した結果、異常動作を表しているものとする。この場合、判定結果格納レジスタ２３の０ビット目には、「０」が格納される。
【００６４】
また、判定結果格納レジスタ２３の１ビット目は、抵抗値Ｒｃｐｕ、抵抗値Ｒｄｄｒが、それぞれ、５０Ω、７５Ωである場合を表している。この組み合わせでリード・アフター・ライトを実行した結果、異常動作を表しているものとする。この場合、判定結果格納レジスタ２３の１ビット目には、「０」が格納される。
【００６５】
また、判定結果格納レジスタ２３の２ビット目は、抵抗値Ｒｃｐｕ、抵抗値Ｒｄｄｒが、それぞれ、５０Ω、１５０Ωである場合を表している。この組み合わせでリード・アフター・ライトを実行した結果、異常動作を表しているものとする。この場合、判定結果格納レジスタ２３の２ビット目には、「０」が格納される。
【００６６】
また、判定結果格納レジスタ２３の３ビット目は、抵抗値Ｒｃｐｕ、抵抗値Ｒｄｄｒが、それぞれ、５０Ω、∞（設定無し）である場合を表している。この組み合わせでリード・アフター・ライトを実行した結果、異常動作を表しているものとする。この場合、判定結果格納レジスタ２３の３ビット目には、「０」が格納される。
【００６７】
また、判定結果格納レジスタ２３の４ビット目は、抵抗値Ｒｃｐｕ、抵抗値Ｒｄｄｒが、それぞれ、７５Ω、５０Ωである場合を表している。この組み合わせでリード・アフター・ライトを実行した結果、異常動作を表しているものとする。この場合、判定結果格納レジスタ２３の４ビット目には、「０」が格納される。
【００６８】
また、判定結果格納レジスタ２３の５ビット目は、抵抗値Ｒｃｐｕ、抵抗値Ｒｄｄｒが互いに７５Ωである場合を表している。この組み合わせでリード・アフター・ライトを実行した結果、異常動作を表しているものとする。この場合、判定結果格納レジスタ２３の５ビット目には、「０」が格納される。
【００６９】
また、判定結果格納レジスタ２３の６ビット目は、抵抗値Ｒｃｐｕ、抵抗値Ｒｄｄｒが、それぞれ、７５Ω、１５０Ωである場合を表している。この組み合わせでリード・アフター・ライトを実行した結果、異常動作を表しているものとする。この場合、判定結果格納レジスタ２３の６ビット目には、「０」が格納される。
【００７０】
また、判定結果格納レジスタ２３の７ビット目は、抵抗値Ｒｃｐｕ、抵抗値Ｒｄｄｒが、それぞれ、７５Ω、∞（設定無し）である場合を表している。この組み合わせでリード・アフター・ライトを実行した結果、異常動作を表しているものとする。この場合、判定結果格納レジスタ２３の７ビット目には、「０」が格納される。
【００７１】
また、判定結果格納レジスタ２３の８ビット目は、抵抗値Ｒｃｐｕ、抵抗値Ｒｄｄｒが、それぞれ、１５０Ω、５０Ωである場合を表している。この組み合わせでリード・アフター・ライトを実行した結果、正常動作を表しているものとする。この場合、判定結果格納レジスタ２３の８ビット目には、「１」が格納される。
【００７２】
また、判定結果格納レジスタ２３の９ビット目は、抵抗値Ｒｃｐｕ、抵抗値Ｒｄｄｒが、それぞれ、１５０Ω、７５Ωである場合を表している。この組み合わせでリード・アフター・ライトを実行した結果、正常動作を表しているものとする。この場合、判定結果格納レジスタ２３の９ビット目には、「１」が格納される。
【００７３】
また、判定結果格納レジスタ２３の１０ビット目は、抵抗値Ｒｃｐｕ、抵抗値Ｒｄｄｒが互いに１５０Ωである場合を表している。この組み合わせでリード・アフター・ライトを実行した結果、正常動作を表しているものとする。この場合、判定結果格納レジスタ２３の１０ビット目には、「１」が格納される。
【００７４】
また、判定結果格納レジスタ２３の１１ビット目は、抵抗値Ｒｃｐｕ、抵抗値Ｒｄｄｒが、それぞれ、１５０Ω、∞（設定無し）である場合を表している。この組み合わせでリード・アフター・ライトを実行した結果、異常動作を表しているものとする。この場合、判定結果格納レジスタ２３の１１ビット目には、「０」が格納される。
【００７５】
また、判定結果格納レジスタ２３の１２ビット目は、抵抗値Ｒｃｐｕ、抵抗値Ｒｄｄｒが、それぞれ、∞（設定無し）、５０Ωである場合を表している。この組み合わせでリード・アフター・ライトを実行した結果、異常動作を表しているものとする。この場合、判定結果格納レジスタ２３の１２ビット目には、「０」が格納される。
【００７６】
また、判定結果格納レジスタ２３の１３ビット目は、抵抗値Ｒｃｐｕ、抵抗値Ｒｄｄｒが、それぞれ、∞（設定無し）、７５Ωである場合を表している。この組み合わせでリード・アフター・ライトを実行した結果、異常動作を表しているものとする。この場合、判定結果格納レジスタ２３の１３ビット目には、「０」が格納される。
【００７７】
また、判定結果格納レジスタ２３の１４ビット目は、抵抗値Ｒｃｐｕ、抵抗値Ｒｄｄｒが、それぞれ、∞（設定無し）、１５０Ωである場合を表している。この組み合わせでリード・アフター・ライトを実行した結果、異常動作を表しているものとする。この場合、判定結果格納レジスタ２３の１４ビット目には、「０」が格納される。
【００７８】
また、判定結果格納レジスタ２３の１５ビット目は、抵抗値Ｒｃｐｕ、抵抗値Ｒｄｄｒが互いに∞（設定無し）である場合を表している。この組み合わせでリード・アフター・ライトを実行した結果、異常動作を表しているものとする。この場合、判定結果格納レジスタ２３の１５ビット目には、「０」が格納される。
【００７９】
実行制御部１１は、判定結果格納レジスタ２３の１５ビット目から０ビット目までのデータ「０００００１１１００００００００」を判定結果データ７１とする。又は、判定結果データ７１「０００００１１１００００００００」を１６進数の「０ｘ０７００」と表すこともできる。
【００８０】
図５は、本発明の第１実施形態に係るメモリ制御装置１の動作を示すフローチャートである。
【００８１】
電源投入後、メモリ制御装置１の制御部１０において、実行制御部１１は、ＣＰＵの初期化設定、及び、半導体メモリ５（ＤＤＲ２  ＳＤＲＡＭ）の初期化設定を行う（Ｓ０１）。この初期化設定としては、アクセスに必要なクロックの設定や、ＤＤＲ２  ＳＤＲＡＭのレイテンシ等の設定、モードレジスタ設定等が挙げられる。
【００８２】
制御部１０には、制御側ＯＤＴ用終端抵抗４１の抵抗値Ｒｃｐｕと半導体メモリ５のＯＤＴ用終端抵抗６１の抵抗値Ｒｄｄｒとの候補値を提示するか否かの情報が設定されている。ここで、候補提示の設定がされていない場合（Ｓ０２−Ｎｏ）、抵抗値Ｒｃｐｕ、抵抗値Ｒｄｄｒには、ユーザにより任意の値が設定される（Ｓ１１）。即ち、ユーザは、制御用モードレジスタ２１及びメモリ用モードレジスタ２２に任意の値を設定する。
【００８３】
候補提示の設定がされている場合（Ｓ０２−Ｙｅｓ）、実行制御部１１は、制御側ＯＤＴ用終端抵抗４１の抵抗値Ｒｃｐｕ、半導体メモリ５のＯＤＴ用終端抵抗６１の抵抗値Ｒｄｄｒとして、５０Ωを設定する（Ｓ０３）。実行制御部１１は、半導体メモリ５に対してリード・アフター・ライトを実行し、そのときの抵抗値Ｒｃｐｕ、Ｒｄｄｒに対する判定結果を判定結果格納レジスタ２３の０ビット目に格納する（Ｓ０４）。
【００８４】
ここで、全パターン（１６通り）のリード・アフター・ライトの実行が完了していないので（Ｓ０５−Ｎｏ）、実行制御部１１は、制御側ＯＤＴ用終端抵抗４１の抵抗値Ｒｃｐｕと半導体メモリ５のＯＤＴ用終端抵抗６１の抵抗値Ｒｄｄｒとを変更する（Ｓ０６）。この場合、実行制御部１１は、制御側ＯＤＴ用終端抵抗４１の抵抗値Ｒｃｐｕ、半導体メモリ５のＯＤＴ用終端抵抗６１の抵抗値Ｒｄｄｒとして、それぞれ、５０Ω、７５Ωを設定する。実行制御部１１は、半導体メモリ５に対してリード・アフター・ライトを実行し、そのときの抵抗値Ｒｃｐｕ、Ｒｄｄｒに対する判定結果を判定結果格納レジスタ２３の１ビット目に格納する（Ｓ０４）。
【００８５】
１６通りのリード・アフター・ライトに対してＳ０４〜Ｓ０６が行なわれる。その結果、１６通りのリード・アフター・ライトの実行が完了する（Ｓ０５−Ｙｅｓ）。
【００８６】
例えば、判定結果格納レジスタ２３に格納された判定結果データ７１の１６通りの抵抗値Ｒｃｐｕ、Ｒｄｄｒにおいて、判定結果が全て異常を表している（Ｓ０７−Ｎｏ）。即ち、判定結果格納レジスタ２３の１５ビット目から０ビット目には判定結果データ７１「００００００００００００００００」が格納されている。この場合、提示制御部１２は、その旨を表すエラー通知として、通知部３０により警告音を出力することにより、ユーザに通知する（Ｓ１０）。
【００８７】
例えば、判定結果格納レジスタ２３に格納された判定結果データ７１の１６通りの抵抗値Ｒｃｐｕ、Ｒｄｄｒにおいて、判定結果が少なくとも１つ正常を表している（Ｓ０７−Ｙｅｓ）。この場合、判定結果格納レジスタ２３の１５ビット目から０ビット目にはデータ「０００００１１１００００００００」が格納されている。提示制御部１２は、判定結果格納レジスタ２３に格納された判定結果データ７１の１６通りの抵抗値Ｒｃｐｕ、Ｒｄｄｒのうちの、判定結果が正常を表すＮ組（この場合、上述のＮは３である）の抵抗値Ｒｃｐｕ、Ｒｄｄｒを、候補抵抗値とし、その旨を表す判定結果データ７１を通知部３０に出力することにより、ユーザに提示する（Ｓ０８）。
【００８８】
Ｓ０８において、提示制御部１２は、通知部３０のＬＥＤを用いる場合、データ「０００００１１１００００００００」を判定結果データ７１として、通知部３０の各ＬＥＤに出力することにより、ユーザに３組の候補抵抗値Ｒｃｐｕ、Ｒｄｄｒ（１５０Ω、５０Ω）（１５０Ω、７５Ω）（１５０Ω、１５０Ω）を提示する。各ＬＥＤは、「１」の場合に点灯し、「０」の場合に消灯する。
【００８９】
Ｓ０８において、提示制御部１２は、通知部３０の７セグメントディスプレイを用いる場合、データ「０００００１１１００００００００」の１６進数「０ｘ０７００」を判定結果データ７１として、通知部３０の各７セグメントディスプレイに出力することにより、ユーザに３組の候補抵抗値Ｒｃｐｕ、Ｒｄｄｒ（１５０Ω、５０Ω）（１５０Ω、７５Ω）（１５０Ω、１５０Ω）を提示する。
【００９０】
ユーザは、判定結果データ７１を参照することにより、３組の候補抵抗値Ｒｃｐｕ、Ｒｄｄｒ（１５０Ω、５０Ω）（１５０Ω、７５Ω）（１５０Ω、１５０Ω）を認識する。
【００９１】
候補抵抗値Ｒｃｐｕ、Ｒｄｄｒが３組以上存在する場合（上述のＮが３以上である場合）、ユーザは、３組の候補抵抗値Ｒｃｐｕ、Ｒｄｄｒのうちの、その合計値（Ｒａｌｌ＝Ｒｃｐｕ＋Ｒｄｄｒ）が中間値となる候補抵抗値Ｒｃｐｕ、Ｒｄｄｒを選択することが好ましい。この場合、候補抵抗値Ｒｃｐｕ、Ｒｄｄｒが、それぞれ、１５０Ω、７５Ωである１組の候補抵抗値Ｒｃｐｕ、Ｒｄｄｒを選択することが好ましい。
【００９２】
その理由としては、抵抗値Ｒｃｐｕが１５０Ω以外では異常動作であるため、抵抗値Ｒｃｐｕが１５０Ωと７５Ωとの境目で異常動作になる可能性がある。一方、抵抗値Ｒｃｐｕが１５０Ωでは正常動作であるため、抵抗値Ｒｄｄｒを１５０Ω、７５Ω、５０Ωのいずれかにすれば正常動作になるため、抵抗値Ｒｃｐｕ、Ｒｄｄｒの合計値が中間値となる１５０Ω、７５Ωを１組の候補抵抗値Ｒｃｐｕ、Ｒｄｄｒとすることが好ましい。
【００９３】
この場合、設定制御部１３は、判定結果データ７１の３組の候補抵抗値Ｒｃｐｕ、Ｒｄｄｒのうちの、ユーザにより選択された１組の候補抵抗値Ｒｃｐｕ、Ｒｄｄｒ（１５０Ω、７５Ω）を、制御側ＯＤＴ用終端抵抗４１の抵抗値Ｒｃｐｕ及び半導体メモリ５のＯＤＴ用終端抵抗６１の抵抗値Ｒｄｄｒとして、制御用モードレジスタ２１及びメモリ用モードレジスタ２２に設定する（Ｓ０９）。
【００９４】
以降、メモリ制御装置１は半導体メモリ５に対して、プログラムデータ等のアクセスが可能となる。
【００９５】
以上の説明により、本発明の第１実施形態に係るメモリ制御装置１では、自身に制御側ＯＤＴ用終端抵抗４１を配置し、半導体メモリ５内部にＯＤＴ用終端抵抗６１を配置することにより、基板上の部品点数を削減することができ、コストダウンが図れる。また、基板上の終端抵抗に関する配置や配線が不要になるため、基板のシステム設計が簡易化できる。制御側ＯＤＴ用終端抵抗４１及び半導体メモリ５のＯＤＴ用終端抵抗６１により、データバス３上の信号反射を低減し、データ転送の品質を改善することができる。
【００９６】
更に、本発明の第１実施形態に係るメモリ制御装置１では、制御側ＯＤＴ用終端抵抗４１の抵抗値Ｒｃｐｕ及び半導体メモリ５のＯＤＴ用終端抵抗６１の抵抗値Ｒｄｄｒを全パターンについて変更しながら、半導体メモリ５の動作確認（リード・アフター・ライト）を実行し、全パターンの抵抗値Ｒｃｐｕ、Ｒｄｄｒのうちの、動作確認により正常動作したときのＮ個の抵抗値Ｒｃｐｕ、Ｒｄｄｒを候補抵抗値として、ユーザに提示している。したがって、ユーザは、Ｎ個の候補抵抗値Ｒｃｐｕ、Ｒｄｄｒの中から、制御側ＯＤＴ用終端抵抗４１の抵抗値Ｒｃｐｕ及び半導体メモリ５のＯＤＴ用終端抵抗６１の抵抗値Ｒｄｄｒとして設定するための１組の候補抵抗値を選択することができる。このように、本発明の第１実施形態に係るメモリ制御装置１では、特許文献１に記載されたような技術、即ち、正常動作した時点で動作確認を中止して、そのときの抵抗値を半導体メモリ側に設定するような技術とは違って、ユーザは、Ｎ個の候補抵抗値Ｒｃｐｕ、Ｒｄｄｒの中から、自身が満足する１組の候補抵抗値を選択することができる。言い換えれば、ユーザは、どの抵抗値が適正か否かが絞りやすくなる。これは、Ｎが３以上である場合に特に有効である。
【００９７】
更に、本発明の第１実施形態に係るメモリ制御装置１では、判定結果データ７１の全パターンの抵抗値Ｒｃｐｕ、Ｒｄｄｒにおいて、判定結果が全て異常を表している場合、エラー通知をユーザに提示するため、ユーザは、基板のシステム設計の見直しを行なうことができる。
【００９８】
［第２実施形態］
第１実施形態では、判定結果データ７１によりＮ組の候補抵抗値Ｒｃｐｕ、Ｒｄｄｒが提示された際に、ユーザが、Ｎ組の候補抵抗値Ｒｃｐｕ、Ｒｄｄｒのうちの１組の候補抵抗値Ｒｃｐｕ、Ｒｄｄｒを選択している。第２実施形態では、想定される判定結果データ７１のＮ組の候補抵抗値Ｒｃｐｕ、Ｒｄｄｒのうちの、推奨される候補抵抗値として１組の候補抵抗値Ｒｃｐｕ、Ｒｄｄｒをテーブルに予め設定しておき、そのテーブルから１組の候補抵抗値Ｒｃｐｕ、Ｒｄｄｒを自動的に選択する。第２実施形態では、第１実施形態からの変更点のみ説明する。
【００９９】
図６は、本発明の第２実施形態に係るメモリ制御装置１が適用されるシステムの構成を示す図である。
【０１００】
本発明の第２実施形態に係るメモリ制御装置１は、更に、平均値設定テーブル８０を具備している。平均値設定テーブル８０としては、ＳＲＡＭ（Static Random Access Memory）が例示される。
【０１０１】
図７は、図６の平均値設定テーブル８０に格納されたデータを示す図である。
【０１０２】
平均値設定テーブル８０には、想定される判定結果データ７１としてＹパターンの想定判定結果データ８１と、Ｙパターンの設定候補データ８２と、が格納されている。ここで、Ｙは、２のＭ乗を表す整数である。Ｙの具体例については後述する。
【０１０３】
平均値設定テーブル８０に格納されたＹパターンの想定判定結果データ８１のうちの１パターンの想定判定結果データ８１は、判定結果が全て異常を表している。ここで、平均値設定テーブル８０に格納されたＹパターンの想定判定結果データ８１のうちの、判定結果が全て異常を表す想定判定結果データ８１以外の想定判定結果データ８１を、（Ｙ−１）パターンの想定判定結果データ８１とする。
【０１０４】
平均値設定テーブル８０に格納されたＹパターンの設定候補データ８２のうちの、上記（Ｙ−１）パターンの想定判定結果データ８１に対応付けられた（Ｙ−１）パターンの設定候補データ８２は、（Ｙ−１）パターンの想定判定結果データ８１のＮ組の候補抵抗値Ｒｃｐｕ、Ｒｄｄｒのうちの、推奨される候補抵抗値として予め設定された１組の候補抵抗値Ｒｃｐｕ、Ｒｄｄｒを表している。
【０１０５】
前述のように、Ｌが４であり、ＭはＬの２乗で表されるため、Ｍは１６である。この場合、上述のＹが２のＭ乗で表されるため、Ｙは６５５３６である。即ち、平均値設定テーブル８０には、６５５３６パターンの想定判定結果データ８１と、６５５３６パターンの設定候補データ８２と、が格納されている。６５５３６パターンの想定判定結果データ８１の各々は、１６進数で表される。
【０１０６】
６５５３６パターンの想定判定結果データ８１のうちの、判定結果が全て異常を表す想定判定結果データ８１は、１６進数で「０ｘ００００」により表される。６５５３６パターンの設定候補データ８２のうちの、想定判定結果データ８１「０ｘ００００」に対応付けられた設定候補データ８２は、２進数により、７ビット目から０ビット目まで「１００００００」で表される。７ビット目の「１」は、判定結果が異常動作、即ち、ＮＧであることを表している。
【０１０７】
想定判定結果データ８１「０ｘ００００」以外の６５５３５パターンの想定判定結果データ８１は、Ｎ組の候補抵抗値Ｒｃｐｕ、Ｒｄｄｒを含んでいる。６５５３５パターンの設定候補データ８２は、上記６５５３５パターンの想定判定結果データ８１のＮ組の候補抵抗値Ｒｃｐｕ、Ｒｄｄｒのうちの、推奨される候補抵抗値として予め設定された１組の候補抵抗値Ｒｃｐｕ、Ｒｄｄｒを表している。
【０１０８】
例えば、上記６５５３５パターンの想定判定結果データ８１のうちの、判定結果が２つ正常を表し（即ち、Ｎは２である）、かつ、その２組の候補抵抗値Ｒｃｐｕ、Ｒｄｄｒが、それぞれ、５０Ω、５０Ωである場合、５０Ω、７５Ωである場合の想定判定結果データ８１は、１６進数で「０ｘ０００３」により表される。なお、２進数では、「００００００００００００００１１」により表される。この場合、２組の候補抵抗値Ｒｃｐｕ、Ｒｄｄｒのうちの、その合計値（Ｒａｌｌ＝Ｒｃｐｕ＋Ｒｄｄｒ）が最小となる候補抵抗値５０Ω、５０Ωを、推奨される候補抵抗値とする。又は、その合計値（Ｒａｌｌ＝Ｒｃｐｕ＋Ｒｄｄｒ）が最大となる候補抵抗値Ｒｃｐｕ、Ｒｄｄｒ（５０Ω、７５Ω）を、推奨される候補抵抗値としてもよい。前者の場合、上記６５５３５パターンの設定候補データ８２のうちの、想定判定結果データ８１「０ｘ０００３」に対応付けられた設定候補データ８２は、２進数により、７ビット目から０ビット目まで「０００１００１」で表される。７ビット目の「０」は、判定結果が正常動作、即ち、ＯＫであることを表している。６ビット目から４ビット目までの「００１」は、候補抵抗値Ｒｃｐｕが５０Ωであることを表している。３ビット目から０ビット目までの「００１」は、候補抵抗値Ｒｄｄｒが５０Ωであることを表している。
【０１０９】
また、上記６５５３５パターンの想定判定結果データ８１のうちの、判定結果が２つ正常を表し（即ち、Ｎは２である）、かつ、その２組の候補抵抗値Ｒｃｐｕ、Ｒｄｄｒが、それぞれ、５０Ω、５０Ωである場合、５０Ω、１５０Ωである場合の想定判定結果データ８１は、１６進数で「０ｘ０００５」により表される。なお、２進数では、「０００００００００００００１０１」により表される。この場合、２組の候補抵抗値Ｒｃｐｕ、Ｒｄｄｒのうちの、その合計値（Ｒａｌｌ＝Ｒｃｐｕ＋Ｒｄｄｒ）が最小となる候補抵抗値５０Ω、５０Ωを、推奨される候補抵抗値とする。又は、その合計値（Ｒａｌｌ＝Ｒｃｐｕ＋Ｒｄｄｒ）が最大となる候補抵抗値Ｒｃｐｕ、Ｒｄｄｒ（５０Ω、１５０Ω）を、推奨される候補抵抗値としてもよい。前者の場合、上記６５５３５パターンの設定候補データ８２のうちの、想定判定結果データ８１「０ｘ０００５」に対応付けられた設定候補データ８２は、２進数により、７ビット目から０ビット目まで「０００１００１」で表される。
【０１１０】
また、上記６５５３５パターンの想定判定結果データ８１のうちの、判定結果が６つ正常を表し（即ち、Ｎは６である）、かつ、その６組の候補抵抗値Ｒｃｐｕ、Ｒｄｄｒが、それぞれ、５０Ω、５０Ωである場合、５０Ω、１５０Ωである場合、７５Ω、７５Ωである場合、７５Ω、１５０Ωである場合、１５０Ω、７５Ωである場合、１５０Ω、１５０Ωである場合の想定判定結果データ８１は、１６進数で「０ｘ０５６５」により表される。なお、２進数では、「０００００１０１０１１００１０１」により表される。この場合、６組の候補抵抗値Ｒｃｐｕ、Ｒｄｄｒのうちの、その合計値（Ｒａｌｌ＝Ｒｃｐｕ＋Ｒｄｄｒ）が中間値となる候補抵抗値７５Ω、７５Ωを、推奨される候補抵抗値とする。この場合、上記６５５３５パターンの設定候補データ８２のうちの、想定判定結果データ８１「０ｘ０５６５」に対応付けられた設定候補データ８２は、２進数により、７ビット目から０ビット目まで「００１００１０」で表される。７ビット目の「０」は、判定結果が正常動作、即ち、ＯＫであることを表している。６ビット目から４ビット目までの「０１０」は、候補抵抗値Ｒｃｐｕが７５Ωであることを表している。３ビット目から０ビット目までの「０１０」は、候補抵抗値Ｒｄｄｒが７５Ωであることを表している。
【０１１１】
また、上記６５５３５パターンの想定判定結果データ８１のうちの、判定結果が３つ正常を表し（即ち、Ｎは３である）、かつ、その３組の候補抵抗値Ｒｃｐｕ、Ｒｄｄｒが、それぞれ、１５０Ω、５０Ωである場合、１５０Ω、７５Ωである場合、１５０Ω、１５０Ωである場合の想定判定結果データ８１は、１６進数で「０ｘ０７００」により表される。なお、２進数では、「０００００１１１００００００００」により表される。この場合、３組の候補抵抗値Ｒｃｐｕ、Ｒｄｄｒのうちの、その合計値（Ｒａｌｌ＝Ｒｃｐｕ＋Ｒｄｄｒ）が中間値となる候補抵抗値１５０Ω、７５Ωを、推奨される候補抵抗値とする。この場合、上記６５５３５パターンの設定候補データ８２のうちの、想定判定結果データ８１「０ｘ０７００」に対応付けられた設定候補データ８２は、２進数により、７ビット目から０ビット目まで「００１１０１０」で表される。７ビット目の「０」は、判定結果が正常動作、即ち、ＯＫであることを表している。６ビット目から４ビット目までの「０１１」は、候補抵抗値Ｒｃｐｕが１５０Ωであることを表している。３ビット目から０ビット目までの「０１０」は、候補抵抗値Ｒｄｄｒが７５Ωであることを表している。
【０１１２】
また、上記６５５３５パターンの想定判定結果データ８１のうちの、判定結果が６つ正常を表し（即ち、Ｎは６である）、かつ、その６組の候補抵抗値Ｒｃｐｕ、Ｒｄｄｒが、それぞれ、５０Ω、１５０Ωである場合、７５Ω、７５Ωである場合、７５Ω、１５０Ωである場合、１５０Ω、５０Ωである場合、１５０Ω、７５Ωである場合、１５０Ω、１５０Ωである場合の想定判定結果データ８１は、１６進数で「０ｘ０７６４」により表される。なお、２進数では、「０００００１１１０１１００１００」により表される。この場合、６組の候補抵抗値Ｒｃｐｕ、Ｒｄｄｒのうちの、その合計値（Ｒａｌｌ＝Ｒｃｐｕ＋Ｒｄｄｒ）が中間値となる候補抵抗値７５Ω、７５Ωを、推奨される候補抵抗値とする。この場合、上記６５５３５パターンの設定候補データ８２のうちの、想定判定結果データ８１「０ｘ０７６４」に対応付けられた設定候補データ８２は、２進数により、７ビット目から０ビット目まで「００１００１０」で表される。
【０１１３】
また、上記６５５３５パターンの想定判定結果データ８１のうちの、判定結果が９つ正常を表し（即ち、Ｎは９である）、かつ、その９組の候補抵抗値Ｒｃｐｕ、Ｒｄｄｒの少なくとも１つが∞（設定無し）ではない場合の想定判定結果データ８１は、１６進数で「０ｘ０７７７」により表される。なお、２進数では、「０００００１１１０１１１０１１１」により表される。この場合、９組の候補抵抗値Ｒｃｐｕ、Ｒｄｄｒのうちの、その合計値（Ｒａｌｌ＝Ｒｃｐｕ＋Ｒｄｄｒ）が中間値となる候補抵抗値７５Ω、７５Ωを、推奨される候補抵抗値とする。この場合、上記６５５３５パターンの設定候補データ８２のうちの、想定判定結果データ８１「０ｘ０７７７」に対応付けられた設定候補データ８２は、２進数により、７ビット目から０ビット目まで「００１００１０」で表される。
【０１１４】
図８は、本発明の第２実施形態に係るメモリ制御装置１の動作を示すフローチャートである。図９は、本発明の第２実施形態に係るメモリ制御装置１の動作を説明するための図である。
【０１１５】
いま、Ｓ０１〜Ｓ０８が実行される。ここで、Ｓ０８において、提示制御部１２は、判定結果格納レジスタ２３に格納された判定結果データ７１「０ｘ０７００」を通知部３０の各７セグメントディスプレイに出力することにより、ユーザに３組の候補抵抗値Ｒｃｐｕ、Ｒｄｄｒ（１５０Ω、５０Ω）（１５０Ω、７５Ω）（１５０Ω、１５０Ω）を提示する。
【０１１６】
次に、提示制御部１２は、平均値設定テーブル８０に格納された６５５３６パターンの想定判定結果データ８１のうちの、判定結果格納レジスタ２３に格納された判定結果データ７１「０ｘ０７００」に一致する想定判定結果データ８１「０ｘ０７００」を検索する。そこで、提示制御部１２は、平均値設定テーブル８０に格納された６５５３６パターンの設定候補データ８２のうちの、検索された想定判定結果データ８１「０ｘ０７００」に対応する設定候補データ８２「００１１０１０」を選択する。即ち、設定候補データ８２が表す１組の候補抵抗値Ｒｃｐｕ、Ｒｄｄｒ（１５０Ω、７５Ω）を選択する。提示制御部１２は、その設定候補データ８２「００１１０１０」を推奨候補データ７２として、通知部３０の各ＬＥＤに出力することにより、ユーザに１組の候補抵抗値Ｒｃｐｕ、Ｒｄｄｒ（１５０Ω、７５Ω）を提示する（Ｓ２１）。
【０１１７】
この例では、Ｓ０８において３組の候補抵抗値Ｒｃｐｕ、Ｒｄｄｒが提示され、Ｓ２１において１組の候補抵抗値Ｒｃｐｕ、Ｒｄｄｒが提示される。このため、ユーザは、通知部３０の各７セグメントディスプレイと各ＬＥＤとを参照することにより、３組の候補抵抗値Ｒｃｐｕ、Ｒｄｄｒ（１５０Ω、５０Ω）（１５０Ω、７５Ω）（１５０Ω、１５０Ω）の中から、１組の候補抵抗値Ｒｃｐｕ、Ｒｄｄｒ（１５０Ω、７５Ω）が選択されたことを把握することができる。
【０１１８】
Ｓ０９において、設定制御部１３は、推奨候補データ７２「００１１０１０」が表す１組の候補抵抗値Ｒｃｐｕ、Ｒｄｄｒ（１５０Ω、７５Ω）を、制御側ＯＤＴ用終端抵抗４１の抵抗値Ｒｃｐｕ及び半導体メモリ５のＯＤＴ用終端抵抗６１の抵抗値Ｒｄｄｒとして、それぞれ、制御用モードレジスタ２１及びメモリ用モードレジスタ２２に設定する。
【０１１９】
以上の説明により、本発明の第２実施形態に係るメモリ制御装置１では、第１実施形態の効果に加えて、想定される判定結果データ７１のＮ組の候補抵抗値Ｒｃｐｕ、Ｒｄｄｒのうちの、推奨される候補抵抗値として１組の候補抵抗値Ｒｃｐｕ、Ｒｄｄｒを平均値設定テーブル８０に予め設定しておくことにより、その平均値設定テーブル８０から１組の候補抵抗値Ｒｃｐｕ、Ｒｄｄｒを自動的に選択することができる。そのため、ユーザにとっては、どの抵抗値が適正か否かを考える手間が省ける。
【０１２０】
［第３実施形態］
第１、２実施形態では、半導体メモリ５が１つである場合について説明している。第３実施形態では、半導体メモリ５が複数存在する場合について説明している。第３実施形態では、第２実施形態からの変更点のみ説明する。
【０１２１】
図１０は、本発明の第３実施形態に係るメモリ制御装置１が適用されるシステムの構成を示す図である。
【０１２２】
本発明の第３実施形態に係るメモリ制御装置１は、データバス３を介してＸ個の半導体メモリ５と接続されている。即ち、制御部１０は、Ｘ個の半導体メモリ５とデータバス３を介して接続されている。ここで、Ｘは、１以上の整数である。Ｘが１である場合は、その説明が第１実施形態に同じとなるため、Ｘが２以上である場合について説明する。
【０１２３】
本発明の第３実施形態に係るメモリ制御装置１において、メモリ用モードレジスタ２２は、Ｘ個の半導体メモリ５に対応してＸ個設けられている。
【０１２４】
ここで、上述のＸが２であるものとする。また、前述のＬが４である。この場合、実行制御部１１は、制御側ＯＤＴ用終端抵抗４１の抵抗値Ｒｃｐｕとして４種類の抵抗値のうちの１種類の抵抗値を制御用モードレジスタ２１に設定し、２個の半導体メモリ５のＯＤＴ用終端抵抗６１の抵抗値Ｒｄｄｒとして、４種類の抵抗値のうちの１種類の抵抗値を２個のメモリ用モードレジスタ２２に設定する。
【０１２５】
上述のＸが２であり、前述のＬが４であり、前述のＭがＬの（Ｘ＋１）乗により表されるため、Ｍは６４である。この場合、実行制御部１１は、２個の半導体メモリ５の初期化時に、２個の半導体メモリ５の各々のリード・アフター・ライトを、制御側ＯＤＴ用終端抵抗４１の抵抗値Ｒｃｐｕと２個の半導体メモリ５のＯＤＴ用終端抵抗６１の抵抗値Ｒｄｄｒに対して、６４通り実行する。このとき、実行制御部１１は、６４通りの抵抗値Ｒｃｐｕ、Ｒｄｄｒとその判定結果とを含む判定結果データ７１を生成して、判定結果格納レジスタ２３に格納する。
【０１２６】
上述のＸが２であり、上述のＭが６４であり、前述のＹが（Ｘ＋１）のＭ乗により表されるため、Ｙは、２の６４乗により表される。この場合、平均値設定テーブル８０には、２の６４乗パターンの想定判定結果データ８１と、２の６４乗パターンの設定候補データ８２と、が格納されている。
【０１２７】
提示制御部１２は、判定結果格納レジスタ２３に格納された判定結果データ７１の６４通りの抵抗値Ｒｃｐｕ、Ｒｄｄｒのうちの、判定結果が正常を表すＮ組の抵抗値Ｒｃｐｕ、Ｒｄｄｒを、候補抵抗値とし、その判定結果データ７１を通知部３０の各７セグメントディスプレイに出力することにより、ユーザに提示する。
【０１２８】
更に、提示制御部１２は、平均値設定テーブル８０に格納された２の６４乗パターンの想定判定結果データ８１のうちの、判定結果格納レジスタ２３に格納された判定結果データ７１に一致する想定判定結果データ８１を検索する。そこで、提示制御部１２は、平均値設定テーブル８０に格納された２の６４乗パターンの設定候補データ８２のうちの、検索された想定判定結果データ８１に対応する設定候補データ８２が表す１組の候補抵抗値Ｒｃｐｕ、Ｒｄｄｒを、推奨候補データ７２とし、その推奨候補データ７２を通知部３０の各ＬＥＤに出力することにより、ユーザに提示する。
【０１２９】
設定制御部１３は、推奨候補データ７２が表す１組の候補抵抗値Ｒｃｐｕ、Ｒｄｄｒを、制御側ＯＤＴ用終端抵抗４１の抵抗値Ｒｃｐｕ及び２個の半導体メモリ５のＯＤＴ用終端抵抗６１の抵抗値Ｒｄｄｒとして、それぞれ、制御用モードレジスタ２１及び２個のメモリ用モードレジスタ２２に設定する。
【０１３０】
以上の説明により、本発明の第３実施形態に係るメモリ制御装置１では、第１、２実施形態の効果に加えて、半導体メモリ５が複数存在する場合でも適用可能であるため、アクセス中の半導体メモリ５（１つの半導体メモリ５）の他に、アクセス待ちの半導体メモリ５（それ以外の半導体メモリ５）も考慮したシステム設計を行なうことができる。
【０１３１】
なお、本発明の各実施形態では、Ｌを４として、制御側ＯＤＴ用終端抵抗４１の抵抗値Ｒｃｐｕ及び半導体メモリ５のＯＤＴ用終端抵抗６１の抵抗値Ｒｄｄｒに対して、４種類の抵抗値のうちの１種類の抵抗値を設定しているが、これに限定されない。例えば、設定される抵抗値の少なくとも１つが∞（設定無し）であるときに、半導体メモリ５のリード・アフター・ライトの実行結果が異常動作を表す場合は、∞（設定無し）を候補から除外してもよい。この場合、Ｌが３となるため、Ｍ及びＹが各実施形態のそれよりも大幅に小さい値となり、判定結果格納レジスタ２３及び平均値設定テーブル８０の記憶容量を大幅に削減することができる。
【０１３２】
以上のように、本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【０１３３】
１  …  メモリ制御装置、
３  …  データバス、
５  …  半導体メモリ、
１０  …  制御部、
１１  …  実行制御部、
１２  …  提示制御部、
１３  …  設定制御部、
２０  …  レジスタ部、
２１  …  制御用モードレジスタ、
２２  …  メモリ用モードレジスタ、
２３  …  判定結果格納レジスタ、
３０  …  通知部、
４１  …  制御側ＯＤＴ用終端抵抗、
４２  …  スイッチ、
５１  …  バッファ、
５２  …  メモリ部、
６１  …  ＯＤＴ用終端抵抗、
６２  …  スイッチ、
７１  …  判定結果データ、
７２  …  推奨候補データ、
８０  …  平均値設定テーブル、
８１  …  想定判定結果データ、
８２  …  設定候補データ
【図１】
2015118527.tif 000003
【図２】
2015118527.tif 000004
【図３】
2015118527.tif 000005
【図４】
2015118527.tif 000006
【図５】
2015118527.tif 000007
【図６】
2015118527.tif 000008
【図７】
2015118527.tif 000009
【図８】
2015118527.tif 000010
【図９】
2015118527.tif 000011
【図１０】
2015118527.tif 000012