JPH10232818A - メモリ・コントローラ - Google Patents

メモリ・コントローラ

Info

Publication number
JPH10232818A
JPH10232818A JP10004583A JP458398A JPH10232818A JP H10232818 A JPH10232818 A JP H10232818A JP 10004583 A JP10004583 A JP 10004583A JP 458398 A JP458398 A JP 458398A JP H10232818 A JPH10232818 A JP H10232818A
Authority
JP
Japan
Prior art keywords
data
memory
signal
delay
memory controller
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
Application number
JP10004583A
Other languages
English (en)
Inventor
Pierre-Yves Thoulon
ソーロン・ピエール・イブス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HP Inc
Original Assignee
Hewlett Packard Co
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPH10232818A publication Critical patent/JPH10232818A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1694Configuration of memory controller to different memory types
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4239Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with asynchronous protocol

Abstract

(57)【要約】 【課題】メモリ構成の変化に柔軟に対処できるストロー
ブ信号生成手段を持つメモリ・コントローラを提供す
る。 【解決手段】クロック信号に連係するようにプログラム
されたタイミングでストローブ信号を提供するプログラ
ム可能手段をメモリ・コントローラに備える。該プログ
ラム可能手段は、メモリ構成に対応したストローブ信号
を生成できるように自動的にプログラムされ、例えば、
該メモリ・コントローラを含むシステムの電力投入と同
時にプログラムが実行されるように構成される。また、
信号遅延特性の変化を検出するため信号遅延特性を示す
パラメータの値を定期的に測定し、検出される信号遅延
特性における変化に応答して、上記プログラム手段のプ
ログラムを漸増的に変更して、上記変化に対応する適切
なストローブ信号のタイミングが決定され、上記プログ
ラム可能手段に組み込まれる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、プログラム可能な
ストローブ遅延機能を持つメモリ・コントローラに関す
るもので、特に、そのようなメモリ・コントローラをプ
ログラムする方法およびメモリ・コントローラにおける
データ読み取りの信頼性を向上させる方法に関するもの
である。
【0002】
【従来の技術】本発明は、メモリからデータを読み取る
問題を対象とする。図1は、データ・バス2およびいく
つかのメモリ・モジュール3、4および5を含む従来技
術のメモリ・コントローラを示すブロック図である。メ
モリ・コントローラの内部は、データ・バス2に接続す
る一連のデータ・ラッチ機構6を含む。メモリ・クロッ
ク信号MEMCLKが、メモリ・コントローラ1およびいくつ
かの異なるメモリ・モジュールを通過する信号線7上に
存在する。メモリ・コントローラ1は、異なるメモリ・
モジュールからデータを読み取るため信号線8上に制御
信号CTRLを伝送する。この場合、信号のタイミングはク
ロック信号MEMCLKと連係する。メモリ・バス上のデータ
は、入力9がストローブ信号(strobe signal)によって
動作可能状態にされている時データ・ラッチ機構6にお
いてラッチされる。図1には、メモリ・アドレス制御線
およびメモリ書き込み制御線は図示されていない。
【0003】図2は、図1の装置における種々の信号の
タイミング図である。図2において、符号10は信号線
7上のメモリ・クロックMEMCLKである。データがメモリ
・モジュール3、4、5から読み取られる時、読み取り
信号CTRL11が信号線8上に伝送される。一定数のメモ
リ・クロック・サイクル(例えば図2の場合3サイクル)
の後、メモリ・コントローラにおけるデータ・ラッチ6
の入力9が動作可能状態にされ、データ・バスを介して
メモリ・モジュール3、4、5から到来するデーデータ
がラッチされる。符号12は、データ・ラッチ6を動作
可能にさせるストローブ信号を示し、符号13、14お
よび15は、データ・バス2の上の種々のメモリ・モジ
ュール3、4、5によって送られるそれぞれのデータを
示す。符号16は、メモリ・モジュール3、4および5
からのデータが有効な状態で読み取られることができる
時間間隔を意味するデータ窓を示す。
【0004】図1のシステムにおいては、読み取り制御
信号11と入力9におけるデータ・ラッチを動作可能に
するストローブ信号の間の遅延は、図1におけるCTRL信
号線7と入力9の間のブロック17によって示されてい
るように、ハードウェアによって設定される。
【0005】また、データ・バスの適切な読み取りを保
証するように各クロック・サイクルにおいて適切なタイ
ミングでストローブ信号を発生させてあらゆるクロック
・サイクル毎にデータをラッチ6に読み取るングでスト
ローブ信号は生成される形態が提案されている。しかし
ながら、CTRL信号オンの後MEMCLK信号が適切な回路によ
ってあらかじめ定められた数カウントされた場合にのみ
データ・ラッチの内容は有効と見なされる。このアプロ
ーチにおいて、ストローブ信号は、遅延されたクロック
信号MEMCLKによって形成されるクロック信号であり、こ
れら2つのクロックの間の遅延は、例えば、メモリ・コ
ントローラ回路上の2つのピンの間の所与の長さの伝導
経路によって設定される。
【0006】上記の諸構成はいくつかの欠点を持つ。第
1に、そのような構成は、メモリ・モジュールの構成変
更の影響という問題に対処してなく、従って、高度実装
メモリあるいは高速メモリに関してうまく働かないであ
ろう。第2に、ストローブ信号とCTRL信号の遅延の計算
は、困難な作業であり、遅延の正しい統計的値を決定す
るには膨大な実験を伴う。
【0007】
【発明が解決しようとする課題】かくして、高度実装メ
モリあるいは高速メモリ構成において遭遇されるデータ
読み取りの問題に対処することが必要とされる。メモリ
・バスが高度に実装される場合、例えば、同一メモリ・
バス上に4またはそれ以上のメモリ・モジュールが存在
する場合に、この問題は発生する。また、高速メモリ、
例えば100MHZ以上のメモリ・クロックや同期メモ
リ・システムの場合この問題は発生する。このような場
合、メモリ・モジュール間の伝送時間の相違は無視する
ことができない。データを読み取るデータ窓16(図2)
はかなり小さくなり、すべての可能な構成における正し
い読み取りを保証することが困難となる。実際、125
MHzのクロック周波数の場合典型的には約4または5
nsの間に各メモリ・モジュールからデータが読み取ら
れ、データ窓16はシステムにおける種々の片寄りによ
って縮小される。
【0008】更に、データ窓16の位置および持続時間
はメモリ・バスの負荷に依存し、メモリ・バス自体もメ
モリ・モジュールの実際の構成に依存するという事実が
問題を発生させる。メモリ構成は固定的ではなく、ユー
ザの要求に従っていつでも変わり得る。これらの問題
は、メモリ構成の如何にかわらず全速力で動作しかつ信
頼性を保ちながらデータをラッチすることができるよう
なメモリ・コントローラの設計を非常に難しくしてい
る。メモリ・バスの負荷やメモリ・コントローラの実際
の構成がどのようなものであろうと、また高速な場合で
あろうと、メモリ構成の如何にかわらず、全速力で動作
しかつ信頼性を保ちながらデータをラッチすることがで
きるメモリ・コントローラが求められている。
【0009】
【課題を解決するための手段】本発明は、第1の局面に
おいて、クロック信号のためのクロック信号線、少なく
とも1つのメモリ・モジュールに接続するデータ受け取
り手段、データ受け取り手段に接続しストローブ信号の
制御のもとデータをラッチするデータ・ラッチ手段、お
よび、クロック信号に連係するようにプログラムされた
タイミングでストローブ信号を提供するプログラム可能
手段、を備えるメモリ・コントローラを提供する。
【0010】1つの側面において、上記プログラム手段
は、上記クロック信号線と上記データ・ラッチ手段の間
に配置されて動作するプログラム可能遅延手段を含む。
別の側面において、上記プログラム手段は、上記クロッ
ク信号と連係したタイミングで生成されるメモリ読取信
号を搬送する機能を持つメモリ制御信号線と上記データ
・ラッチ手段の間に配置されて動作するプログラム可能
遅延機構を含む。
【0011】更に本発明の別の側面において、上記プロ
グラム可能遅延手段は、ストローブ信号を作成するため
上記プログラム手段を自動的にプログラムする機能を含
み、それによって、上記プログラム手段は、例えば、該
メモリ・コントローラを含むシステムの電力投入と同時
にプログラムを実行するように動作する。
【0012】更に、上記メモリ・コントローラを組み入
れるシステムにおいて、信号遅延特性の変化を検出する
ため該システムにおける信号遅延特性を示すパラメータ
の値を定期的に測定する第1の手段、上記第1の手段に
よって検出される信号遅延特性における変化に応答し
て、上記プログラム手段のプログラムを漸増的に変更し
て、上記変化に対応するように上記タイミングを補正す
る第2の手段が提供される。
【0013】本発明の更に別の局面に従って、メモリ・
コントローラにおける上記プログラム手段をプログラム
する方法が提供される。該方法は、(a)ある1つの所与
の値に対して上記プログラム手段をプログラムするステ
ップ、(b)メモリ・コントローラを使用してメモリ手段
にデータを書き込むステップ、(c)メモリ・コントロー
ラを使用してメモリ手段に書き込まれたデータを読み取
るステップ、(d)上記ステップ(b)において読み取られた
データが上記ステップ(c)において書き込まれたデータ
と同一であるか否かを判断するステップ、(e)上記ステ
ップ(d)が少くとも1つの所与の値に関して肯定の結果
を与えるまで上記ステップ(a)乃至ステップ(d)を反復す
るステップ、および(f)上記少なくとも1つの所与の値
に対して上記プログラム手段をプログラムするステッ
プ、を含む。
【0014】1つの側面において、上記ステップ(e)は
所与の値を増分させるステップを含み、この場合、一旦
上記ステップ(d)が肯定の結果を与えたなら、ステップ
(d)が否定の結果を与えるまで上記ステップ(a)乃至ステ
ップ(d)が反復される。代替的には、上記ステップ(e)は
所与の値を減分させるステップを含み、この場合、一旦
上記ステップ(d)が肯定の結果を与えたなら、ステップ
(d)が否定の結果を与えるまで上記ステップ(a)乃至ステ
ップ(d)が反復される。いずれの場合においても、上記
ステップ(f)は、それによってステップ(d)が肯定結果を
出す値を含む範囲から1つの値を選択するステップを含
む。
【0015】すべてのプログラム可能な値に関してステ
ップ(e)を反復することも可能である。この場合、ステ
ップ(f)は、(g)ステップ(d)が肯定的結果を出す値の複
数の範囲を決定するステップ、および(h)それらの範囲
の最大範囲を決定するステップを含み、上記プログラム
手段が上記最大範囲に含まれる1つの値に対してプログ
ラムされる。
【0016】本発明の更にまた別の局面に従って、メモ
リ・コントローラにおいて読み取られるデータの信頼性
を向上させる方法が提供される。この方法は、クロック
信号と読取ストローブ信号の間の遅延をプログラムする
ステップを含む。このプログラム方法は、例えばメモリ
・コントローラの電源投入の時点で実行される。
【0017】
【発明の実施の形態】図3は、いくつかのメモリ・モジ
ュールを備える本発明に従ったメモリ・コントローラの
ブロック図である。図3のメモリ・コントローラ19
は、データ・バス2を経由してメモリ・モジュール3、
4および5から到来するデータをラッチするデータ・ラ
ッチ機構6を含む。メモリ・モジュールは、例えばSD
RAMモジュールから構成される。データ・ラッチ6は
入力9上のストローブ信号によって動作可能にされる。
メモリ・クロック信号MEMCLKはクロック信号線7上に存
在する。従来技術の関連して上述されたものと同様な形
態で、ストローブ信号によって、各クロック・サイクル
毎にデータがラッチ6に読み込まれ、このデータはCTRL
信号がオンとされた後の所定のMEMCLKサイクル数経過後
に有効データとして取り扱われる。
【0018】本発明に従って、メモリ・コントローラ1
9は、クロック信号MEMCLKと連係するタイミングでスト
ローブ信号を生成するようにプログラムするプログラム
手段20を含む。このようなプログラム手段を使用し
て、メモリ構成に応じたストローブ遅延をプログラムす
ることが可能であり、これにより、CTRL信号に対応した
正しいデータ読み取りが保証される(メモリ・データ読
取信号CTRLのタイミングをMEMCLK信号と合わせることが
可能であるので、ストローブ信号のタイミングをMEMCLK
信号に合わせることは可能である)。図3に示されるよ
うに、プログラム手段20は、例えば、メモリ・クロッ
ク信号線7とデータ・ラッチ6の入力9の間に接続され
るプログラム可能遅延線を含むことができる。このプロ
グラム遅延線は、既知の方法で遅延持続時間を決定する
プログラム可能レジスタを含むこともできる。この構成
は、メモリ・コントローラの1つのレジスタの単純なソ
フトウェア・プログラミングによってストローブ遅延の
プログラム化の実施を容易にさせるものである。
【0019】ストローブ遅延の範囲および増減単位は、
例えば、125MHZのクロック周波数で最高4つのメ
モリSDRAMモジュールにアクセスするメモリ・コン
トローラに関して、2ないし10ナノ秒の範囲および1
50ピコ秒の増減単位が十分なものであると判明してい
る。プログラム手段20がメモリ・コントローラのレジ
スタを含むとすれば、このレジスタのサイズは、ストロ
ーブ遅延の範囲および増減単位によって決定される。
【0020】図3は、本発明の理解に必要なメモリ・コ
ントローラのコンポーネントだけを示すしている。メモ
リ・コントローラ19の他のコンポーネントは表現され
ていない。例えば、本実施形態において、メモリ・コン
トローラは、CTRL信号オンの後のあらかじめ定められた
メモリ・サイクル数の後データ・ラッチ6の読み取りを
動作可能にする電気回路を含むであろうが、この回路は
図3に示されていない。
【0021】当然のことながら、プログラム可能遅延線
を使用して制御信号CTRLに基づいてストローブ信号を派
生させることによって、図1の形態のメモリ・コントロ
ーラにおいて本発明を実施することもまた可能であろ
う。CTRL信号がMEMCLKとタイミングを同じにされるの
で、図3のような実施形態は、ストローブ信号は間接的
ではあるがMEMCLK信号とタイミングを同じにされる。
【0022】どのような実施形態であろうと、この発明
を実施するメモリ・コントローラは、状況に応じて、す
なわち、例えばメモリ・モジュール構成やメモリ搭載等
々に対応したストローブ信号遅延のプログラム化を可能
にする。これは、メモリ・バス上の負荷やメモリ・コン
トローラの実際の構成における変化にかかわらず、いか
なるメモリ構成においても信頼性を保ちながらメモリ・
コントローラが全速力で動作することを可能にする。
【0023】ストローブ信号遅延のプログラム手段への
プログラム実行は、いつでも必要な時に実施できる。本
発明の1つの好ましい実施形態において、ストローブ信
号を派生させる手段20は、メモリ・コントローラの電
力投入時に遅延プログラミング装置25によってプログ
ラムされ、メモリ構成のいかなる変化も適切に考慮され
ることが保証される。また、メモリ構成の変化が検出さ
れる毎にいつでもプログラムを実施することが可能であ
る。プログラム手段20をプログラムする装置25は、
メモリ・コントローラの内部または外部においてあるい
はファームウェア制御の下で動作するシステム・マイク
ロプロセッサによって提供される専用ハードウェア電気
回路の形式を持つ場合もある。
【0024】図4は、本発明に従ったストローブ信号遅
延をプログラムする方法の流れ図である。図4の方法
は、ストローブ信号を派生させるプログラム手段のため
の簡単で迅速な方法である。図4の方法において、スト
ローブ信号を派生させる手段20は、メモリ・クロック
信号とストローブ信号の間の遅延Δを設定するようにプ
ログラムされることができると仮定される。遅延Δは、
範囲Δmin−Δmaxおよび増減単位gを用いてプログラム
される。
【0025】ステップ30−42において、メモリから
のデータの正しい読み取りを保証する最低値Δを決定す
る。ステップ30において、遅延Δは最小値Δminに設
定される。ステップ31において、データがメモリに書
かれる。ステップ32において、メモリからデータが読
み取られる。ステップ33において、メモリから読み取
られたデータがメモリに書き込まれたデータと比較され
る。読取データと書込データが相違すれば、プログラム
はステップ34へ進む。読取データと書込データが相違
しなければ、プログラムはステップ35へ進む。ステッ
プ34において、遅延はgだけ増分される。次にプログ
ラムはステップ31へ戻る。
【0026】ステップ35において、Δは、メモリにお
ける正しいデータ読み取りを既に行ったことがある値を
持つ。複数の動作に関してこの値のデルタが正しいデー
タ読み取りを与えることを保証するため、好ましくはこ
のデータはステップ36−41において検査される。こ
の信頼性テストは必須ではなくスキップしてもよい。ス
キップする場合プログラムはステップ42へ直接進む。
【0027】ステップ36−41において、imax書き込
み/読み取り演算を実行することによって、Δの現在値
を持つ書き込み/読み取り演算の信頼性が検査される。
ステップ36において、パラメータiは1に設定され
る。ステップ37においてデータがメモリへ書かれる。
ステップ38においてメモリからデータが読み取られ
る。ステップ39において、メモリから読み取られたデ
ータがメモリに書き込まれたデータと比較される。読み
取られたデータと書き込まれたデータが異なる場合、Δ
の現在値は信頼できないと判断される。読取データと書
込データが同じ場合、プログラムはステップ40へ進
む。
【0028】ステップ40において、imax書き込み/読
み取り演算が実行されたかどうか、すなわちi>=imax
あるか、検査される。i>=imaxでなければプログラムは
ステップ41へ進む。ステップ41において、iが1増分
される。プログラムはステップ37へ進み、信頼性検査
が繰り返される。ステップ40においてi>=imaxであれ
ば、Δの現在値は、(imax+1)回の読取/書込演算に関し
て信頼性があることが証明されたこととなる。次にプロ
グラムはステップ42へ進む。
【0029】ステップ42において、Δの現在値がΔ-
として記憶される。Δのこの値は、データの読み取りが
成功している最低値である。次に、Δの値はgだけ増分
され、プログラムはステップ43へ進む。
【0030】ステップ43−49において、プログラム
は遅延に関する値Δ+を決定する。Δ-からΔ+までの範
囲において、データはメモリから正しく読み取られる可
能性がある。ステップ43においてデータがメモリに書
き込まれる。ステップ44においてデータはメモリから
読み取られる。ステップ45において、メモリから読み
取られたデータがメモリに書き込まれたデータと比較さ
れる。読取データと書込データが相違すれば、プログラ
ムはステップ48へ進む。読取データと書込データが一
致すれば、プログラムはステップ46へ進む。
【0031】ステップ46において、Δの現在値が少な
くとも1つの正しいデータ読み取りを与えていると判断
される。複数の読み書き動作に関してこの値が正しいデ
ータ読み取りを与えることを保証するため、好ましくは
このデータはステップ36−41と同様のステップで検
査される。しかしこの信頼性テストは必須ではなくスキ
ップしてもよい。次に、Δの現在値が最大値Δmaxと比
較される。Δ=Δmaxであれば、プログラムはステップ
49へ進み、そうでなければステップ47へ進む。ステ
ップ47において、遅延Δはgだけ増分され、プログラ
ムはステップ43へ進む。
【0032】ステップ48において、少なくとも1つの
正しいメモリ・データ読み取りを与えるΔの値が取得さ
れている。このステップにおいて、Δ-とΔ-gの間のΔ
値すなわちΔの現在値から1増分減じた値がメモリの正
しい読み取りを保証すると判断される。値(Δ-g)がΔ+
として記憶される。次にプログラムはステップ50へ進
む。ステップ49において、Δ-とΔmaxの間のΔの値が
メモリの正しい読み取りを与えると判断される。値Δ
maxがΔ+として記憶され、プログラムはステップ50へ
進む。
【0033】ステップ50において、Δ-およびΔ+の間
のΔの値がデータの正しい読み取りを与えると決定され
る。次に、遅延Δは、この範囲内の任意の値、例えば
+-)/2に最も近い値にプログラムされる。
【0034】図4の方法は、遅延Δの単純で迅速な設定
を可能にする。その他の方法も可能であり、図4の方法
を修正することも可能である。例えば、図4の流れ図に
おいて、各読み取りステップが書き込みステップの後に
続き、メモリに書き込まれる情報は各読み取り/書き込
み動作毎に変わり、メモリの正しい統計的検査を確実に
する。しかし、1つの書き込みステップだけを行い常に
同じデータを読み取ることも可能である。更に、Δ+
決定で開始して、次にΔ-を決定することも可能であ
る。これらのための必要な変更は当業者には明白であろ
う。
【0035】本発明の1つの好ましい実施形態におい
て、いくつかの適切な読み取り窓[Δ-+]が存在する
か否かを確認するため遅延値の全範囲が検査され、最大
窓のΔの値が好ましくは選択される。図5は、この方法
の流れ図である。
【0036】第1のステップ60において、遅延Δは最
小値Δminに設定される。パラメータJは1に設定され
る。ステップ61において、例えば図4のステップ31
−49を使用して、読取範囲または窓[Δ-+]が決定
される。ステップ62において、Δ-およびΔ+の現在の
値がΔ-jおよびΔ+jとして記憶される。ステップ63に
おいてΔ+がΔmaxと比較される。Δ+がΔmaxと等しけれ
ば、これ以上適切な窓は存在せず、プログラムはステッ
プ65へ進む。Δ+がΔmaxと等しくなければ、ステップ
64において、jは1だけ増分され、Δはgだけ増分され
る。
【0037】ステップ65において、すべての可能なj
の値に関して、差(Δ+j−Δ-j)が計算される。最大の差
が決定され、それが最大の読取窓を与える。
【0038】次にステップ66において、遅延Δは、こ
の最大読取窓における任意の値、例えば(Δ+j−Δ-j)/2
に最も近い値にプログラムされる。但し、jはステップ
65で決定された最大読取窓のインデックスであるとす
る。
【0039】図5の方法は、遅延のための値がメモリか
らのデータ読み取りに適切でかつ可能な限り最大の範囲
において選択されることをを保証する。
【0040】以上、本発明を実行する最良のモードを1
つの例として記述したが、上記以外の実施形態を使用す
ることも可能である。例えば、図4に示された以外の方
法を使用して、ストローブ信号遅延をプログラムするこ
とも可能である。他の適当なプログラミング能力が提供
されるならば、メモリ・コントローラにおけるレジスタ
以外のプログラミング手段20を使用することも可能で
ある。
【0041】システム動作の間あらかじめ定められた時
点でのストローブ信号遅延のための特定値をプログラム
することにに加えて、供給電圧および温度の変化に応じ
て、プログラムされる遅延値を徐々に増加させて調整す
るように遅延プログラム装置25を構成することも可能
である。これによって、メモリ・コントローラの使用の
間のストローブ信号の変移が補正される。これは、メモ
リ・サブシステムにおける信号の遅延特性に反応するパ
ラメータの値を測定する回路を使用することによって実
施することができる。例えば、測定されるパラメータ
は、あらかじめ定められた信号の遅延を生成するために
必要とされるインバータ連鎖におけるインバータの数で
ある。装置25は、更に、測定されるパラメータ値の時
間的変化に応答して、プログラム遅延機構20に設定さ
れる遅延の適切な変化を決定する手段を含む。これらの
手段は、参照テーブルの形式をとることができる。一旦
適切な遅延変化が決定されたならば、装置25は、プロ
グラムされた遅延を相応の量だけ変更する。
【0042】ストローブ信号を生成する最も単純な方法
は、上述のようにMEMCLKまたはCTRL信号のいずれかを遅
延させることではあるが、その他の方法も可能であるこ
とは認められるであろう。例えば、独立したクロック回
路を使用してストローブ信号を生成することができる。
このクロック回路は、適当なフェーズロックドループ(p
hase-locked loop)によってMEMCLK信号と所望のフェー
ズ関係で同期化される。
【0043】本発明には、例として次のような実施様態
が含まれる。 (1)クロック信号のためのクロック信号線と、少なく
とも1つのメモリ・モジュールに接続するデータ受け取
り手段と、上記データ受け取り手段に接続しストローブ
信号の制御のもとデータをラッチするデータ・ラッチ手
段と、上記クロック信号に連係するようにプログラムさ
れたタイミングで上記ストローブ信号を提供するプログ
ラム可能手段と、を備えるメモリ・コントローラ。 (2)上記プログラム手段が、上記クロック信号線と上
記データ・ラッチ手段の間に配置されて動作するプログ
ラム可能遅延手段を含む、上記(1)に記載のメモリ・
コントローラ。 (3)上記プログラム手段が、上記クロック信号と連係
したタイミングで生成されるメモリ読取信号を搬送する
機能を持つメモリ制御信号線と上記データ・ラッチ手段
の間に配置されて動作するプログラム可能遅延機構を更
に含む、上記(1)に記載のメモリ・コントローラ。 (4)上記プログラム手段が上記プログラムされるタイ
ミング関係を設定するためのレジスタを含む、上記
(1)乃至(3)のいずれかに記載のメモリ・コントロ
ーラ。
【0044】(5)少なく1つのメモリ・モジュールと
上記(1)に記載のメモリ・コントローラを備えるシス
テムであって、ストローブ信号を作成するため上記プロ
グラム手段を自動的にプログラムする機能を持つ遅延プ
ログラミング手段を含むシステム。 (6)上記プログラム手段が該システムの電力投入と同
時にプログラムを実行する、上記(5)に記載のシステ
ム。 (7)少なく1つのメモリ・モジュールと上記(1)に
記載のメモリ・コントローラを備えるシステムであっ
て、該システムが、信号遅延特性の変化を検出するため
該システムにおける信号遅延特性を示すパラメータの値
を定期的に測定する第1の手段と、上記第1の手段によ
って検出される信号遅延特性における変化に応答して、
上記プログラム手段のプログラムを漸増的に変更して、
上記変化に対応するように上記タイミングを補正する第
2の手段と、を更に備える、システム。
【0045】(8)上記(1)に記載のメモリ・コント
ローラにおけるプログラム手段をプログラムする方法で
あって、ある1つの所与の値に対して上記プログラム手
段をプログラムするステップ(a)と、メモリ・コントロ
ーラを使用してメモリ手段にデータを書き込むステップ
(b)と、メモリ・コントローラを使用してメモリ手段に
書き込まれたデータを読み取るステップ(c)と、上記ス
テップ(b)において読み取られたデータが上記ステップ
(c)において書き込まれたデータと同一であるか否かを
判断するステップ(d)と、上記ステップ(d)が少くとも1
つの所与の値に関して肯定の結果を与えるまで上記ステ
ップ(a)乃至ステップ(d)を反復するステップ(e)と、上
記少なくとも1つの所与の値に対して上記プログラム手
段をプログラムするステップ(f)と、を含む方法 (9)上記ステップ(e)が所与の値を増分させるステッ
プを含み、一旦上記ステップ(d)が肯定の結果を与えた
なら、ステップ(d)が否定の結果を与えるまで上記ステ
ップ(a)乃至ステップ(d)が反復される、上記(8)に記
載の方法。 (10)上記ステップ(e)が所与の値を減分させるステ
ップを含み、一旦上記ステップ(d)が肯定の結果を与え
たなら、ステップ(d)が否定の結果を与えるまで上記ス
テップ(a)乃至ステップ(d)が反復される、上記(8)に
記載の方法。 (11)上記ステップ(f)が、それによって上記ステッ
プ(d)が肯定結果を出す値を含む範囲から1つの値を選
択するステップを含む、上記(9)または(10)の一
ずれ化に記載の方法。 (12)すべてのプログラム可能な値に関してス上記テ
ップ(e)が反復される、上記(8)に記載の方法。 (13)上記ステップ(f)が、上記ステップ(d)が肯定
的結果を出す値の複数の範囲を決定するステップ(g)と
それらの範囲の最大範囲を決定するステップ(h)とを含
み、上記プログラム手段が上記最大範囲に含まれる1つ
の値に対してプログラムされる、上記(12)に記載の
方法。
【0046】(14)メモリ・コントローラにおいて読
み取られるデータの信頼性を向上させるため、クロック
信号と読取ストローブ信号の間の遅延をプログラムする
ステップを含む方法。 (15)上記プログラムが上記メモリ・コントローラの
電力投入時に実行される、上記(14)に記載の方法。 (16)上記プログラムが電圧変動に応じた補正を行う
ように実行される、上記(14)に記載の方法。 (17)上記プログラムが処理の負荷の変動に応じた補
正を行うように実行される、上記(14)に記載の方
法。 (18)上記プログラムが温度変動に応じた補正を行う
ように実行される、上記(14)に記載の方法。
【0047】
【発明の効果】本発明によって、例えばより高速なメモ
リの装着や同一メモリ・バス上の実装メモリ・モジュー
ルの増加などのメモリ構成の変化に対応して、メモリ・
コントローラのハードウェアを変更することなく、スト
ローブ信号の最適タイミングを決定することができる柔
軟性が与えられる。
【図面の簡単な説明】
【図1】いくつかのメモリ・モジュールを備える従来技
術のメモリ・コントローラを示すブロック図である。
【図2】図1の装置における種々の信号のタイミングを
示すブロック図である。
【図3】いくつかのメモリ・モジュールを備える本発明
に従ったメモリ・コントローラのブロック図である。
【図4】本発明に従ってストローブ信号遅延をプログラ
ムする方法の流れ図である。
【図5】本発明に従ってストローブ信号遅延をプログラ
ムする別の方法の流れ図である。
【符号の説明】
1、19 メモリ・コントローラ 2 データ・バス 3、4、5 メモリ・モジュール 6 データ・ラッチ機構 7 メモリ・クロック信号線 8 メモリ制御信号線 9 入力 10 メモリ・クロック・タイミング 11 制御信号タイミング 12 ストローブ信号タイミング 13、14、15 データ読み書きタイミング 16 データ窓 17 遅延機構 20 プログラム可能遅延機構 25 遅延プログラミング手段

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】クロック信号のためのクロック信号線と、 少なくとも1つのメモリ・モジュールに接続するデータ
    受け取り手段と、 上記データ受け取り手段に接続しストローブ信号の制御
    のもとデータをラッチするデータ・ラッチ手段と、 上記クロック信号に連係するようにプログラムされたタ
    イミングで上記ストローブ信号を提供するプログラム可
    能手段と、 を備えるメモリ・コントローラ。
