(57)【要約】【課題】ＤＬＬやＰＬＬなどの同期回路を用いなくとも高速なシステムクロックに同期して動作する半導体記憶装置及びデータ伝送システムを提供する。【解決手段】外部から与えられたシステムクロックに同期して動作し、リードコマンド実行時にデータストローブ信号をデータストローブ端子から出力すると共に、データストローブ信号に同期してリードデータを出力する半導体記憶装置であって、リードデータの出力に先立って出力するリードプリアンブルの長さを指定するリードプリアンブルレジスタを備える。メモリコントローラは、システムクロック周波数と半導体記憶装置の内部遅延時間を考慮して、リードプリアンブル長を最適に設定することにより、半導体記憶装置のリードデータ出力開始タイミングがばらついても先頭データを逃すことがなく、かつ、高速にデータ伝送を行うことができる。【選択図】図１０
2010170597.tif 000002
【特許請求の範囲】
【請求項１】
外部から与えられたシステムクロックに同期して動作し、リードコマンド実行時にデータストローブ信号をデータストローブ端子から出力すると共に、前記データストローブ信号に同期してリードデータを出力する半導体記憶装置であって、
前記リードデータの出力に先立って出力するリードプリアンブルの長さを指定するリードプリアンブルレジスタと、
前記リードコマンドの受付により動作を開始し、あらかじめ定められた前記リードデータの出力開始タイミングに先立って前記リードプリアンブルレジスタで指定される長さのリードプリアンブル信号を出力し、引き続いて前記リードデータの出力開始タイミングから前記データストローブ端子にデータストローブ信号を出力するデータストローブ信号出力制御部と、
を備えたことを特徴とする半導体記憶装置。
【請求項２】
前記リードデータの出力開始タイミングを指定するＣＡＳレイテンシ指定レジスタを備え、前記ＣＡＳレイテンシ指定レジスタに設定される値に依存して前記リードデータの出力開始タイミングが決定されることを特徴とする請求項１記載の半導体記憶装置。
【請求項３】
前記リードコマンドを受け付けたときにセットされるリードフラグを備え、
前記データストローブ信号出力制御部が、前記リードフラグのセットによって動作を開始することを特徴とする請求項１又は２記載の半導体記憶装置。
【請求項４】
ＤＬＬ回路と、
前記ＤＬＬ回路を用いて前記システムクロックに対する位相を調整してリードデータを送出するＤＬＬ選択モードと、前記ＤＬＬ回路を用いないで前記システムクロックを基準にしてリードデータを出力するＤＬＬ非選択モードと、を切り換えるＤＬＬ選択回路と、
をさらに備え、
前記ＤＬＬ選択モードとＤＬＬ非選択モードで前記リードコマンドが入力されてからリードデータ出力開始までの前記システムクロックのクロック数の基準を変えることを特徴とする請求項１乃至３いずれか１項記載の半導体記憶装置。
【請求項５】
前記リードデータ出力に先立つリードプリアンブルの長さが、
前記ＤＬＬ選択回路が前記ＤＬＬ非選択モードであるときに前記リードプリアンブルレジスタで指定される長さであって、
前記ＤＬＬ選択回路が前記ＤＬＬ選択モードであるときに前記リードプリアンブルレジスタの値によらず固定した長さであることを特徴とする請求項４記載の半導体記憶装置。
【請求項６】
ＤＬＬ回路と、
前記ＤＬＬ回路を用いて前記システムクロックに対する位相を調整してリードデータを出力するＤＬＬ選択モードと、前記ＤＬＬ回路を用いないで前記システムクロックを基準にしてリードデータを出力するＤＬＬ非選択モードと、を切り換えるＤＬＬ選択回路と、
をさらに備え、
前記リードデータ出力に先立つリードプリアンブルの長さが、
前記ＤＬＬ選択回路が前記ＤＬＬ非選択モードであるときに前記リードプリアンブルレジスタで指定される長さであって、
前記ＤＬＬ選択回路が前記ＤＬＬ選択モードであるときに前記リードプリアンブルレジスタの値によらず固定した長さであることを特徴とする請求項１乃至３いずれか１項記載の半導体記憶装置。
【請求項７】
前記データストローブ信号出力制御部は、リードデータの出力完了まで前記システムクロックに基づいて前記データストローブ端子からデータストローブ信号をトグル出力し、前記リードデータの出力が完了した後、ポストプリアンブル信号を出力し、その後、前記データストローブ端子を出力ハイインピーダンスの状態にしてリードデータの出力処理を完了させることを特徴とする請求項１乃至６いずれか１項記載の半導体記憶装置。
【請求項８】
前記リードプリアンブル信号は、ハイレベルまたはローレベルの固定レベルの信号であることを特徴とする請求項１乃至７いずれか１項記載の半導体記憶装置。
【請求項９】
外部から与えられたシステムクロックに同期して動作し、リードコマンド実行時にデータストローブ信号をデータストローブ端子から出力すると共に、前記データストローブ信号に同期してリードデータを出力し、
ＤＬＬ回路を用いて前記システムクロックに対する位相を調整してリードデータを出力するＤＬＬ選択モードと、前記ＤＬＬ回路を用いないで内部クロックを基準にしてリードデータを出力するＤＬＬ非選択モードと、を有し、前記リードデータの出力に先立って、リードプリアンブル信号を前記データストローブ端子から出力する半導体記憶装置のリードプリアンブル信号の制御方法であって、前記ＤＬＬ選択モードより前記ＤＬＬ非選択モードの前記システムクロック周期に対する前記リードプリアンブル信号長を長くすることを特徴とする半導体記憶装置のリードプリアンブル信号の制御方法。
【請求項１０】
前記半導体記憶装置に前記リードプリアンブル信号長を指定するリードプリアンブルレジスタを設け、前記リードプリアンブルレジスタの設定値によりリードプリアンブル信号長を制御することを特徴とする請求項９記載の半導体記憶装置のリードプリアンブル信号の制御方法。
【請求項１１】
リードコマンドを与えてから最初のデータの出力を開始するまでのシステムクロックのクロック数であるＣＡＳレイテンシが大きいほど、リードプリアンブル信号長を長く設定することを特徴とする請求項９又は１０記載の半導体記憶装置におけるリードプリアンブル信号の制御方法。
【請求項１２】
コントローラと、
システムクロックが供給され、前記コントローラからの指示に応答して前記コントローラに対してデータの入出力を行う被制御装置と、
前記コントローラと前記被制御装置とを接続し、データの入出力を行う伝送データ線と、
前記コントローラと前記被制御装置とを接続する双方向の伝送クロック線で、前記コントローラが被制御装置からデータの入力を行う際には、前記被制御装置から前記コントローラに対して前記システムクロックから生成した伝送クロックを送出し、前記伝送データ線に前記伝送クロックに同期して入力データを伝送するための伝送クロック線と、
を備えたデータ伝送システムにおいて、
前記被制御装置が前記コントローラにデータの伝送を開始するのに先立って前記伝送クロック線に出力するプリアンブル信号の長さを決めるプリアンブル長レジスタを備え、
前記コントローラは、あらかじめ前記被制御装置のプリアンブル長レジスタを設定し、前記システムクロックの周波数と、前記プリアンブル長レジスタの設定値と、前記コントローラの指示に対する前記被制御装置の応答時間と、前記システムクロックに対する前記被制御装置が出力する伝送クロックの位相遅れのばらつきを考慮して、前記被制御装置に対するデータ入力の指示を与えてから前記被制御装置が送出する前記伝送クロックの検出を開始するまでの時間を決定することを特徴とするデータ伝送システム。
【請求項１３】
前記コントローラが、前記システムクロックの周波数と、前記位相遅れのばらつきと、を考慮して、前記ばらつきが最大の場合と最小の場合でプリアンブル信号の送出期間が重なるように前記プリアンブル長レジスタを設定し、前記ばらつきが最小であっても前記プリアンブル信号の送出期間が終了する前に前記被制御装置が送出する前記伝送クロックの検出を開始することを特徴とする請求項１２記載のデータ伝送システム。
【請求項１４】
前記ばらつきが最大であっても前記プリアンブル信号の送出期間が開始されてから前記被制御装置が送出する前記伝送クロックの検出を開始することを特徴とする請求項１３記載のデータ伝送システム。
【請求項１５】
前記ばらつきが最小の場合に前記プリアンブル信号の送出期間が終了する一定時間前に前記伝送クロックの検出を開始することを特徴とする請求項１３又は１４記載のデータ伝送システム。
【請求項１６】
前記コントローラがメモリコントローラであって、
前記被制御装置が半導体記憶装置であって、
前記コントローラからの指示に応答して前記被制御装置が前記コントローラに対して行うデータの伝送が、前記メモリコントローラからのリードコマンドに応答して前記半導体記憶装置が行うリードデータの伝送であって、
前記伝送クロック線がデータストローブ信号を伝送する信号線であることを特徴とする請求項１２乃至１５いずれか１項記載のデータ伝送システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体記憶装置及びそのリードプリアンブル信号の制御方法、並びにデータ伝送システムに関する。特に、データ伝送システムは、メモリコントローラ等のコントローラと、メモリコントローラの制御を受ける半導体記憶装置等のコントローラの制御を受ける被制御装置との間の好適なデータ伝送システムに関する。
【背景技術】
【０００２】
ダイナミックＲＡＭをはじめとする半導体記憶装置の大容量化、高速化には目覚しいものがある。特に、ＤＤＲ  ＳＤＲＡＭ（Ｄｏｕｂｌｅ  Ｄａｔａ  Ｒａｔｅ  Ｓｙｎｃｈｒｏｎｏｕｓ  ＤＲＡＭ）では、内部の動作をパイプライン化させ、外部からクロックに同期して与えられたコマンドを順次実行すると共に、クロック周波数の２倍のレートでデータ転送を行えるようにしてシステムの高速動作を実現している。上記ＤＤＲ  ＳＤＲＡＭ等では、ＤＬＬ（Ｄｅｌａｙ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）回路が用いられ、外部から与えられるクロックに同期して内部回路を動作させ、高速なデータ転送を実現している。
【０００３】
図１は、このＤＤＲ  ＳＤＲＡＭにおけるリードコマンド実行時のタイミング図である。図１において、「ＣＫ」はＤＤＲ  ＳＤＲＡＭのＣＫ端子にメモリコントローラから与えられるシステムクロック信号、「／ＣＫ」は／ＣＫ端子に与えられるその反転信号である。図１では、ＣＫ信号を実線で、／ＣＫ信号を破線で示す。また、「Ｃｏｍｍａｎｄ」はＤＤＲ  ＳＤＲＡＭにメモリコントーラから与えられるコマンド、「Ｂａｎｋ  Ａｄｄ」と「Ｃｏｌ  Ａｄｄ」はそのときのバンクアドレスとカラムアドレスである。また、リードコマンドが入力された場合にＤＤＲ  ＳＤＲＡＭのＤＱ端子（データ端子）から出力されるデータと、ＤＱＳ端子（データストローブ端子）から出力されるデータストローブ信号を「ＤＱ」と「ＤＱＳ」に示す。なお、データストローブ信号は、ＤＱＳ信号の他にもその反転信号である／ＤＱＳ信号が／ＤＱＳ端子から出力されるが、図１では省略している。
【０００４】
また、標準のＤＱＳ出力信号に他に、ＤＱＳ信号の出力タイミングがばらついた場合の最速と最遅のタイミングも合わせて図示している。なお、ＣＡＳレイテンシはＣＬ＝６、アディティブレイテンシ（Ａｄｄｉｔｉｖｅ  Ｌａｔｅｎｃｙ）はＡＬ＝０であるとする。
【０００５】
図１において、まず、タイミングＴ０の立ち上がりエッジにおいて、リードコマンドがＤＤＲ  ＳＤＲＡＭに与えられる。標準的なＤＤＲ  ＳＤＲＡＭでは、ＤＬＬを内蔵しているので、メモリコントローラ側から与えるシステムクロック信号ＣＫ、／ＣＫの位相とＤＤＲ  ＳＤＲＡＭからＤＱＳ端子に出力される信号の位相は揃っている。上記のとおり、ＣＡＳレイテンシが６で、アディティブレイテンシが０であるので、ＤＱＳ端子はあらかじめリードプリアンブルとして１サイクル、ローレベルを出力した後、６クロック目のＴ６のシステムクロックの立ち上がりに同期して立ち上がる。その後、バースト出力が完了するまでシステムクロックに同期してトグル動作を繰り返す。そのとき、ＤＱ端子からは、ＤＱＳ端子の立ち上がり及び立ち下がりに同期してデータが出力される。ＤＤＲＳＤＲＡＭから出力されるＤＱＳ信号は、メモリコントローラ側から与えられるシステムクロック信号ＣＫ、／ＣＫとＤＬＬ回路によって同期が取られているので、位相のずれが少ない。ＤＱＳ信号線は、ＤＤＲ  ＳＤＲＡＭからメモリコントローラ側にデータストローブ信号として出力する場合と、メモリコントローラ側からＤＤＲＳＤＲＡＭへデータストローブ信号として出力する場合がある双方向の信号線である。従って、どちらもデータを出力しない場合は、ハイインピーダンス状態となり、終端抵抗により、中間電位となる。
【０００６】
従って、ＤＤＲ  ＳＤＲＡＭの規格では、データを出力する場合は、データ出力に先立って、ＣＫ信号の１サイクル期間ローレベルのプリアンブル信号を出力することになっている。例えば、図１に示すように、ＤＤＲ  ＳＤＲＡＭがリードデータを出力する場合には、その１サイクル前にリードプリアンブル信号をＤＱＳ端子から出力し、メモリコントローラでは、そのリードプリアンブル信号を受けて、リードデータ受信の待機状態に入る。
【０００７】
なお、ＣＫ端子、／ＣＫ端子の立下り、立ち上がりエッジに対するＤＤＲ  ＳＤＲＡＭのＤＱＳ端子、／ＤＱＳ端子の立下り、立ち上がりエッジのずれは、ｔＤＱＳＣＫとして規格が決められている。このｔＤＱＳＣＫの値が０の場合（理想的な場合）をｔＤＱＳＣＫｔｙｐ、ばらつきの最小値をｔＤＱＳＣＫｍｉｎ、最大値をｔＤＱＳＣＫｍａｘとして示す。通常のＤＤＲ  ＳＤＲＡＭでは、ＤＬＬ回路を用いてＤＱＳ信号の位相をシステムクロックに揃えているので、ばらつきは少ない。図１において、ｔｓからｔｅの期間は、ｔＤＱＳＣＫｍｉｎ、ｔＤＱＳＣＫｍａｘの場合のどちらでもプリアンプル信号が出力される。したがって、メモリコントローラでは、比較的に容易にプリアンブル信号を検出できる、ちなみに、システムクロックＣＫの平均周期ｔＣＫａｖｅを１８７５ｐｓとして、ｔＤＱｍｉｎを−３００ｐｓ、ｔＤＱＳＣＫｍａｘを３００ｐｓとすると、ｔｓからｔｅまでの期間は（１）式によれば、１２７５ｐｓとなる。ただし、実際は、ＤＤＲ  ＳＤＲＡＭからメモリコントローラまでの配線の伝播遅延とそのばらつきがあるので、この様な正確な時間にはならない。
【０００８】
１８７５ｐｓ−３００ｐｓ−３００ｐｓ＝１２７５ｐｓ      （１）式
【０００９】
図２は、リードコマンド実行時のメモリコントローラの制御フロー図である。メモリコントローラは、ステップＳ１１で、リードコマンドを出力した後、ステップＳ１２でＣＡＳレイテンシ−１サイクル待った後、ステップＳ１３でＤＱＳ信号を検出するゲートを開いてリードプリアンブル信号を検出する。このゲートを開くタイミングを上述したｔｓからｔｅまでの期間に伝播遅延を加えた時刻にすれば、ｔＤＱＳＣＫがばらついた場合であっても理想的には１回でプリアンブル信号が検出できる（ステップＳ１４）。プリアンブルブルが検出できない場合は、何らかの異常があるので、異常処理に移行する（ステップＳ１５）。一方、正常にリードプリアンブル信号を検出できた場合には、トグルエッジの検出処理に移行する（ステップＳ１６）。トグルエッジが検出できた場合は、メモリリード動作において、ＤＱＳ信号とＤＱ信号は同時に変化するので、ＤＱ信号の変化が安定した次のエッジまでの中間の時間でＤＱ信号の取り込みを行う（ステップＳ１８）。ステップＳ１６のトグルエッジ検出からステップＳ１８のＤＱ信号の取り込みまでの動作をデータが終了するまで繰り返し、データを終了したところで、リード動作を完了する（ステップＳ１９）。なお、特許文献１には、ＤＤＲ  ＳＤＲＡＭにおいてリードプリアンブル信号を生成する回路が記載されている。上記の説明は、すべて、ＤＤＲ  ＳＤＲＡＭがＤＤＬ回路を内蔵し、ＤＱＳ出力信号の位相を精度よくＣＫ信号と位相が揃えられることが前提である。
【００１０】
一方、電池で動作するノートＰＣ等の機器に限られず、サーバ等の分野においても、半導体記憶装置の消費電力削減が求められている。しかし、ＤＬＬは、常時クロックを高速に動作させなければならないため、消費電力増大の原因ともなる。これに対して、非特許文献１の３７ページには、上記ＤＤＲ  ＳＤＲＡＭの最新の規格であるＤＤＲ３  ＳＤＲＡＭにおいて、ＤＬＬをオフするＤＬＬオフモードを設けることが記載されている。非特許文献１によれば、ＤＬＬオフモードにおいては、ＣＡＳレイテンシＣＬ＝６で用いることになっており、リード動作時のＤＱＳ信号は、ＤＬＬオンモードより１サイクル前のタイミング信号から生成することが記載されている。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００８−１９８３５６号公報
【非特許文献】
【００１２】
【非特許文献１】ＪＥＤＥＣ  ＳＴＡＮＤＡＲＤ  ＤＤＲ３  ＳＤＲＡＭ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ、ＪＥＳＤ７９−３Ｂ、２００８年４月、ＪＥＤＥＣ半導体技術協会（ＪＥＤＥＣ  ＳＯＬＩＤ  ＳＴＡＴＥ  ＴＥＣＨＮＯＬＯＧＹ  ＡＳＳＯＣＩＡＴＩＯＮ）、３７ページ
【発明の概要】
【発明が解決しようとする課題】
【００１３】
以下の分析は本発明において与えられる。上述したように、ＤＤＲ３  ＳＤＲＡＭでは、ＤＬＬオフモードを設けることが記載されている。しかしＤＤＲ３  ＳＤＲＡＭのような高速なデータ転送レートを用いる半導体記憶装置には、様々な問題があるため、実際には、ＤＬＬオフモードは、ほとんど使用されていないと考えられる。その理由の一つは、以下に述べるように、従来のメモリコントローラでは、リードプリアンブル信号を適切なタイミングで検出してリードデータの先頭データを誤り無く受信することが困難であることである。
【００１４】
図３は、ＤＤＲ３  ＳＤＲＡＭにおけるリードデータの出力を開始するタイミング図である。上述したように、非特許文献１によれば、ＤＬＬオフモードでは、ＣＡＳレイテンシで指定されたＣＫ信号より１サイクル早いＣＫ信号のエッジを基準にＤＱＳ信号を制御することになっている。図３では、図１と同様にＣＡＳレイテンシＣＬ＝６であるので、ＤＬＬオフモードでは、リードコマンドを受けてから６つ目のサイクルであるＴ６より１サイクル前のＴ５のクロックのエッジを基準にＤＱＳ信号が生成される。
【００１５】
しかし、ＤＬＬオンモードのようにＤＬＬ回路によって、ＤＱＳ信号の位相とＣＫ信号の位相が揃うように内部クロックの位相を調整することができないので、内部クロックはＣＫ信号に対して位相の遅れを持っている。その位相遅れは、ＣＫ信号に対するＤＱＳ信号の位相遅れ時間ｔＤＱＳＣＫ（ＤＬＬオフモード）となって現れ、その数値は、２０００ｐｓから５０００ｐｓ程度である。すなわち、ｔＤＱＳＣＫ（ＤＬＬオフモード）は、すでに述べたＤＬＬオン時のｔＤＱＳＣＫ（ＤＬＬオンモード）に対して１桁以上大きい数字であり、必ず、内部クロックは外部から与えられるＣＫ信号に対して位相遅れを有するので、ｔＤＱＳＣＫ（ＤＬＬオフモード）は正の数字になる点が異なっている。図３から容易に理解できる様に、最も位相遅れが少ないｔＤＱＳＣＫｍｉｎの場合は、すでにリードプリアルブル期間が終了し、トグル動作に入っているタイミングにおいて、最も位相遅れが大きいｔＤＱＳＣＫｍａｘの場合は、まだリードプリアンブルの送出前であることになる。
【００１６】
このような場合、図１に示したｔｓからｔｅのタイミングのようなＤＤＲ  ＳＤＲＡＭの遅延時間がばらついてもリードプリアンブル信号を確実に検出できるタイミングが存在しない。このような場合、メモリコントローラは、図２に示した制御フローでは、正常にリードデータを読み出すことができない。もし、この図３に示すようなリードデータ出力タタイミングのばらつきを正しくメモリコントローラで受信しようとするならば、図４のような制御フロー図でなければならない。図４は、図２のステップＳ１４の処理が、ステップＳ２４とステップＳ２１のループ処理に置き換わっている。すなわち、ｔＤＱＳＣＫｍｉｎの場合に正しくリードデータを読み出すためには、ｔＤＱＳＣＫｍｉｎがトグル動作を開始する前にゲートをオープンし（ステップＳ１３）、リードプリアンブルの検出動作に入らなければならない（ステップＳ２４）。しかし、そのタイミングでは、ｔＤＱＳＣＫｍａｘがまだリードプリアンブルの送出タイミングまでに到達していないため、１回目の検出でプリアンブル信号が検出できなくとも、それだけでは、異常処理とすることができない。プリアンブルが検出できるまで待機し、ｔＤＱＳＣＫｍａｘがリードプリアンブル期間に入るべきタイミングになってもリードプリアンブル信号が検出できない場合に初めて、異常処理を行うことができる。
【００１７】
すなわち、ＤＤＲ  ＳＤＡＭを制御する側のコントローラは、従来のリードプリアンブル信号の検出処理から設計変更を行う必要があると考えられる。また、ＤＱＳ信号の検出は高速性が要求させるため、ソフトウェアでの実現は難しく、ＤＬＬオフモード専用のＤＱＳ検出回路が必要になると考えられる。
【課題を解決するための手段】
【００１８】
本発明の１つの側面による半導体記憶装置は、外部から与えられたシステムクロックに同期して動作し、リードコマンド実行時にデータストローブ信号をデータストローブ端子から出力すると共に、前記データストローブ信号に同期してリードデータを出力する半導体記憶装置であって、前記リードデータの出力に先立って出力するリードプリアンブルの長さを指定するリードプリアンブルレジスタと、前記リードコマンドの受付により動作を開始し、あらかじめ定められた前記リードデータの出力開始タイミングに先立って前記リードプリアンブルレジスタで指定される長さのリードプリアンブル信号を出力し、引き続いて前記リードデータの出力開始タイミングから前記データストローブ端子にデータストローブ信号を出力するデータストローブ信号出力制御部と、を備える。
【００１９】
また、本発明の他の側面による半導体記憶装置のリードプリアンブル信号の制御方法は、外部から与えられたシステムクロックに同期して動作し、リードコマンド実行時にデータストローブ信号をデータストローブ端子から出力すると共に、前記データストローブ信号に同期してリードデータを出力し、ＤＬＬ回路を用いて前記システムクロックに対する位相を調整してリードデータを出力するＤＬＬ選択モードと、前記ＤＬＬ回路を用いないで内部クロックを基準にしてリードデータを出力するＤＬＬ非選択モードと、を有し、前記リードデータの出力に先立って、リードプリアンブル信号を前記データストローブ端子から出力する半導体記憶装置のリードプリアンブル信号の制御方法であって、前記ＤＬＬ選択モードより前記ＤＬＬ非選択モードの前記システムクロック周期に対する前記リードプリアンブル信号長を長くする。
【００２０】
さらに、本発明の他の側面によるデータ伝送システムは、コントローラと、システムクロックが供給され、前記コントローラからの指示に応答して前記コントローラに対してデータの入出力を行う被制御装置と、前記コントローラと前記被制御装置とを接続し、データの入出力を行う伝送データ線と、前記コントローラと前記被制御装置とを接続する双方向の伝送クロック線で、前記コントローラが被制御装置からデータの入力を行う際には、前記被制御装置から前記コントローラに対して前記システムクロックから生成した伝送クロックを送出し、前記伝送データ線に前記伝送クロックに同期して入力データを伝送するための伝送クロック線と、を備えたデータ伝送システムにおいて、前記被制御装置が前記コントローラにデータの伝送を開始するのに先立って前記伝送クロック線に出力するプリアンブル信号の長さを決めるプリアンブル長レジスタを備え、前記コントローラは、あらかじめ前記被制御装置のプリアンブル長レジスタを設定し、前記システムクロックの周波数と、前記プリアンブル長レジスタの設定値と、前記コントローラの指示に対する前記被制御装置の応答時間と、前記システムクロックに対する前記被制御装置が出力する伝送クロックの位相遅れのばらつきを考慮して、前記被制御装置に対するデータ入力の指示を与えてから前記被制御装置が送出する前記伝送クロックの検出を開始するまでの時間を決定する。
【発明の効果】
【００２１】
本発明によれば、リードデータを読み出すコントローラが先頭データの欠落を生じさせることなく容易にデータを伝送することができる半導体記憶装置を提供することができる。また、データ伝送システムにおいて、データを受け洩らすことなく、高速にデータの伝送を行うことができる。
【図面の簡単な説明】
【００２２】
【図１】従来の半導体記憶装置におけるリードコマンド実行時のタイミング図である。
【図２】従来の半導体記憶装置に対してリード動作をおこなうときのメモリコントローラの制御フロー図である。
【図３】従来の半導体記憶装置において、ＤＬＬ回路を用いないと仮定した場合のリードコマンド実行時のタイミング図である。
【図４】従来の半導体記憶装置において、ＤＬＬ回路を用いないと仮定した場合のメモリコントローラの制御フロー図である。
【図５】本発明の一実施例によるデータ伝送システム（メモリシステム）全体の構成図である。
【図６】本発明の一実施例による半導体記憶装置全体の構成図である。
【図７】本発明の一実施例による半導体記憶装置のＤＱＳ（データストローブ信号）出力制御回路周辺の構成図である。
【図８】本発明の一実施例による半導体記憶装置のＤＱＳ出力制御回路における制御フロー図である。
【図９】本発明の一実施例による半導体記憶装置のリードプリアンブルレジスタの機能的な構成図である。
【図１０】本発明の一実施例によるメモリシステム（データ伝送システム）におけるタイミング図である。
【発明を実施するための形態】
【００２３】
本発明の実施形態について、必要に応じて図面を参照して説明する。なお、実施形態の説明において引用する図面及び図面の符号は実施形態の一例として示すものであり、それにより本発明による実施形態のバリエーションを制限するものではない。
【００２４】
本発明の一実施形態の半導体記憶装置１は、例えば、図６に示すように、外部から与えられたシステムクロックＣＫに同期して動作し、リードコマンド実行時にデータストローブ信号ＤＱＳをデータストローブ端子２２から出力すると共に、データストローブ信号ＤＱＳに同期してリードデータＤＱを出力する半導体記憶装置１であって、リードデータの出力に先立って出力するリードプリアンブルの長さを指定するリードプリアンブルレジスタ７３と、リードコマンドの受付により動作を開始し、あらかじめ定められたリードデータの出力開始タイミングに先立ってリードプリアンブルレジスタ７３で指定される長さのリードプリアンブル信号を出力し、引き続いてリードデータの出力開始タイミングからデータストローブ端子２２にデータストローブ信号ＤＱＳを出力するデータストローブ信号出力制御部３２と、を備える。リードプリアンブルレジスタによって、リードプリアンブルの長さを変えることができるので、ＤＬＬやＰＬＬ等の同期回路を有しておらず、データスローブ信号の出力タイミングがばらつく場合であっても、そのばらつきに応じてリードプリアンブル信号長を長くすることができる。したがって、確実にリードプリアンブル期間にデータストローブ信号の検出を開始することができる。また、ばらつきの大きさにとクロック周波数との関係からリードプリアンブル長を変えることができるため、必要以上にリードプリアンブル長を長くして、データの伝送効率を低下させる恐れもない。
【００２５】
また、本発明の一実施形態の半導体記憶装置１は、図６に示すように、ＤＬＬ回路２４と、ＤＬＬ回路２４を用いてシステムクロックＣＫに対する位相を調整してリードデータを送出するＤＬＬ選択モードと、ＤＬＬ回路２４を用いないでシステムクロックを基準にしてリードデータを出力するＤＬＬ非選択モードと、を切り換えるＤＬＬ選択回路３１と、をさらに備え、ＤＬＬ選択モードとＤＬＬ非選択モードでリードコマンドが入力されてからリードデータ出力開始までのシステムクロックのクロック数の基準を変える。ＤＬＬ非選択モードでは、システムクロックから生成した内部クロックの位相が必ず遅延するので、その遅延した内部クロックから生成するデータストローブ信号の位相も遅れる。従って、その位相遅れを補償するようにリードデータ出力開始の基準となるクロックのエッジとしてより先行するエッジを選択することもできる。データプリアンブル信号は、そのリードデータ開始タイミングにさらに先行して出力する。
【００２６】
また、本発明の一実施形態による半導体記憶装置１は、例えば図６に示すように、リードデータ出力に先立つリードプリアンブルの長さが、ＤＬＬ選択回路３１がＤＬＬ非選択モードであるときにリードプリアンブルレジスタ７３で指定される長さであって、ＤＬＬ選択回路３１がＤＬＬ選択モードであるときにリードプリアンブルレジスタの値によらず固定した長さである。すなわち、ＤＬＬ選択モードと非選択モードを選択できる場合、ＤＬＬ選択モードでは、システムクロックに対するデータストローブ信号の位相誤差は少ないので、リードプリアンブル長は固定であってもよい。しかし、ＤＬＬ非選択モードで、ＤＬＬ回路を用いないときは、システムクロックＣＫ信号の対するデータストローブ信号の位相遅れのばらつきが大きくなるので、そのばらつきとクロック周波数との関係に合わせてリードプリアンブル期間を変えることができる。
【００２７】
また、本発明の一実施形態による半導体記憶装置１は、例えば図６に示すように、ＤＬＬ回路２４と、ＤＬＬ回路２４を用いてシステムクロックＣＫに対する位相を調整してリードデータを出力するＤＬＬ選択モードと、ＤＬＬ回路２４を用いないでシステムクロックＣＫを基準にしてリードデータを出力するＤＬＬ非選択モードと、を切り換えるＤＬＬ選択回路３１と、をさらに備え、リードデータ出力に先立つリードプリアンブルの長さが、ＤＬＬ選択回路３１がＤＬＬ非選択モードであるときにリードプリアンブルレジスタで指定される長さであって、ＤＬＬ選択回路３１がＤＬＬ選択モードであるときにリードプリアンブルレジスタの値によらず固定した長さである。
【００２８】
また、本発明の一実施形態による半導体記憶装置１は、例えば図６に示すように、データストローブ信号出力制御部３２は、リードデータの出力完了までシステムクロックＣＫに基づいてデータストローブ端子２２からデータストローブ信号ＤＱＳをトグル出力し、リードデータの出力が完了した後、ポストプリアンブル信号を出力し、その後、データストローブ端子を出力ハイインピーダンスの状態にしてリードデータの出力処理を完了させる
【００２９】
また、本発明の一実施形態による半導体記憶装置１のリードプリアンブル信号の制御方法は、外部から与えられたシステムクロックＣＫに同期して動作し、リードコマンド実行時にデータストローブ信号ＤＱＳをデータストローブ端子２２から出力すると共に、データストローブ信号ＤＱＳに同期してリードデータＤＱを出力し、ＤＬＬ回路２４を用いてシステムクロックＣＫに対する位相を調整してリードデータを出力するＤＬＬ選択モードと、ＤＬＬ回路を用いないで内部クロックを基準にしてリードデータを出力するＤＬＬ非選択モードと、を有し、リードデータの出力に先立って、リードプリアンブル信号をデータストローブ端子２２から出力する半導体記憶装置のリードプリアンブル信号の制御方法であって、ＤＬＬ選択モードよりＤＬＬ非選択モードのシステムクロック周期に対するリードプリアンブル信号長を長くする。すなわち、ＤＬＬ非選択モードにしてＤＬＬをオフさせれば、消費電力が低減できるが、リードデータの出力タイミングはばらつきが大きくなる。しかし、ＤＬＬ非選択モードにおいてシステムクロック周期に対するリードプリアンブル信号長を長く取ることにより、メモリコントローラはデータストローブ信号の検出開始時刻を適切に選択することができる。なお、ＤＬＬ非選択モードでは、システムクロック周期に対してリードプリアンブル信号長を長くしているので、ＤＬＬ選択モードに対するＤＬＬ非選択モードのシステムクロック周波数を変更せずに、又は大きく低下させることなく、リードプリアンブルをデータの受け手側で認識可能にできる。ＤＬＬ選択モードに対してＤＬＬ非選択モードでのリードデータ伝送速度を大きく低下させることがない。
【００３０】
また、本発明の一実施形態による半導体記憶装置１のリードプリアンブル信号の制御方法は、例えば図６、図９に示すように、半導体記憶装置１にリードプリアンブル信号長を指定するリードプリアンブルレジスタ７３を設け、リードプリアンブルレジスタ７３の設定値によりリードプリアンブル信号長を制御する。リードプリアンブルレジスタをメモリコンローラから設定できるようにすれば、半導体記憶装置１のデータ伝送開始タイミングのばらつき等を考慮して適切なリードプリアンブル長を決定することができる。リードプリアンブル長が長ければ、メモリコントローラがリードデータのデータ伝送開始タイミングを検出するのは容易になるが、不必要にリードプリアンブル長が長ければ、伝送効率の低下につながる。
【００３１】
また、本発明の一実施形態による半導体記憶装置１のリードプリアンブル信号の制御方法は、リードコマンドを与えてから最初のデータの出力を開始するまでのシステムクロックのクロック数であるＣＡＳレイテンシが大きいほど、リードプリアンブル信号長を長く設定する。システムクロックとデータストローブ信号との位相ずれは、システムクロックの周波数を高くして伝送レートを上げるほど相対的に大きくなる。従って、メモリコントローラがリードデータの伝送開始タイミングを正しく検出するためには、システムクロック周波数を高くしてレイテンシを上げるほどリードプリアンブル長を長く設定することが望ましい。
【００３２】
さらに、本発明の一実施形態によるデータ伝送システム５０は、例えば図５に示すように、コントローラ２と、システムクロックＣＫ０〜３が供給され、コントローラ２からの指示に応答してコントローラ２に対してデータの入出力を行う被制御装置１と、コントローラ２と被制御装置１とを接続し、データの入出力を行う伝送データ線ＤＱ０〜６３と、コントローラ２と被制御装置１とを接続する双方向の伝送クロック線ＤＱＳ０〜７で、コントローラ２が被制御装置１からデータの入力を行う際には、被制御装置１からコントローラ２に対してシステムクロックＣＫ０〜３から生成した伝送クロックを送出し、伝送データ線ＤＱ０〜６３に伝送クロックに同期して入力データを伝送するための伝送クロック線ＤＱＳ０〜７と、を備えたデータ伝送システム５０において、被制御装置１がコントローラ２にデータの伝送を開始するのに先立って伝送クロック線ＤＱＳ０〜７に出力するプリアンブル信号の長さを決めるプリアンブル長レジスタ７３を備え、コントローラ２は、あらかじめ被制御装置のプリアンブル長レジスタ７３を設定し、システムクロックの周波数と、プリアンブル長レジスタの設定値と、コントローラの指示に対する被制御装置の応答時間と、システムクロックに対する被制御装置が出力する伝送クロックの位相遅れのばらつきを考慮して、被制御装置に対するデータ入力の指示を与えてから被制御装置が送出する伝送クロックの検出を開始するまでの時間を決定する。半導体記憶装置はコントローラからの指示に応答してコントローラに対してデータの入出力を行う被制御装置であると考えられる。また、メモリコントローラと半導体記憶装置によって構成されるメモリシステムをシステムクロックに同期してコントローラから与えられる指示に同期してデータの入出力を行う被制御装置とコントローラとの間でデータ伝送を行うデータ伝送システムと考えることもできる。コントローラは、システムクロックに対して被制御装置が出力する伝送クロックの位相遅れのばらつき等を考慮して適切なタイミングで伝送クロックの検出を開始する。
【００３３】
また、本発明の一実施形態によるデータ伝送システム５０は、例えば図５に示すように、コントローラ２が、システムクロックＣＫ０〜３の周波数と、位相遅れのばらつきと、を考慮して、ばらつきが最大の場合と最小の場合でプリアンブル信号の送出期間が重なるようにプリアンブル長レジスタ７３を設定し、ばらつきが最小であってもプリアンブル信号の送出期間が終了する前に被制御装置が送出する伝送クロックの検出を開始する。被制御装置が出力する伝送クロックの位相ずれがあってもプリアンブル信号を出力しているタイミングでコントローラが伝送クロック信号のセンスを開始することによって、比較的簡単、かつ、確実にデータ伝送開始となる伝送クロックの最初のエッジを検出することができる。たとえば、プリアンブル信号送出の前から伝送クロック信号の検出を開始すると伝送クロック線は終端抵抗等が存在したとしてもハイインピーダンスの不安定な状態である。この状態でコントローラが伝送クロック線の電圧レベルの検出を開始するとノイズを誤って伝送クロックのトグル信号として検出してしまう恐れもある。
【００３４】
また、本発明の一実施形態によるデータ伝送システム５０は、ばらつきが最大であってもプリアンブル信号の送出期間が開始されてから被制御装置が送出する伝送クロックの検出を開始する。伝送クロック信号の位相遅れが最大（最遅）にばらついてもプリアンブル信号の創出期間が開始されたからプリアンブル信号（伝送クロック線）のセンスを開始すれば、伝送クロック線がハイインピーダンス状態のときのノイズを誤った伝送クロックとエッジとして検出してしまうことがない。
【００３５】
また、本発明の一実施形態によるデータ伝送システム５０は、ばらつきが最小の場合にプリアンブル信号の送出期間が終了する一定期間前に伝送クロック信号の検出を開始する。たとえば、コントローラが伝送クロックの検出のためにゲートをオープンにしておくことにより、コントローラの消費電力が増大することがある場合には、伝送クロック信号の検出開始はできるだけ遅らせたほうがよい。そうすると上記の検出開始時間となる。上記より検出開始を遅らせると最初のエッジが認識できない恐れが生じる。以下、実施例に即し、図面を参照して詳しく説明する。
【実施例１】
【００３６】
図５は、本発明の一実施例によるメモリシステム全体の構成図である。図５は、６４ビット並列読み出し書き込みのメモリシステムである。半導体記憶装置１は、８ビット並列読み出し書き込みであり、８個の半導体記憶装置１を並列に接続して６４ビット並列読み出し書き込みを行っている。また、図５のメモリシステムでは、２個のＤＩＭＭ（Ｄｕａｌ  Ｉｎｌｉｎｅ  Ｍｅｍｏｒｙ  Ｍｏｄｕｌｅ）にそれぞれ２ランクの半導体記憶装置１を実装した構成を想定している。すなわち、ＤＩＭＭ１  Ｒａｎｋ−１、ＤＩＭＭ１  Ｒａｎｋ−２、ＤＩＭＭ２  Ｒａｎｋ−１、ＤＩＭＭ２  Ｒａｎｋ−２の計４ランクの半導体記憶装置で構成され、各ランクは、さらに８個の半導体記憶装置１で構成されている。全部で４ランク＊８個＝３２個の半導体記憶装置１が実装されている。図５では、並列接続された８個の半導体記憶装置１のうち、３個の半導体記憶装置１のみを図示している。これらの３２個の半導体記憶装置１を制御する信号がメモリコントローラ２から与えられ、メモリコントローラとの間でデータの入出力を行う。
【００３７】
なお、図５では、メモリコントローラ２は各半導体記憶装置１に直接接続されているが、メモリコントローラ２と半導体記憶装置１との間には、ＤＩＭＭ毎にＰＬＬやバッファレジスタが配置され、ＤＩＭＭ毎にメモリコントローラとの間のタイミングの同期化を図るいわゆるＲｅｇｉｓｔｅｒｅｄ  ＤＩＭＭや、Ｆｕｌｌｙ  Ｂｕｆｆｅｒｅｄ  ＤＩＭＭ（ＦＢＤＩＭＭ）であってもよい。また、メモリコントローラ２は、メモリ制御専用の機能を持つＬＳＩでもよいし、ＣＰＵが直接メモリを制御するものであってもよい。また、メモリコントローラ２は、複数のＬＳＩで構成されてもよい。
【００３８】
図５において、ＡＤＲ、ＣＭＤはアドレス及びコマンド信号であり、メモリコントローラ２から各ランクの半導体記憶装置１に共通に接続される。なお、コマンド信号ＣＭＤには、ロウアドレスストローブ信号／ＲＡＳ、カラムアドレスストローブ信号／ＣＡＳ、ライトイネーブル信号／ＷＥが含まれる。ＤＱ０〜ＤＱ６３信号は、メモリコントローラ２と半導体記憶装置１との間でリードライトデータの転送等に用いられる双方向のデータ入出力信号である。半導体記憶装置１は８ビット並列入出力であることを想定しているので、ＤＱ０〜ＤＱ６３の６４ビットをカバーするため、８個の半導体記憶装置１が並列に接続されている。このＤＱ０〜ＤＱ６３のデータ入出力信号も各ランクに共通に接続される。また、ＤＱＳ０〜７信号、／ＤＱＳ０〜７信号は、それぞれ、差動のデータストローブ信号で、ライト動作時にはメモリコントローラ２から半導体記憶装置１へ、リード時には半導体記憶装置１からメモリコントローラ２へ転送するデータのストローブ信号であり、双方向の入出力信号である。なお、リード動作時に、半導体記憶装置１が出力するデータストローブ信号ＤＳＱ、／ＤＱＳ信号は、リードデータの変化点と同期しているので、メモリコントローラ２側でストローブ信号として用いるときは、データ信号のラッチできるタイミングに位相をずらして使用される。このデータストローブ信号ＤＱＳ０〜７、／ＤＱＳ０〜７も各ランクの半導体記憶装置に共通に接続される。ただし、各ランクに並列接続される８個の半導体記憶装置１には、それぞれ、独立したＤＱＳ信号と／ＤＱＳ信号が接続される。
【００３９】
また、クロック信号ＣＫ０〜３、／ＣＫ０〜３、クロックイネーブル信号ＣＫＥ０〜３、チップセレクト信号／ＣＳ０〜３、内蔵終端抵抗制御信号ＯＤＴ０〜３は、メモリコントローラ２から半導体記憶装置１へ出力される信号で、ランク毎に独立した別々の信号が出力される。クロック信号ＣＫ０〜３、／ＣＫ０〜３は半導体記憶装置１に対してシステムクロックとして与えられる信号であり、メモリコントローラ２から半導体記憶装置１に与えられるリードライト等のコマンドもこのシステムクロックに同期して与えられる。クロックイネーブル信号ＣＫＥ０〜３は、クロックＣＫが有効か無効かを決定する信号である。クロックＣＫの立ち上がりエッジでＣＫＥがハイレベルの場合、次のＣＫの立ち上がりエッジは有効である。それ以外の場合は無効となる。チップセレクト信号／ＣＳ０〜３は、ローレベルの場合コマンドの入力が有効となる。／ＣＳ０〜３がハイレベルの場合、コマンドは無視される。ただし、動作は続行される。このチッブセレクト信号を用いて複数のランクの半導体記憶装置１のうち、任意のランクの半導体記憶装置１に対してコマンドを与え、選択的にアクセスすることができる。さらに、内蔵終端抵抗制御信号ＯＤＴ０〜３は、各半導体記憶装置１に内蔵されている終端抵抗の値が無限大でないときに、その終端抵抗のオンオフを制御することができる。
【００４０】
図５において、各半導体記憶装置１は、リードプリアンブルレジスタ７３を備えている。後で詳しく説明するように、各半導体記憶装置１は、リードプリアンブルレジスタ７３を備えていることにより、リードデータ出力に先立ってデータストロープ信号線ＤＱＳ０〜７、／ＤＱＳ０〜７に出力するリードプリアンブル信号の長さを変えることができる。各半導体記憶装置１のリードプリアンブル信号のシステムクロック周期に対する長さを長くできれば、メモリコントローラ２は、各半導体記憶装置１がリードコマンド実行時に出力するデータストローブ信号ＤＱＳ０〜７、／ＤＱＳ０〜７のシステムクロックに対する位相ずれがばらついたとしても半導体記憶装置がリードコマンド実行時に出力するデータストローブ信号ＤＱＳ０〜７、／ＤＱＳ０〜７を誤り無く、かつ、容易に検出することができる長さにリードプリアンブル長を設定することができる。
【００４１】
また、メモリコントローラ２は、半導体記憶装置１に対してコマンドを与え、半導体記憶装置１のモードレジスタ等を設定し、リードライトデータの入出力を行うメモリ制御部４に加えて、ＤＱＳ信号検出開始時刻決定部５とプリアンブル長決定部６とを備えている。プリアンブル長決定部６は、リードコマンド実行時における半導体記憶装置１のシステムクロックに対するＤＱＳ信号の遅延時間のばらつきを考慮してリードプリアンブル長の長さを決定する。プリアンブル長決定部で決定された長さに基づいて、メモリ制御部４は半導体記憶装置１のリードプリアンブルレジスタ７３にリードプリアンブル長を設定する。プリアンブル長決定部６は、例えば、図３において、ｔＤＱＳＣＫｍａｘのリードプリアンブル期間とｔＤＱＳＣＫｍｉｎのリードプリアンブル期間が重なる期間（例えば図１のｔｓ〜ｔｅの期間）が生じるようにリードプリアンブルの長さを決定する。システムクロックＣＫの周波数及び半導体記憶装置のｔＤＱＳＣＫｍａｘ、ｔＤＱＳＣＫｍｉｎの値はあらかじめわかっているものとする。
【００４２】
また、システムの起動時や一定の時間間隔毎に、メモリコントローラ２は半導体記憶装置１に対して、データのリードテストを行い、ｔＤＱＳＣＫの値を測定し、その実測したｔＤＱＳＣＫｍａｘ、ｔＤＱＳＣＫｍｉｎの計測値によってリードプリアンブル長を決定してもよい。決定したリードプリアンブル長は、メモリ制御部４によってリードプリアンブルレジスタ７３に設定される。
【００４３】
ＤＱＳ信号検出開始時刻決定部５は、リードプリアンブルレジスタ７３に設定したリードプリアンブル長、ｔＤＱＳＣＫｍａｘ、ｔＤＱＳＣＫｍｉｎの値、システムクロックＣＫの周波数に基づいて、ｔＤＱＳＣＫｍｉｎの場合の最初のエツジ（図１におけるｔｅのタイミング）より以前にＤＱＳ信号の検出を開始するようにＤＱＳ信号検出開始時刻決定を決定し、メモリ制御部４はその決定に基づいて、ＤＱＳ信号の検出を開始する。なお、ＤＱＳ信号の検出開始時刻は、ｔＤＱＳＣＫｍａｘの場合にリードプリアンブル信号の出力を開始した後であることが望ましい（図１におけるｔｓ以降のタイミング）。図１におけるｔｓからｔｅの間にＤＱＳ信号の検出を開始することができれば、後の処理は、図２に示した図２の処理フローと同一の手順でリードデータを受信することができる。また、ＤＱＳ信号検出開始時刻決定部５が決定するＤＱＳ信号検出開始時刻は、図１におけるｔｓからｔｅの期間のうち、できるだけ遅い時間に開始することが望ましい。メモリコントローラがＤＱＳ信号を検出するためにゲートを開いている時間はそれだけ消費電力が増大するので、検出開始時刻を遅くすれば、それだけメモリコントローラの消費電力が低減できる。
【００４４】
なお、メモリコントローラ２が処理する機能のうち、リアルタイム性を要する処理（ＤＱＳ信号の検出とデータの読み込み等）はソフトウェア処理では追従が困難であるので、専用の回路を設けることになるが、ＤＱＳ信号検出開始時刻決定部５も、あらかじめ、リードコマンドを与えてからＤＱＳ信号検出を開始するまでの時間を決定してしまえば、後はその時間をメモリ制御部４に設定すればよいので、ＤＱＳ信号検出開始時刻決定部５、プリアンブル長決定部６は、リアルタイムの処理が要求されることはない。
【００４５】
次に、図６は、半導体記憶装置１全体の構成図である。図６において、１０はメモリセルアレイ、１１はロウアドレスをデコードし選択されたワード線を駆動するロウデコーダ、１２はセンスアンプ、１３はカラムアドレスをデコードし選択されたビット線を選択するカラムデコーダ、１４は、所定のアドレス信号と、コマンド信号（チップセレクト／ＣＳ、ロウアドレスストローブ／ＲＡＳ、カラムアドレスストローブ／ＣＡＳ、ライトイネーブル／ＷＥ）を入力し、コマンドをデコードするコマンドデコーダ、１５はコントロールロジック、１６はカラムアドレスバッファ・バーストカウンタ、１７はアドレスＡ０−Ａ１３とバンク選択用（８バンクの中の１つを選択）の信号ＢＡ０、ＢＡ１、ＢＡ２を入力するモードレジスタ、１８はロウアドレスバッファ、１９はリフレッシュ制御信号ＲＥＦＣを入力してカウントアップしカウント出力をリフレッシュアドレスとして出力するリフレッシュカウンタ回路、２０はクロック生成器、２１はリードライトデータを外部と入出力するためのデータ入出力端子（ＤＱ端子）、２４はＤＬＬ回路、２５は、ＤＬＬから与えられたクロック又は外部クロックから生成されたクロックを用いＤＱ端子とメモリセルアレイ１０との間でデータの入出力を行うデータ入出力部である。
【００４６】
また、モードレジスタ１７には、リードプリアンブルレジスタ７３の他に、図６では図示を省略しているＣＡＳレイテンシを指定するＣＡＳレイテンシ指定レジスタやＤＬＬ選択モードとＤＬＬ非選択モードとを切り換えるＤＬＬ選択レジスタが設けられている。このＤＬＬ選択レジスタの出力はＤＬＬ選択回路３１に入力され、ＤＱＳ出力制御回路３２に入力する内部クロックとして、ＤＬＬ回路２４により位相が調整されたクロックを用いるか、ＤＬＬ回路２４により位相が調整されていない位相が遅れた内部クロックをそのままＤＱＳ制御回路３２のクロックとして用いるか選択することができる。なお、ＤＬＬ非選択モードに設定されたときは、ＤＬＬ回路２４をオフし、ＤＬＬ回路２４が消費する消費電力を低減することができる。また、ＤＬＬ非選択モードに設定したときは、ＤＬＬ回路の電源が自動的にオフするようにしてもよい。さらに、ＤＬＬ選択モードと非選択モードとを動的に切り換える場合は、ＤＬＬをオンしてからＤＬＬが安定したロック状態になるまで時間を要するので、ＤＬＬ非選択モードからＤＬＬ選択モードに切り換える場合は、まずＤＬＬオフからＤＬＬオンの状態に切り替え、ＤＬＬがロックするまで待って（例えば、ＣＫ信号が５１２クロック）自動的にＤＬＬ非選択モードからＤＬＬ選択モードに切り換えるようにしてもよい。
【００４７】
また、データリード時に出力するストローブ信号ＤＱＳの出力を制御するＤＱＳ出力制御回路３２とＤＱＳ出力バッファ３３が設けられており、リードコマンド実行時には、ＤＱＳ出力制御回路３２でタイミングが調整され、リードプリアンブルレジスタ７３で指定される長さのリードプリアンブル信号を出力した後、ＤＱＳ出力バッファ３３で増幅されたＤＱＳ信号がＤＱＳ端子２２から出力される。また、ＤＱＳ信号の出力に同期してＤＱ端子２１からデータが出力される。また、ライトコマンド実行時には、ＤＱＳ端子２２からデータストローブ信号が入力され、ＤＱＳ入力バッファ３４により整形されたＤＱＳ信号に同期してＤＱ端子からデータ入出力部２５にデータが取り込まれる。
【００４８】
図７は、ＤＱＳ出力制御回路３２とその周辺部の回路ブロック図である。ＤＱＳ出力制御回路３２は、ＤＬＬ選択回路３１から内部クロックの供給を受けて動作する。また、ＤＱＳ出力制御回路３２には、リードプリアンブルレジスタ７３と、図示しないリードフラグと、ＣＡＳレイテンシ指定レジスタの出力信号が入力される、なお、リードフラグは、リードコマンドが入力されるとセットされ、リードデータの出力が完了するとリセットされる内部フラグである。また、ＤＱＳ出力制御回路３２の出力信号は、ＤＱＳ出力バッファ回路３３の他、データ入出力部２５のリードデータ出力のタイミング制御信号ともなっている。
【００４９】
図８は、ＤＱＳ出力制御回路３２の動作フローチャートである。ＤＱＳ出力制御回路３２は、リードコマンドが入力されるとセットされるリードフラグの検出によって処理を開始する（ステップＳ３１）。リードフラグのセットを検出すると内部クロックのカウントを開始する（ステップＳ３２）。ＣＡＳレイテンシ指定レジスタ等によりあらかじめ定められたリードデータ出力開始タイミングに先立つリードプリアンブルレジスタ７３で決められたリードプリアンブル信号出力タイミングが到来するまで内部クロックのカウントを継続し（ステップＳ３３）、プリアンブル信号出力タイミングまで内部クロックをカウントするとプリアンブル信号の出力を開始する（ステップＳ３４）。ＤＱＳ出力制御回路３２は内部クロックのカウントを継続し、ＣＡＳレイテンシ指定レジスタ等により定められたリードデータの出力タイミングが到来すると（ステップＳ３５）、ＤＱＳ信号のトグル出力を開始する。ＤＱＳ信号のトグルと共に、ＤＱ端子からはリードデータが出力される（ステップＳ３６）。このトグル動作は、所定のバースト長のリードデータ出力が完了するまで継続する（ステップＳ３７）。所定のバースト長のデータ出力が完了するとポストアンブル信号を出力し（ステップＳ３８）、ポストアンプル信号の出力が完了すると（ステップＳ３９）、ＤＱＳ端子をハイインピーダンスの状態に戻し、リードデータの出力処理を完了させる（ステップＳ４０）。
【００５０】
図９は、リードプリアンブルレジスタ７３の機能的な構成図である。図９のように、リードプリアンブルレジスタ７３を３ビット構成のレジスタとすれば、最大８通りのリードプリアンブル長を選択することが可能である。図９では、リードプリアンブル長レジスタの設定により、リードプリアンブル長をシステムクロック１周期（１ｔＣＫ）から５周期（５ｔＣＫ）まで５通り選べるようにしている。また、リードプリアンブル長は、システムクロックの１周期毎でなくとも半周期単位でも選択することが可能である。
【００５１】
図１０は、図３と同じ条件において、図９のリードプリアンブルレジスタ指定値にビットＡｚ＝０、ビットＡｙ＝０、ビットＡｘ＝１をセットし、リードプリアンブル長をシステムクロック２周期分（２ｔＣＫ）とした場合のリードコマンド実行時のタイミング図である。システムクロックｔＣＫの平均周期ｔＣＫａｖｅ＝１８７５ｐｓであるから、リードプリアンブル長ｔＲＰＲＥ＝２．０ｔＣＫ＝３７５０ｐｓとなる。また、ｔＤＱＳＣＫｍａｘとｔＤＱＳＣＫｍｉｎの時間差ｔＤＱＳＣＫｗｉｎｄｏｗ＝ｔＤＱＳＣＫｍａｘ−ｔＤＱＳＣＫｍｉｎ＝３０００ｐｓであるから、ｔＲＰＲＥ＞ｔＤＱＳＣＫｗｉｎｄｏｗとなる。このｔＲＰＲＥ＞ｔＤＱＳＣＫｗｉｎｄｏｗの関係を満たせば、ｔＲＰＲＥ−ｔＤＱＳＣＫｗｉｎｄｏｗの時間だけ、ｔＤＱＳＣＫｍｉｎのプリアンブルが終了する前にｔＤＱＳＣＫｍａｘがプリアンブルに入ることになる。すなわち、ｔＤＱＳＣＫｍａｘとｔＤＱＳＣＫｍｉｎのプリアンブル期間がオーバーラップする時間の長さをｔｓｅとすると、以下の（２）式が成立する。
【００５２】
ｔｓｅ＝ｔＲＰＲＥ−（ｔＤＱＳＣＫｍａｘ−ｔＤＱＳＣＫｍｉｎ）  （２）式
【００５３】
すなわち、メモリコントローラのプリアンブル長決定部６はｔｓｅ＞０となるようにリードプリアンブル期間ｔＲＰＲＥを決定すればよい。ちなみに図１０においては、ｔｓｅ＝３７５０ｐｓ−３０００ｐｓ＝７５０ｐｓとなる。したがって、この期間、図１０でｔｓからｔｅまでのタイミングでメモリコントローラ２がＤＱＳ信号の検出を開始することが望ましい。メモリコントローラ２のＤＱＳ信号検出開始時刻決定部５は、ｔｓ以降ｔｅまでのタイミングでＤＱＳ信号の検出を開始するようにＤＱＳ信号検出開始時刻を決定する。
【００５４】
なお、上記実施例において、メモリコントローラ２をデータ伝送を制御するコントローラ、半導体記憶装置１をコントローラからの指示に応答してコントローラに対してデータの入出力を行う被制御装置、ＤＱバスをコントローラと被制御装置とを接続しデータの入出力を行う伝送データ線、ＤＱＳ信号線をコントローラと被制御装置とを接続する双方向の伝送クロック線でコントローラが被制御装置からデータの入力を行う際には、被制御装置からコントローラに対してシステムクロックから生成した伝送クロックを送出し、データ伝送線に伝送クロックに同期して入力データを伝送するための伝送クロック線、リードプリアンブルレジスタを被制御装置がコントローラにデータの伝送を開始するのに先立って伝送クロック線に出力するプリアンブル信号の長さを決めるプリアンブル長レジスタと考えれば、本発明は、メモリシステム５０に限定されるものではなく、半導体記憶装置以外の被制御装置とコントローラとのデータ伝送システムに適用できることは言うまでもない。
【００５５】
以上、本発明を実施例に即して説明したが、本発明は上記実施例の構成にのみ制限されるものでなく、本発明の範囲内で当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【００５６】
１：半導体記憶装置（被制御装置）
２：メモリコントローラ（コントローラ）
４：メモリ制御部
５：ＤＱＳ信号検出開始時刻決定部
６：プリアンブル長決定部
１０：メモリセルアレイ
１１：ロウデコーダ
１２：センスアンプ
１３：カラムデコーダ
１４：コマンドデコーダ
１５：コントロールロジック
１６：カラムアドレスバッファ・バーストカウンタ
１７：モードレジスタ
１８：ロウアドレスバッファ
１９：リフレッシュカウンタ回路
２０：クロック生成器
２１：データ入出力端子（ＤＱ端子）
２２：データストローブ端子（ＤＱＳ端子）
２４：ＤＬＬ回路
２５：データ入出力部
３１：ＤＬＬ選択回路
３２：ＤＱＳ出力制御回路
３３：ＤＱＳ出力バッファ
３４：ＤＱＳ入力バッファ
５０：メモリシステム（データ伝送システム）
７３：リードプリアンブルレジスタ
【図１】
2010170597.tif 000003
【図２】
2010170597.tif 000004
【図３】
2010170597.tif 000005
【図４】
2010170597.tif 000006
【図５】
2010170597.tif 000007
【図６】
2010170597.tif 000008
【図７】
2010170597.tif 000009
【図８】
2010170597.tif 000010
【図９】
2010170597.tif 000011
【図１０】
2010170597.tif 000012