JP10004583A 1997-01-23 1998-01-13 メモリ・コントローラ Pending JPH10232818A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP97410009.1 1997-01-23
EP97410009A EP0855653B1 (en) 1997-01-23 1997-01-23 Memory controller with a programmable strobe delay

Publications (1)

Publication Number Publication Date
JPH10232818A true JPH10232818A (ja) 1998-09-02

Family

ID=8229944

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10004583A Pending JPH10232818A (ja) 1997-01-23 1998-01-13 メモリ・コントローラ

Country Status (3)

Country Link
EP (1) EP0855653B1 (ja)
JP (1) JPH10232818A (ja)
DE (1) DE69731066T2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001337862A (ja) * 2000-05-29 2001-12-07 Fujitsu Ltd メモリシステム及びそのセットアップ方法
WO2002001363A1 (fr) * 2000-06-27 2002-01-03 Matsushita Electric Industrial, Co., Ltd. Dispositif et procede de commande de memoire
KR100389916B1 (ko) * 2000-08-28 2003-07-04 삼성전자주식회사 메모리 모듈 및 메모리 컨트롤러
WO2009096141A1 (ja) * 2008-01-29 2009-08-06 Panasonic Corporation メモリアクセスタイミング調整装置及びメモリアクセスタイミング調整方法

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6067594A (en) * 1997-09-26 2000-05-23 Rambus, Inc. High frequency bus system
US7050959B1 (en) 1999-12-23 2006-05-23 Intel Corporation Dynamic thermal management for integrated circuits
US6578125B2 (en) 2000-02-14 2003-06-10 Sanyo Electric Co., Ltd. Memory access circuit and memory access control circuit
US6553472B2 (en) * 2001-01-12 2003-04-22 Sun Microsystems, Inc. Method for programming clock delays, command delays, read command parameter delays, and write command parameter delays of a memory controller in a high performance microprocessor
US6675272B2 (en) 2001-04-24 2004-01-06 Rambus Inc. Method and apparatus for coordinating memory operations among diversely-located memory components
US8391039B2 (en) 2001-04-24 2013-03-05 Rambus Inc. Memory module with termination component
EP1291778B1 (en) * 2001-04-24 2007-06-27 Rambus Inc. Method and apparatus for coordinating memory operations among diversely-located memory components
US6697926B2 (en) * 2001-06-06 2004-02-24 Micron Technology, Inc. Method and apparatus for determining actual write latency and accurately aligning the start of data capture with the arrival of data at a memory device
US6918048B2 (en) * 2001-06-28 2005-07-12 Intel Corporation System and method for delaying a strobe signal based on a slave delay base and a master delay adjustment
US20040215912A1 (en) * 2003-04-24 2004-10-28 George Vergis Method and apparatus to establish, report and adjust system memory usage
EP1479883A1 (de) 2003-05-10 2004-11-24 Universität Stuttgart Verfahren und Vorrichtung zur Reinigung von Abgasen
US7301831B2 (en) 2004-09-15 2007-11-27 Rambus Inc. Memory systems with variable delays for write data signals
US7966439B1 (en) * 2004-11-24 2011-06-21 Nvidia Corporation Apparatus, system, and method for a fast data return memory controller
WO2007105156A1 (en) 2006-03-13 2007-09-20 Nxp B.V. Double data rate interface

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5335337A (en) * 1989-01-27 1994-08-02 Digital Equipment Corporation Programmable data transfer timing
US5615358A (en) * 1992-05-28 1997-03-25 Texas Instruments Incorporated Time skewing arrangement for operating memory in synchronism with a data processor
US5509138A (en) * 1993-03-22 1996-04-16 Compaq Computer Corporation Method for determining speeds of memory modules
US5557782A (en) * 1994-07-12 1996-09-17 Zenith Data Systems Corporation Flexible deterministic state machine
WO1997015897A1 (en) * 1995-10-26 1997-05-01 Motorola Inc. Method and device for encoding/decoding a displaced frame difference

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001337862A (ja) * 2000-05-29 2001-12-07 Fujitsu Ltd メモリシステム及びそのセットアップ方法
WO2002001363A1 (fr) * 2000-06-27 2002-01-03 Matsushita Electric Industrial, Co., Ltd. Dispositif et procede de commande de memoire
KR100389916B1 (ko) * 2000-08-28 2003-07-04 삼성전자주식회사 메모리 모듈 및 메모리 컨트롤러
US7246250B2 (en) 2000-08-28 2007-07-17 Samsung Electronics Co., Ltd. Memory device controls delay time of data input buffer in response to delay control information based on a position of a memory device received from memory controller
WO2009096141A1 (ja) * 2008-01-29 2009-08-06 Panasonic Corporation メモリアクセスタイミング調整装置及びメモリアクセスタイミング調整方法
JPWO2009096141A1 (ja) * 2008-01-29 2011-05-26 パナソニック株式会社 メモリアクセスタイミング調整装置及びメモリアクセスタイミング調整方法

Also Published As

Publication number Publication date
DE69731066T2 (de) 2005-10-06
DE69731066D1 (de) 2004-11-11
EP0855653A1 (en) 1998-07-29
EP0855653B1 (en) 2004-10-06

Similar Documents

Publication Publication Date Title
JPH10232818A (ja) メモリ・コントローラ
US4719593A (en) Apparatus for generating digital timing waveforms
US7759998B2 (en) Timing adjustment circuit
JP5577776B2 (ja) メモリ制御装置及びマスクタイミング制御方法
KR20030002419A (ko) 반도체 메모리 장치 및 그 테스트 방법
KR20040008835A (ko) 클록 동기화 방법
US8143927B2 (en) Pulse control device
US7949080B2 (en) Phase adjusting function evaluating method, transmission margin measuring method, information processing apparatus and computer readable information recording medium
KR100735920B1 (ko) 디바이스 테스트 장치 및 방법과, 그 인터페이스 장치
US6754869B2 (en) Method and device for testing set-up time and hold time of signals of a circuit with clocked data transfer
KR20010024360A (ko) 집적회로 테스터용 포맷 민감성 타이밍 교정
US5305277A (en) Data processing apparatus having address decoder supporting wide range of operational frequencies
JP2013109637A (ja) メモリインターフェース回路、および、そのメモリインターフェース回路の動作方法
JPH05342085A (ja) メモリアクセス制御回路
JP4121454B2 (ja) クロック回路のための方法及び装置
WO2007122990A1 (ja) 信号出力装置、信号検出装置、試験装置、電子デバイスおよびプログラム
US7593831B2 (en) Method and apparatus for testing delay lines
US6563359B2 (en) Semiconductor integrated circuit including clock modulation circuit
US20040184303A1 (en) Memory circuit and method for operating the same
JP2001319494A (ja) メモリ回路用の組込み自己試験装置
JP4838060B2 (ja) アナログ波形発生装置
JP3352762B2 (ja) インサーキットエミュレータのクロック供給装置
JPH06265597A (ja) 半導体集積回路の試験装置
JPH0587878A (ja) データ取込み回路
JPH04242180A (ja) 集積回路のac特性測定装置

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050111

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051208

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060511