(57)【要約】【課題】同一のランクグループ内の複数のメモリデバイスのそれぞれから供給されるデータ信号を制御デバイスで取り込むときの取り込みマージンを向上する。【解決手段】制御デバイスは、複数のメモリデバイスのデータストローブ端子に共通に接続されたデータストローブ入力端子を備え、複数のメモリデバイスのそれぞれに対応する互いに独立な複数のデータストローブ遅延情報を保持し、複数のメモリデバイスのうちの１つのメモリデバイスから供給されたデータストローブ信号の位相を、複数のデータストローブ遅延情報のうちの当該１つのメモリデバイスに対応するデータストローブ遅延情報に応じて調整し、データストローブ入力端子を介して当該１つのメモリデバイスから受信したデータ信号を調整後のデータストローブ信号に応じてラッチする。【選択図】図４
2013232152.tif 000002
【特許請求の範囲】
【請求項１】
複数のメモリデバイスのデータストローブ端子に共通に接続されたデータストローブ入力端子と、
前記複数のメモリデバイスのそれぞれに対応する互いに独立な複数のデータストローブ遅延情報を保持するデータ入力ユニットと、を備え、
前記データ入力ユニットは、前記複数のメモリデバイスのうちの１つのメモリデバイスから供給されたデータストローブ信号の位相を前記複数のデータストローブ遅延情報のうちの前記１つのメモリデバイスに対応するデータストローブ遅延情報に応じて調整し、前記データストローブ入力端子を介して前記１つのメモリデバイスから受信したデータ信号を前記調整後の前記データストローブ信号に応じてラッチする、制御デバイス。
【請求項２】
前記複数のメモリデバイスは、チップセレクト信号により区別される複数のメモリランクのうちの異なるメモリランクにそれぞれ属する、請求項１に記載の制御デバイス。
【請求項３】
前記データ入力ユニットは、前記複数のメモリランクのそれぞれに対するデータストローブ信号の遅延量を示す情報を、前記複数のデータストローブ遅延情報として保持する、請求項２に記載の制御デバイス。
【請求項４】
前記複数のメモリランクのうちのいずれかを選択するランクイネーブル信号を前記データ入力ユニットに供給するとともに、選択したメモリランクに属するメモリデバイスに対して、前記ランクイネーブル信号をチップセレクト信号として供給する制御ユニットを備える、請求項２または３に記載の制御デバイス。
【請求項５】
前記データ入力ユニットは、
前記複数のメモリランクのそれぞれに対応して設けられ、前記データストローブ信号を受信して位相を調整して出力する複数のＤＱＳ位相調整器と、
前記ランクイネーブル信号により選択されたメモリランクに対するＤＱＳ位相調整器から出力された位相調整後の前記データストローブ信号の立ち上がりエッジまたは立ち下がりエッジに同期して前記データ信号をラッチするフリップフロップと、
前記選択されたメモリランクに対するＤＱＳ位相調整器における位相の調整量を前記フリップフロップの出力信号に基づいて決定するＤＱＳ位相判定器と、を備え、
前記選択されたメモリランクに対するＤＱＳ位相調整器は、前記ＤＱＳ位相判定器によって決定された前記調整量に応じて前記データストローブ信号の位相を調整する、請求項４に記載の制御デバイス。
【請求項６】
前記ＤＱＳ位相判定器は、
クロック信号に応じてカウント動作を行うカウンタと、
前記フリップフロップから出力された信号が第１のレベルから第２のレベルに遷移したときの前記カウンタのカウント値を保持する第１のレジスタと、
前記フリップフロップから出力された信号が前記第２のレベルから前記第１のレベルに遷移したときの前記カウンタのカウント値を保持する第２のレジスタと、を備え、
前記第１のレジスタが保持するカウント値と前記第２のレジスタが保持するカウント値との平均値を算出する演算論理回路と、を備え、
前記平均値に基づいて前記調整量を決定する、請求項５に記載の制御デバイス。
【請求項７】
前記データ入力ユニットは、
前記複数のメモリランクのそれぞれに対応して設けられ、前記データストローブ信号を受信して位相を調整して出力する複数のＤＱＳ位相調整器と、
前記ランクイネーブル信号により選択されたメモリランクに対するＤＱＳ位相調整器から出力された位相調整後の前記データストローブ信号の立ち上がりエッジまたは立ち下がりエッジに同期して、複数の前記データ信号をそれぞれラッチする複数のフリップフロップと、
前記選択されたメモリランクに対するＤＱＳ位相調整器における位相の調整量を前記複数のフリップフロップの出力信号に基づいて決定するＤＱＳ位相判定器と、を備え、
前記選択されたメモリランクに対するＤＱＳ位相調整器は、前記ＤＱＳ位相判定器によって決定された前記調整量に応じて前記データストローブ信号の位相を調整する、請求項４に記載の制御デバイス。
【請求項８】
前記ＤＱＳ位相判定器は、
クロック信号に応じてカウント動作を行うカウンタと、
前記複数のフリップフロップのうちの選択されたフリップフロップから出力された信号が第１のレベルから第２のレベルに遷移したときの前記カウンタのカウント値を保持する第１のレジスタと、
前記選択されたフリップフロップから出力された信号が前記第２のレベルから前記第１のレベルに遷移したときの前記カウンタのカウント値を保持する第２のレジスタと、を備え、
前記第１のレジスタが保持するカウント値と前記第２のレジスタが保持するカウント値との平均値を算出する演算論理回路と、を備え、
前記複数のフリップフロップのそれぞれに対する前記平均値の平均値に基づいて前記調整量を決定する、請求項７に記載の制御デバイス。
【請求項９】
前記複数のＤＱＳ位相調整器は、それぞれ、
前記データストローブ信号を互いに異なる複数の遅延時間だけ遅延させて出力する複数の遅延ラインを備え、
前記複数の遅延ラインのうちのいずれか１つの遅延ラインから出力された信号を前記フリップフロップまたは前記複数のフリップフロップに出力する、請求項５ないし８のいずれか１項に記載の制御デバイス。
【請求項１０】
前記複数のＤＱＳ位相調整器は、それぞれ、
前記ランクイネーブル信号を受信するとともに、クロック信号に応じてシフトさせつつ保持するシフトレジスタを備え、
前記シフトレジスタの各段が保持する信号に応じて、前記複数の遅延ラインのうちのいずれか１つの遅延ラインを選択し、選択した遅延ラインから出力された信号を前記フリップフロップまたは前記複数のフリップフロップに出力する、請求項９に記載の制御デバイス。
【請求項１１】
複数のメモリデバイスを有するメモリモジュールと、
前記メモリモジュールを制御する制御デバイスと、を備え、
前記制御デバイスは、前記複数のメモリデバイスのデータストローブ端子に共通に接続されたデータストローブ入力端子と、
前記複数のメモリデバイスのそれぞれに対応する互いに独立な複数のデータストローブ遅延情報を保持するデータ入力ユニットと、を備え、
前記データ入力ユニットは、前記複数のメモリデバイスのうちの１つのメモリデバイスから供給されたデータストローブ信号の位相を前記複数のデータストローブ遅延情報のうちの前記１つのメモリデバイスに対応するデータストローブ遅延情報に応じて調整し、前記データストローブ入力端子を介して前記１つのメモリデバイスから受信したデータ信号を前記調整後の前記データストローブ信号に応じてラッチする、メモリシステム。
【請求項１２】
前記複数のメモリデバイスは、チップセレクト信号により区別される複数のメモリランクのうちの異なるメモリランクにそれぞれ属する、請求項１１に記載のメモリシステム。
【請求項１３】
前記データ入力ユニットは、前記複数のメモリランクのそれぞれに対するデータストローブ遅延情報を、前記複数のデータストローブ遅延情報として保持する、請求項１２に記載のメモリシステム。
【請求項１４】
前記制御デバイスは、前記複数のメモリランクのうちのいずれかを選択するランクイネーブル信号を前記データ入力ユニットに供給するとともに、選択したメモリランクに属するメモリデバイスに対して、前記ランクイネーブル信号をチップセレクト信号として供給する制御ユニットを備える、請求項１２または１３に記載のメモリシステム。
【請求項１５】
前記データ入力ユニットは、
前記複数のメモリランクのそれぞれに対応して設けられ、前記データストローブ信号を受信して位相を調整して出力する複数のＤＱＳ位相調整器と、
前記ランクイネーブル信号により選択されたメモリランクに対するＤＱＳ位相調整器から出力された位相調整後の前記データストローブ信号の立ち上がりエッジまたは立ち下がりエッジに同期して前記データ信号をラッチするフリップフロップと、
前記選択されたメモリランクに対するＤＱＳ位相調整器における位相の調整量を前記フリップフロップの出力信号に基づいて決定するＤＱＳ位相判定器と、を備え、
前記選択されたメモリランクに対するＤＱＳ位相調整器は、前記ＤＱＳ位相判定器によって決定された前記調整量に応じて前記データストローブ信号の位相を調整する、請求項１４に記載のメモリシステム。
【請求項１６】
前記データ入力ユニットは、
前記複数のメモリランクのそれぞれに対応して設けられ、前記データストローブ信号を受信して位相を調整して出力する複数のＤＱＳ位相調整器と、
前記ランクイネーブル信号により選択されたメモリランクに対するＤＱＳ位相調整器から出力された位相調整後の前記データストローブ信号の立ち上がりエッジまたは立ち下がりエッジに同期して、複数の前記データ信号をそれぞれラッチする複数のフリップフロップと、
前記選択されたメモリランクに対するＤＱＳ位相調整器における位相の調整量を前記複数のフリップフロップの出力信号に基づいて決定するＤＱＳ位相判定器と、を備え、
前記選択されたメモリランクに対するＤＱＳ位相調整器は、前記ＤＱＳ位相判定器によって決定された前記調整量に応じて前記データストローブ信号の位相を調整する、請求項１４に記載のメモリシステム。
【請求項１７】
複数のメモリデバイスと、
前記複数のメモリデバイスを制御する制御デバイスと、を備え、
前記制御デバイスは、前記複数のメモリデバイスのデータストローブ端子に共通に接続されたデータストローブ入力端子と、
前記複数のメモリデバイスのそれぞれに対応する互いに独立な複数のデータストローブ遅延情報を保持するデータ入力ユニットと、を備え、
前記データ入力ユニットは、前記複数のメモリデバイスのうちの１つのメモリデバイスから供給されたデータストローブ信号の位相を前記複数のデータストローブ遅延情報のうちの前記１つのメモリデバイスに対応するデータストローブ遅延情報に応じて調整し、前記データストローブ入力端子を介して前記１つのメモリデバイスから受信したデータ信号を前記調整後の前記データストローブ信号に応じてラッチする、メモリモジュール。
【請求項１８】
前記複数のメモリデバイスは、チップセレクト信号により区別される複数のメモリランクのうちの異なるメモリランクにそれぞれ属する、請求項１７に記載のメモリモジュール。
【請求項１９】
前記データ入力ユニットは、前記複数のメモリランクのそれぞれに対するデータストローブ遅延情報を、前記複数のデータストローブ遅延情報として保持する、請求項１８に記載のメモリモジュール。
【請求項２０】
前記制御デバイスは、前記複数のメモリランクのうちのいずれかを選択するランクイネーブル信号を前記データ入力ユニットに供給するとともに、選択したメモリランクに属するメモリデバイスに対して、前記ランクイネーブル信号をチップセレクト信号として供給する制御ユニットを備える、請求項１８または１９に記載のメモリモジュール。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御デバイス、メモリシステムおよびメモリモジュールに関し、例えば、多ランクのメモリデバイスを搭載したメモリモジュールを有するメモリシステムにおいてデータストローブ信号のトレーニングを行う制御デバイス、制御デバイスを備えたメモリシステム、および、メモリモジュールに関する。
【背景技術】
【０００２】
特許文献１には、ＤＤＲ２−ＳＤＲＡＭ（Double Data Rate 2 Synchronous Dynamic Random Access Memory）から供給されるデータストローブ信号を可変遅延回路で遅延して、ＤＤＲ２−ＳＤＲＡＭから供給されるデータを取り込むタイミングを調整するメモリインターフェース制御回路が記載されている。
【０００３】
特許文献２には、半導体メモリ装置の非同期オンダイターミネーション（ＯＤＴ：On Die Termination、終端抵抗）のトレーニングについて記載されている。また、同文献には、複数のメモリランクを含むメモリモジュールについても記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−２７６３９６号公報
【特許文献２】特開２０１１−１７６８１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
以下の分析は、本発明者によってなされたものである。
【０００６】
複数のメモリランクを含むメモリモジュールとメモリコントローラ等の制御デバイスを含むメモリシステムにおいて、制御デバイスは、同一ランクグループに属する複数のメモリデバイス、すなわち、データ端子やデータストローブ端子が共通に接続された複数のメモリデバイスのデータストローブ信号のシフト量を、同一ランクグループに属する複数のメモリデバイスのうちの１つについてのみトレーニングを実施することで決定していた。
【０００７】
しかしながら、この方法では、ランクグループ内の複数のメモリデバイスと制御デイバス間の転送遅延量を正確に再現できていないため、制御デバイスでのデータ取り込み時のマージンが減少するおそれがあった。
【０００８】
特許文献１には、メモリインターフェース回路が搭載されたＬＳＩ（Large Scale Integration）と複数のＤＤＲ２−ＳＤＲＡＭとの配置関係、具体的には、ＬＳＩの近端と遠端とに配置されたＤＤＲ２−ＳＤＲＡＭについて、データストローブ信号ＤＱＳの遅延量を個別に調整することが記載されている。しかしながら、近端（または遠端）に複数のＤＤＲ２−ＳＤＲＡＭが配置された場合に、各々に対して、データストローブ信号ＤＱＳのトレーニングを実施することは記載されていない。
【０００９】
また、特許文献２には、複数のメモリランクを含むメモリモジュールについて記載されているが、データストローブ信号のトレーニングについては何ら記載されていない。また、特許文献２では、ＯＤＴ信号のトレーニングを実施しているが、複数のメモリランクに共通にＯＤＴ信号を供給するものであり、ランクグループ内の複数のメモリの各々について個別にＯＤＴ信号のトレーニングをするものではない。
【課題を解決するための手段】
【００１０】
本発明の第１の視点に係る制御デバイスは、
複数のメモリデバイスのデータストローブ端子に共通に接続されたデータストローブ入力端子と、
前記複数のメモリデバイスのそれぞれに対応する互いに独立な複数のデータストローブ遅延情報を保持するデータ入力ユニットと、を備え、
前記データ入力ユニットは、前記複数のメモリデバイスのうちの１つのメモリデバイスから供給されたデータストローブ信号の位相を前記複数のデータストローブ遅延情報のうちの前記１つのメモリデバイスに対応するデータストローブ遅延情報に応じて調整し、前記データストローブ入力端子を介して前記１つのメモリデバイスから受信したデータ信号を前記調整後の前記データストローブ信号に応じてラッチする。
【００１１】
本発明の第２の視点に係るメモリシステムは、
複数のメモリデバイスを有するメモリモジュールと、
前記メモリモジュールを制御する制御デバイスと、を備え、
前記制御デバイスは、前記複数のメモリデバイスのデータストローブ端子に共通に接続されたデータストローブ入力端子と、
前記複数のメモリデバイスのそれぞれに対応する互いに独立な複数のデータストローブ遅延情報を保持するデータ入力ユニットと、を備え、
前記データ入力ユニットは、前記複数のメモリデバイスのうちの１つのメモリデバイスから供給されたデータストローブ信号の位相を前記複数のデータストローブ遅延情報のうちの前記１つのメモリデバイスに対応するデータストローブ遅延情報に応じて調整し、前記データストローブ入力端子を介して前記１つのメモリデバイスから受信したデータ信号を前記調整後の前記データストローブ信号に応じてラッチする。
【００１２】
本発明の第３の視点に係るメモリモジュールは、
複数のメモリデバイスと、
前記複数のメモリデバイスを制御する制御デバイスと、を備え、
前記制御デバイスは、前記複数のメモリデバイスのデータストローブ端子に共通に接続されたデータストローブ入力端子と、
前記複数のメモリデバイスのそれぞれに対応する互いに独立な複数のデータストローブ遅延情報を保持するデータ入力ユニットと、を備え、
前記データ入力ユニットは、前記複数のメモリデバイスのうちの１つのメモリデバイスから供給されたデータストローブ信号の位相を前記複数のデータストローブ遅延情報のうちの前記１つのメモリデバイスに対応するデータストローブ遅延情報に応じて調整し、前記データストローブ入力端子を介して前記１つのメモリデバイスから受信したデータ信号を前記調整後の前記データストローブ信号に応じてラッチする。
【発明の効果】
【００１３】
本発明に係る制御デバイス、メモリシステムおよびメモリモジュールによると、同一のランクグループ内の複数のメモリの各々から供給されるデータを、制御デバイスで取り込むときの取り込みマージンを向上することができる。
【図面の簡単な説明】
【００１４】
【図１】メモリシステムの構成の概要を一例として示す図である。
【図２】第１の実施形態に係るメモリシステムにおけるメモリランクを示す図である。
【図３】第１の実施形態に係るメモリシステムにおけるメモリデバイスの構成を一例として示すブロック図である。
【図４】第１の実施形態に係るメモリシステムにおける制御デバイスの構成を一例として示すブロック図である。
【図５】第１の実施形態に係るメモリシステムにおけるデータ入力部の構成を一例として示すブロック図である。
【図６】第１の実施形態に係るメモリシステムにおけるＤＱＳ位相調整器の構成を一例として示すブロック図である。
【図７】第１の実施形態に係るメモリシステムにおけるＤＱＳ位相判定器の構成を一例として示すブロック図である。
【図８】第１の実施形態に係るメモリシステムにおける制御デバイスの動作を一例として示すフロー図である。
【図９】第１の実施形態に係るメモリシステムにおける制御デバイスの動作を説明するための波形図である。
【図１０】第２の実施形態に係るメモリシステムにおけるデータ入力部の構成を一例として示すブロック図である。
【図１１】第２の実施形態に係るメモリシステムにおけるＤＱＳ位相判定器の構成を一例として示すブロック図である。
【図１２】第３の実施形態に係るメモリシステムにおけるデータ入力部の構成を一例として示すブロック図である。
【図１３】変形例に係るメモリシステムにおけるメモリランクを示す図である。
【発明を実施するための形態】
【００１５】
はじめに、一実施形態に係るメモリシステムの概要について説明する。なお、この概要に付記する図面参照符号は、専ら理解を助けるための例示であり、本発明を図示の態様に限定することを意図するものではない。
【００１６】
図４は、一実施形態に係るメモリシステムの構成を一例として示すブロック図である。図４を参照すると、メモリシステムは、メモリモジュール（４１）および制御デバイス（４２）を備える。
【００１７】
制御デバイス（４２）は、同一のランクグループに属する複数のメモリデバイス、すなわち、データ端子やデータストローブ端子が共通に接続された複数のメモリデバイスのデータストローブ端子（ＤＱＳ）に共通に接続されたデータストローブ入力端子を有する。また、制御デバイス（４２）は、当該複数のメモリデバイスの各々に対応する複数のデータストローブ遅延情報であって互いに独立な複数のデータストローブ遅延情報を保持する。さらに、制御デバイス（４２）は、当該複数のメモリデバイスのうちの１つのメモリデバイスからデータが供給されるときに、当該１つのメモリデバイスから供給されるデータストローブ信号を、当該１つのメモリデバイスに対応するデータストローブ遅延情報に応じて遅らせ、当該１つのメモリデバイスから供給されるデータを自身に取り込むタイミングを調整する。
【００１８】
かかるメモリシステムによると、同一ランクグループに属する複数のメモリデバイスのそれぞれについて、独立にデータストローブ信号の位相を調整することができるため、同一のランクグループ内の複数のメモリの各々から供給されるデータを、制御デバイスで取り込むときの取り込みマージンを向上させることができる。
【００１９】
（実施形態１）
第１の実施形態に係るメモリシステムについて、図面を参照して説明する。図１は、本実施形態に係るメモリシステムの構成の概要を例示する図である。
【００２０】
図１（ａ）は、ＲＤＩＭＭ（Registered Dual Inline Memory Module）規格に準拠したメモリシステムの構成を一例として示すブロック図である。図１（ａ）を参照すると、メモリシステムは、メモリモジュールおよびメモリコントローラ１３を備える。メモリモジュールは、モジュール基板１１、複数のメモリデバイス（例えば、ＤＲＡＭ）、および、レジスタ１２（ＰＬＬを含む）を備える。各メモリデバイスは、複数のランクグループＲＧ０〜ＲＧ８のいずれかに属する。ランクグループについては、図２を参照しつつ後述する。
【００２１】
図１（ａ）において、コマンドアドレス（Command/Address）信号ＣＡは、複数のランクグループＲＧ０〜ＲＧ８に属するメモリデバイスに対して共通に供給されている。一方、データ信号ＤＱおよびデータストローブ信号ＤＱＳ、ＤＱＳ＃は、ランクグループごとにメモリコントローラ１３に個別に接続されている。
【００２２】
図１（ａ）に示したＲＤＩＭＭメモリシステムでは、データ信号ＤＱは、メモリデバイス（例えば、ＤＲＡＭ）とメモリコントローラ１３との間で直接やり取りされる。メモリデバイスからの読み出し時には、メモリデバイスはデータ信号ＤＱおよびデータストローブ信号ＤＱＳを同位相でメモリコントローラ１３に出力する。メモリコントローラ１３は、データストローブ信号ＤＱＳの位相を９０度遅らせるとともに、位相を遅延させたデータストローブ信号ＤＱＳの立ち上がりエッジまたは立ち下がりエッジにおいてデータ信号ＤＱデータをラッチする。なお、ＵＤＩＭＭ（Unbuffered DIMM）規格またはＳＯＤＩＭＭ（Small Outline DIMM）規格に準拠したメモリシステムにおいても、同様の読み出し動作が行われる。
【００２３】
図１（ｂ）は、ＬＲＤＩＭＭ（Load Reduced DIMM）規格に準拠したメモリシステムの構成を一例として示すブロック図である。図１（ｂ）を参照すると、メモリシステムは、メモリモジュールおよびメモリコントローラ１７を備える。メモリモジュールは、モジュール基板１５、複数のメモリデバイス（例えば、ＤＲＡＭ）、および、メモリバッファ１６を備える。各メモリデバイスは、複数のランクグループＲＧ０〜ＲＧ８のいずれかに属する。
【００２４】
図１（ｂ）においても、コマンドアドレス（Command/Address）信号ＣＡは、複数のランクグループＲＧ０〜ＲＧ８に属するメモリデバイスに対して共通に供給されている。一方、データ信号ＤＱおよびデータストローブ信号ＤＱＳ、ＤＱＳ＃は、ランクグループごとにメモリバッファ１６に個別に接続されている。
【００２５】
図１（ｂ）に示したＬＲＤＩＭＭ方式では、メモリデバイス（例えばＤＲＡＭ）のデータ信号ＤＱを直接やり取りするのは、メモリバッファ１６となる。この点については、ＦＢＤＩＭＭ（Fully Buffered DIMM）規格に準拠したメモリシステムと同様である。メモリデバイスからの読み出し時には、メモリデバイスはデータ信号ＤＱおよびデータストローブ信号ＤＱＳを同位相でメモリバッファ１６に出力する。メモリバッファ１６は、データストローブ信号ＤＱＳの位相を９０度遅らせるとともに、位相を遅延させたデータストローブ信号ＤＱＳの立ち上がりエッジまたは立ち下がりエッジにおいてデータ信号ＤＱをラッチする。なお、ＦＢＤＩＭＭ規格に準拠したメモリシステムにおいても、同様の読み出し動作が行われる。
【００２６】
図２は、本実施形態に係るメモリシステムにおけるメモリランクについて説明するための図である。図２（ａ）は、図１（ａ）に示したメモリシステムの断面図である。一方、図２（ｂ）は、図１（ａ）に示したメモリシステムの平面図である。図２（ａ）、（ｂ）は、一例として、メモリデバイス（例えばＤＲＡＭ）を２個ずつ含むデュアルダイパッケージ（ＤＤＰ：Dual Die Package）をモジュール基板１１の両面に備えたメモリシステムを示す。
【００２７】
図２（ａ）および図２（ｂ）を参照すると、モジュール基板１１の一方の面には９個のＤＤＰ  Ｄ０ａ〜Ｄ８ａが設けられ、他方の面には９個のＤＤＰ  Ｄ０ｂ〜Ｄ８ｂが設けられている。また、図２に示したメモリシステムは、４つのメモリランクＲ０〜Ｒ３を有する。図２（ａ）を参照すると、ＤＤＰ  Ｄｍａ（ｍ＝０〜８）は、メモリランクＲ０のメモリデバイスとメモリランクＲ２のメモリデバイスを有する。同様に、ＤＤＰ  Ｄｍｂ（ｍ＝０〜８）は、メモリランクＲ１のメモリデバイスとメモリランクＲ３のメモリデバイスを有する。
【００２８】
ここで、メモリランクとは、チップセレクト信号によって選択的に駆動される複数のメモリデバイスから成る組を表す。例えば、メモリランクＲ０に属する９個のメモリデバイスは、図示しないチップセレクト信号ＣＳ０を受信するとともに、チップセレクト信号ＣＳ０に応答して選択的に駆動される。同様に、メモリランクＲｎ（ｎ＝１〜３）に属する９個のメモリデバイスは、図示しないチップセレクト信号ＣＳｎを受信するとともに、チップセレクト信号ＣＳｎに応答して選択的に駆動される。
【００２９】
図２（ｂ）を参照すると、メモリシステムは、９つのランクグループＲＧ０〜ＲＧ８を有する。図２（ａ）を参照すると、ランクグループＲＧｍ（ｍ＝０〜８）は、それぞれ、異なるメモリランクＲ０〜Ｒ３に属する４個のメモリデバイスを含む。
【００３０】
ここで、ランクグループとは、図２（ａ）に示すように、データ端子ＤＱおよびデータストローブ端子ＤＱＳが互いに共通に制御デバイスに接続された、複数のメモリデバイスの組をいう。図１（ａ）を参照すると、同一のランクグループに含まれる４個のメモリデバイスのデータ端子ＤＱおよびデータストローブ端子ＤＱＳは、制御デバイスに相当するメモリコントローラ１３に対して、いずれも共通に接続されている。同様に、図１（ｂ）を参照すると、同一のランクグループに含まれる４個のメモリデバイスのデータ端子ＤＱおよびデータストローブ端子ＤＱＳは、制御デバイスに相当するメモリバッファ１６に対して、いずれも共通に接続されている。
【００３１】
図３は、本実施形態に係るメモリシステムのメモリモジュールに搭載されたメモリデバイス３１の構成を一例として示すブロック図である。図３を参照すると、メモリデバイス３１は、複数のメモリセルが行列状に配置されたメモリセルアレイ３２と、メモリセルアレイ３２に含まれるメモリセルへのデータの書き込み、および、メモリセルからのデータの読み出しを制御するリードライト制御回路３３と、データストローブ信号（ＤＱＳ）出力回路３４と、データ出力回路３５とを備える。また、メモリデバイス３１は、クロック信号ＣＬＫ、チップセレクト信号ＣＳｎ、および、コマンドアドレス信号ＣＡを受信し、データストローブ信号ＤＱＳ、ＤＱＳ＃、および、データ信号ＤＱ０−ＤＱ７を出力する。データ、ＤＱＳの入力信号も存在するが、ここでは出力信号のみを記述している。
【００３２】
同一のランクグループ内の複数のメモリデバイスは、メモリランクに応じて異なるチップセレクトＣＳｎを受信する。例えば、メモリランクＲ０に属するメモリデバイスはチップセレクト信号ＣＳ０を受信する。同様に、メモリランクＲｎ（ｎ＝１〜３）に属するメモリデバイスはチップセレクト信号ＣＳｎを受信する。
【００３３】
リードライト制御回路３３は、図３において図示しない制御デイバスから供給されるチップセレクト信号ＣＳｎにより活性化され、制御デバイスからリードコマンドが供給されたときには、制御デイバスから供給されたアドレスに応じて指定されたメモリセルからリードデータをデータ出力回路３５に供給するとともに、ＤＱＳ出力回路３４に対してデータストローブ信号を生成させる。
【００３４】
図４は、本実施形態に係るメモリシステムの構成を一例として示すブロック図である。図４を参照すると、メモリシステムは、メモリモジュールおよび制御デバイス４２を備える。制御デバイス４２は、さらに、制御ユニット４３、データ入力ユニット４４、データ処理ユニット４５、および、データ出力ユニット４６を備える。図１（ａ）に示したメモリシステムにおいては、メモリコントローラ１３が制御デバイス４２に相当する。一方、図１（ｂ）に示したメモリシステムにおいては、メモリバッファ１６が制御デバイス４２に相当する。データ出力ユニット４６については、本発明の本質的な構成要素ではないため、説明を省略する。
【００３５】
制御ユニット４３は、コマンドアドレス信号ＣＡおよびクロック信号ＣＬＫを生成し、生成したコマンドアドレス信号ＣＡおよびクロック信号ＣＬＫをメモリモジュール４１に搭載されたメモリデバイスに供給する。また、制御ユニット４３は、ランクイネーブル（Rank Enable）信号ＲＥｎ（ｎ＝０〜３）をデータ入力ユニット４４に供給するとともに、当該ランクイネーブル信号ＲＥｎを、対応するチップセレクト信号ＣＳｎとして対応するメモリランクＲｎ内のメモリデバイスに供給する。
【００３６】
データ入力ユニット４４は、複数のデータ入力部ＤＩ０〜ＤＩ８を含む。データ入力部ＤＩ０〜ＤＩ８は、それぞれ、複数のランクグループＲＧ０〜ＲＧ８に対応して設けられる。
【００３７】
データ処理ユニット４５は、データ入力ユニット４４から供給されるデータを外部のＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro-Processing Unit）等に供給するとともに、外部のＣＰＵ、ＭＰＵ等から供給されるデータをデータ出力ユニット４６に供給する。
【００３８】
図５は、図４に示した制御デバイス４２に含まれる複数のデータ入力部ＤＩ０〜ＤＩ８のうちの１つデータ入力部ＤＩｍ（ｍ＝０〜８）の構成を一例として示すブロック図である。図５を参照すると、データ入力部ＤＩｎは、メモリデバイスから出力されたデータストローブ信号ＤＱＳ０およびデータ信号ＤＱ０〜ＤＱ７を受信する入力回路と、ＤＱＳ位相調整器ＰＡ０〜ＰＡ３と、フリップフロップＦＦ０〜ＦＦ７と、ＤＱＳ位相判定器５１とを備える。
【００３９】
ＤＱＳ位相調整器ＰＡ０〜ＰＡ３は、複数のメモリランクＲ０〜Ｒ３のそれぞれに対応して設けられる。また、ＤＱＳ位相調整器ＰＡ０〜ＰＡ３は、メモリランク毎のＤＱＳ遅延量を保持し、データストローブ信号ＤＱＳ０を受信すると、受信したデータストローブ信号ＤＱＳ０の位相をＤＱＳ遅延量に応じて調整し、位相調整後のデータストローブ信号ＤＱＳ０をフリップフロップＦＦ０〜ＦＦ７に出力する。制御デバイス４２がメモリデバイスにリード要求をする際には、制御ユニット４３から供給されるランクイネーブル信号ＲＥ０〜ＲＥ３に応じて、いずれか１つのＤＱＳ位相調整器が活性化され、リード動作の対象とされたメモリランクに対応する遅延時間だけ、データストローブ信号ＤＱＳ０を遅延する。なお、ＤＱＳ位相調整器ＰＡｎ（ｎ＝０〜３）の詳細については、図６を参照しつつ後述する。
【００４０】
複数のフリップフロップＦＦ０〜ＦＦ７は、それぞれデータ入力端子ＤＱ０〜ＤＱ７に対応して設けられ、複数のＤＱＳ位相調整器ＰＡ０〜ＰＡ３のいずれかから供給される位相調整後のデータストローブ信号に応じて、データ入力端子のデータを取り込む。具体的には、フリップフロップＦＦｊ（ｊ＝０〜７）は、ランクイネーブル信号ＲＥｎ（ｎ＝０〜３）により選択されたメモリランクＲｎに対するＤＱＳ位相調整器ＰＡｎから出力された位相調整後のデータストローブ信号の立ち上がりエッジまたは立ち下がりエッジに同期してデータ入力端子ＤＱｊから受信したデータ信号をラッチする。また、データ入力端子ＤＱ０に接続されたフリップフロップＦＦ０は、データストローブ信号ＤＱＳ０のトレーニング時に、ＤＱＳ位相判定器５１にデータ信号を供給する。
【００４１】
ＤＱＳ位相判定器５１は、データストローブ信号ＤＱＳ０のトレーニング時に、データ入力端子ＤＱ０に接続されたフリップフロップＦＦ０から供給された、フリップフロップＦＦ０に応じたトレーニング結果を、複数のＤＱＳ位相調整器ＰＡ０〜ＰＡ３のうちの、トレーニング中のメモリランクＲｎ（ｎ＝０〜３）に対応する位相調整器ＰＡｎに供給する。なお、ＤＱＳ位相判定器５１の詳細な構成については、図７を参照しつつ後述する。
【００４２】
図６は、ＤＱＳ位相調整器ＰＡｎ（ｎ＝０〜３）の構成を一例として示す回路図である。図６を参照すると、ＤＱＳ位相調整器ＰＡｎは、ｋ段のシフトレジスタ６０と、ｋ本の遅延ライン６１〜６ｋと、ｋ＋１個のトランジスタＴ１〜Ｔｋ＋１とを備える。遅延ライン６１〜６ｋは、データストローブ信号ＤＱＳ０を互いに異なる複数の遅延時間だけ遅延させて出力する。シフトレジスタ６０は、ランクイネーブル信号ＲＥｎを受信するとともに、受信したランクイネーブル信号ＲＥｎをクロック信号ＣＬＫａに応じてシフトさせつつ保持する。トランジスタＴ１〜Ｔｋのゲート端子には、シフトレジスタ６０の各段が保持する信号Ｑｋが供給される。また、トランジスタＴｋ＋１のゲート端子には、ランクイネーブル信号ＲＥｎが供給される。ＤＱＳ位相調整器ＰＡｎは、複数の遅延ライン６１〜６ｋのうちのいずれか１つの遅延ラインから出力された信号をフリップフロップＦＦ０〜ＦＦ７に出力する。
【００４３】
シフトレジスタ６０がランクイネーブル信号ＲＥｎとして信号「１」を受信すると、クロック信号ＣＬＫａに応じて、シフトレジスタ６０上において信号「１」がシフトする。すると、トランジスタＴ１〜Ｔｋは、Ｔ１、Ｔ２、…、Ｔｋの順にオン状態となる。ＤＱＳ位相調整器ＰＡｎは、遅延ライン６１〜６ｋを経由したデータストローブ信号ＤＱＳ０のうちの、オン状態となったトランジスタＴｉ（ｉ＝１〜ｋ）に接続された遅延ライン６ｉを経由した信号を出力する。すなわち、ＤＱＳ位相調整器ＰＡｎによると、データストローブ信号ＤＱＳ０を掃引し、位相の異なる複数のデータストローブ信号を生成し、フリップフロップＦＦ０〜ＦＦ７に供給することが可能となる。
【００４４】
図７は、ＤＱＳ位相判定器５１の構成を一例として示す図である。図７を参照すると、ＤＱＳ位相判定器５１は、カウンタ（Counter）７１、レジスタ７２、７３、および、演算論理回路（ＡＬＵ：Arithmetic Logical Unit）７４を備える。
【００４５】
カウンタ７１は、クロック信号ＣＬＫａに応じてカウント動作を行う。レジスタ７２は、フリップフロップＦＦ０から出力された信号が第１のレベル（例えば、ロウレベル）から第２のレベル（例えば、ハイレベル）に遷移したときのカウンタ７１のカウント値を保持する。一方、レジスタ７２は、フリップフロップＦＦ０から出力された信号が第２のレベル（ハイレベル）から第１のレベル（ロウレベル）に遷移したときのカウンタ７１のカウント値を保持する。ＡＬＵ７４は、レジスタ７２が保持するカウント値とレジスタ７３が保持するカウント値との平均値を算出する。ＤＱＳ位相判定器５１は、算出した平均値をＤＱＳ位相調整器ＰＡ０〜ＰＡ３にフィードバックする。
【００４６】
図６に戻ると、ＤＱＳ位相調整器ＰＡ０〜ＰＡ３は、ＤＱＳ位相判定器５１によって算出された平均値に応じてオン状態とするトランジスタＴｊを選択し、データストローブ信号ＤＱＳ０の位相の調整量を決定する。
【００４７】
図８は、本実施形態のメモリシステムにおけるデータストローブ信号ＤＱＳのトレーニング動作を一例として示すフロー図である。図８を参照しつつ、トレーニング動作について説明する。
【００４８】
まず、メモリデバイス（例えばＤＲＡＭ）からの読み出し（Read）動作を実行する（図８のステップＳ１）。次に、メモリランクＲｎ（ｎ＝０）のメモリデバイスに対するデータストローブ信号ＤＱＳのトレーニングを開始する（ステップＳ２）。次に、メモリランクＲ０に対応するＤＱＳ位相調整器ＰＡ０において、データストローブ信号ＤＱＳの遅延を最小とする（ステップＳ３）。ここで、フリップフロップＦＦ０からの出力信号が０であるかどうかを判定する（ステップＳ４）。フリップフロップＦＦ０からの出力信号が０でない場合（ステップＳ４のＮＯ）、設定の見直しを行う（ステップＳ５）。
【００４９】
一方、フリップフロップＦＦ０からの出力信号が０である場合（ステップＳ４のＹＥＳ）、メモリデバイスからの読み出し（Read）動作を実行する（ステップＳ６）。次に、ＤＱＳ位相調整器ＰＡ０において、データストローブ信号の遅延量を一段階増やす（ステップＳ７）。ここで、ＤＱＳ位相判定器５１は、フリッププロップＦＦ０からの出力信号が０から１に遷移した後、さらに１から０に遷移したかどうかを判定する（ステップＳ８）。フリップフロップＦ０の出力信号が０→１→０の遷移を行っていない場合（ステップＳ８のＮＯ）、ステップＳ６に戻る。
【００５０】
一方、フリップフロップＦＦ０の出力信号が０→１→０の遷移を行った場合（ステップＳ８のＹＥＳ）、ＤＱＳ位相判定器５１は、フリップフロップＦＦ０の出力信号が０から１に遷移したときのクロック信号ＣＬＫａのカウント値Ａをレジスタ７２に格納するとともに、フリップフロップＦＦ０の出力信号が１から０に遷移したときのクロック信号ＣＬＫａのカウント値Ｂをレジスタ７３に格納する（ステップＳ９）。次に、ＤＱＳ位相判定器５１は、ＡＬＵ７４を用いて、レジスタ７２が保持するカウント値Ａと、レジスタ７３が保持するカウント値Ｂとの平均値を算出する（ステップＳ１０）。次に、ＤＱＳ位相調整器ＰＡ０は、ＤＱＳ位相判定器５１によって算出された平均値に基づいて、データストローブ信号ＤＱＳの位相の遅れを決定する（ステップＳ１１）。
【００５１】
次に、メモリランクＲｎ（ｎ＝１）のメモリデバイスに対するデータストローブ信号ＤＱＳのトレーニングを開始するために、インデックスｎを１だけインクリメントする（ステップＳ１２）。次に、ＤＩＭＭ上のすべてのメモリデバイス、すなわち、すべてのランクグループＲＧ０〜ＲＧ８のメモリランクＲ０〜Ｒ３のメモリデバイス（計３６個）について、データストローブ信号のトレーニングを完了したかどうかを判定する（ステップＳ１３）。すべてのメモリデバイスについてトレーニングを完了していない場合（ステップＳ１３のＮＯ）、ステップＳ３に戻る。一方、すべてのメモリデバイスについてトレーニングを完了した場合（ステップＳ１３のＹＥＳ）、データストローブ信号のトレーニングを終了する。
【００５２】
図９は、データストローブ信号のトレーニング時における信号の波形図である。図９は、フリップフロップＦＦ０のクロック端子ＣＬＫに対する入力信号「ＦＦ０  ＣＬＫ  ｉｎｐｕｔ」と、フリップフロップＦＦ０のデータ入力端子Ｄに対する入力信号「ＦＦ０  Ｄａｔａ  ｉｎｐｕｔ」と、フリッププロップＦＦ０のデータ出力端子Ｑからの出力信号「ＦＦ０  Ｑ  ｏｕｔｐｕｔ」と、フリップフロップＦＦ０のクロック端子ＣＬＫに対する位相調整後の入力信号「ＦＦ０  ＣＬＫ  ｉｎｐｕｔ」を示す。
【００５３】
図９を参照すると、フリップフロップＦＦ０のクロック端子ＣＬＫに対する入力信号「ＦＦ０  ＣＬＫ」として、位相調整器ＰＡｎ（ｎ＝０〜３）によって掃引されたデータストローブ信号ＤＱＳ０が供給される（図８のステップＳ６〜Ｓ８）。こでは、データ入力端子Ｄに対する入力信号「ＦＦ０  Ｄａｔａ  ｉｎｐｕｔ」として、タイミングＡで０から１に遷移し、タイミングＢで１から０に遷移するデータ信号が入力されるものとする。また、フリップフロップＦＦ０は、クロック端子ＣＬＫに供給されたデータストローブ信号の立ち上がりエッジに同期してデータ入力端子Ｄに供給された入力信号をラッチするものとする。
【００５４】
図９の「ＦＦ０  Ｑ  ｏｕｔｐｕｔ」を参照すると、データストローブ信号ＤＱＳ０の位相を調整し、フリップフロップＦＦ０のクロック端子ＣＬＫに供給された信号の立ち上がりエッジがタイミングＡの直後となった場合、フリップフロップＦＦ０のデータ出力端子Ｑからの出力信号は０から１（ＬからＨ）に遷移する。さらに、データストローブ信号ＤＱＳ０の位相を調整し、フリップフロップＦＦ０のクロック端子ＣＬＫに供給された信号の立ち上がりエッジがタイミングＢの直後となった場合、フリップフロップＦＦ０のデータ出力端子Ｑからの出力信号は１から０（ＨからＬ）に遷移する（図８のステップＳ８のＹＥＳ）。
【００５５】
このとき、ＤＱＳ位相判定器５１は、フリップフロップＦＦ０の出力信号が０から１に遷移したタイミングと、フリップフロップＦＦ０の出力信号が１から０に遷移したタイミングの中間のタイミングを決定し、ＤＱＳ位相判定器ＰＡｎ（ｎ＝０〜３）にフィードバックする（図８のステップＳ１０）。
【００５６】
これにより、図９の最下段の「ＦＦ０  ＣＬＫ  ｉｎｐｕｔ」に示すように、フリップフロップＦＦ０のクロック端子ＣＬＫに供給されるデータストローブ信号ＤＱＳ０の立ち上がりエッジの位置を、データ信号ＤＱ０が０から１へ変化するタイミングと１から０に変化するタイミングの中心に調整することができる（図８のステップＳ１１）。
【００５７】
本実施形態に係るメモリシステムによると、同一ランクグループに属する複数のメモリデバイスのそれぞれについて、独立にデータストローブ信号の位相を調整することができる。したがって、同一のランクグループ内の複数のメモリの各々から供給されるデータを、制御デバイスで取り込むときの取り込みマージンを向上することが可能となる。
【００５８】
（実施形態２）
第２の実施形態に係るメモリシステムについて、図面を参照して説明する。本実施形態のメモリシステムの構成は、第１の実施形態に係るメモリシステムの構成（図４）と同様である。ただし、本実施形態と第１の実施形態との間では、制御デバイス４２のデータ入力ユニット４４に設けられたデータ入力部ＤＩ０〜ＤＩ８の構成が相違する。
【００５９】
第１の実施形態に係るメモリシステムでは、データ端子ＤＱ０でのデータ入力タイミングを用いて、データストローブ信号ＤＱＳの遅延時間が調整される。一方、本実施形態では、すべてのデータ端子ＤＱ０〜ＤＱ７でのデータ入力タイミングを用いて、データストローブ信号ＤＱＳの遅延時間を調整する。
【００６０】
図１０は、本実施形態における制御デバイス４２（図４参照）に設けられたデータ入力部ＤＩｍ（ｍ＝０〜８）の構成を一例として示すブロック図である。図１０を参照すると、データ入力部ＤＩｍは、メモリデバイスから出力されたデータストローブ信号ＤＱＳ０およびデータ信号ＤＱ０〜ＤＱ７を受信する入力回路と、ＤＱＳ位相調整器ＰＡ０〜ＰＡ３と、フリップフロップＦＦ０〜ＦＦ７と、ＤＱＳ位相判定器５２とを備える。
【００６１】
ＤＱＳ位相調整器ＰＡ０〜ＰＡ３は、複数のメモリランクＲ０〜Ｒ３のそれぞれに対応して設けられる。また、ＤＱＳ位相調整器ＰＡ０〜ＰＡ３は、メモリランク毎のＤＱＳ遅延量を保持し、データストローブ信号ＤＱＳ０を受信すると、受信したデータストローブ信号ＤＱＳ０の位相をＤＱＳ遅延量に応じて調整し、位相調整後のデータストローブ信号ＤＱＳ０をフリップフロップＦＦ０〜ＦＦ７に出力する。制御デバイス４２がメモリデバイスにリード要求をする際には、制御ユニット４３から供給されるランクイネーブル信号ＲＥ０〜ＲＥ３に応じて、いずれか１つのＤＱＳ位相調整器が活性化され、リード動作の対象とされたメモリランクに対応する遅延時間だけデータストローブ信号ＤＱＳ０を遅延する。なお、ＤＱＳ位相調整器ＰＡｎ（ｎ＝０〜３）の構成として、図６参照して説明した構成を用いることができる。
【００６２】
複数のフリップフロップＦＦ０〜ＦＦ７は、それぞれデータ入力端子ＤＱ０〜ＤＱ７に対応して設けられ、複数のＤＱＳ位相調整器ＰＡ０〜ＰＡ３のいずれかから供給される位相調整後のデータストローブ信号に応じて、データ入力端子のデータを取り込む。具体的には、フリップフロップＦＦｊ（ｊ＝０〜７）は、ランクイネーブル信号ＲＥｎ（ｎ＝０〜３）により選択されたメモリランクＲｎに対するＤＱＳ位相調整器ＰＡｎから出力された位相調整後のデータストローブ信号の立ち上がりエッジまたは立ち下がりエッジに同期してデータ入力端子ＤＱｊから受信したデータ信号をラッチする。また、フリップフロップＦＦ０〜ＦＦ７は、データストローブ信号ＤＱＳ０のトレーニング時にＤＱＳ位相判定器５２にデータ信号を供給する。
【００６３】
ＤＱＳ位相判定器５２は、データストローブ信号ＤＱＳ０のトレーニング時に、フリップフロップＦＦ０〜ＦＦ７から供給されたトレーニング結果を、複数のＤＱＳ位相調整器ＰＡ０〜ＰＡ３のうちの、トレーニング中のメモリランクＲｎ（ｎ＝０〜３）に対応する位相調整器ＰＡｎに供給する。なお、ＤＱＳ位相判定器５２の詳細な構成については、図１１を参照しつつ後述する。
【００６４】
図１１は、本実施形態のメモリシステムのデータ入力部ＤＩｍ（ｍ＝０〜８）に設けられたＤＱＳ位相判定器５２の構成を一例として示すブロック図である。図１１を参照すると、ＤＱＳ位相判定器５２は、カウンタ（Counter）７１、レジスタ７２、７３、演算論理回路（ＡＬＵ：Arithmetic Logical Unit）７４、セレクタ７６、および、平均値計算器７７を備える。
【００６５】
カウンタ７１は、クロック信号ＣＬＫａに応じてカウント動作を行う。セレクタ７６は、データ信号イネーブル信号ＤＱｊ（ｊ＝０〜７）に応じて、フリッププロップＦＦ０〜ＦＦ７のうちのフリッププロップＦＦｊの出力信号を選択してレジスタ７２、７３に出力する。レジスタ７２は、フリップフロップＦＦｊから出力された信号が第１のレベル（例えば、ロウレベル）から第２のレベル（例えば、ハイレベル）に遷移したときのカウンタ７１のカウント値を保持する。一方、レジスタ７２は、フリップフロップＦＦｊから出力された信号が第２のレベル（ハイレベル）から第１のレベル（ロウレベル）に遷移したときのカウンタ７１のカウント値を保持する。ＡＬＵ７４は、レジスタ７２が保持するカウント値とレジスタ７３が保持するカウント値との平均値を算出して平均値計算器７７に出力する。平均値計算器７７は、ＡＬＵ７４から出力された各フリップフロップＦＦｊ（ｊ＝０〜７）に対する平均値をレジスタに保持し、すべてのフリッププロップＦＦ０〜ＦＦ７に対する平均値の平均値を求めて、求めた平均値をＤＱＳ位相調整器ＰＡ０〜ＰＡ３にフィードバックする。
【００６６】
図６を参照すると、ＤＱＳ位相調整器ＰＡ０〜ＰＡ３は、ＤＱＳ位相判定器５２の平均値計算器７７によって算出された平均値に応じてオン状態とするトランジスタＴｉ（ｉ＝１〜ｋ）を選択し、データストローブ信号ＤＱＳ０の位相の調整量を決定する。
【００６７】
以上のように、本実施形態に係るメモリシステムでは、各メモリデバイスから出力されたすべてのデータ信号ＤＱ０〜ＤＱ７を考慮して、データストローブ信号ＤＱＳのトレーニングを実施する。したがって、本実施形態に係るメモリシステムによると、すべてのデータ信号ＤＱを適切にラッチできるように、データストローブ信号ＤＱＳの位相を調整することが可能となる。したがって、本実施形態に係るメモリシステムによると、第１の実施形態に係るメモリシステムと比較して、さらに、タイミングマージン（Timing Margin）を向上させることができる。
【００６８】
（実施形態３）
第３の実施形態に係るメモリシステムについて、図面を参照して説明する。本実施形態のメモリシステムの構成は、第１および第２の実施形態に係るメモリシステムの構成（図４）と同様である。ただし、本実施形態と第１および第２の実施形態との間では、制御デバイス４２のデータ入力ユニット４４に設けられたデータ入力部ＤＩ０〜ＤＩ８の構成が相違する。
【００６９】
第２の実施形態に係るメモリシステムでは、すべてのデータ端子ＤＱ０〜ＤＱ７のデータ入力タイミングの平均値を用いて、データストローブ信号ＤＱＳの遅延時間を調整する。一方、本実施形態では、各々のデータ端子ＤＱ０〜ＤＱ７のデータ入出力タイミングを用いて、各々のデータ端子ＤＱ０〜ＤＱ７におけるデータストローブ信号ＤＱＳの遅延時間を個別に調整する。
【００７０】
図１２に、本実施形態における制御デバイス４２に設けられたデータ入出力部ＤＩｍ（ｍ＝０〜８）の構成の一例を示す。図１２を参照すると、データ入力部ＤＩｍは、データ端子ＤＱ０〜ＤＱ７の各々に対応して、ＤＱＳ位相調整部ＰＡＵ０〜ＰＡＵ７およびＤＱＳ位相判定器５１０〜５１７を含む。ＤＱＳ位相調整部ＰＡＵ０〜ＰＡＵ７の各々は、図５に示したＤＱＳ位相調整器ＰＡ０〜ＰＡ３を含む。また、ＤＱＳ位相判定器５１０〜５１７の各々は、図５に示したＤＱＳ位相判定器５１と実質的に同一の構成を含む。
【００７１】
図１２に示すＤＱＳ位相調整部ＰＡＵｊ（ｊ＝０〜７）は、対応する位相判定器５１ｊ（ｊ＝０〜７）からのトレーニング結果を、メモリランク毎のＤＱＳ遅延量として保持し、データストローブ信号ＤＱＳ０およびランクイネーブル信号ＲＥ０〜ＲＥ３を受信すると、受信したデータストローブ信号ＤＱＳ０の位相をランクイネーブル信号により選択されたメモリランクのＤＱＳ遅延量に応じて調整し、位相調整後のデータストローブ信号ＤＱＳ０をフリップフロップＦＦｊ（ｊ＝０〜７）に出力する。
【００７２】
以上のように、本実施形態に係るメモリシステムでは、各メモリデバイスから出力されたすべてのデータ信号ＤＱ０〜ＤＱ７の各々を個別に考慮して、複数のデータ端子の各々について個別にデータストローブ信号ＤＱＳのトレーニングを実施する。したがって、本実施形態に係るメモリシステムによると、すべてのデータ信号ＤＱを適切にラッチできるように、データストローブ信号ＤＱＳの位相を調整することが可能となる。
【００７３】
（変形例）
上記実施形態に係るメモリシステムに対して、種々の変形が可能である。上記実施形態においては、図２（ａ）に示すように、モジュール基板１１の一方の面には、互いに重なり合うように設けられたメモリランクＲ０、Ｒ２のメモリデバイスを含むデュアルダイパッケージ（ＤＤＰ：Dual Die Package）が配置され、他方の面にも、互いに重なり合うように設けられたメモリランクＲ１、Ｒ３のメモリデバイスを含むＤＤＰが配置されている。しかしながら、複数のメモリランクＲ０〜Ｒ３のメモリデバイスの配置は、図２（ａ）に示した態様に限定されない。
【００７４】
図１３は、複数のメモリランクのメモリデバイスの他の配置を例示する図である。図１３を参照すると、モジュール基板１１の一方の面には、メモリランクＲ０、Ｒ２のメモリデバイス（例えば、ＤＲＡＭ）が上下に配置され、他方の面には、メモリランクＲ１、Ｒ３のメモリデバイスが上下に配置されている。すなわち、図２（ａ）および図１３に示したメモリデバイスの配置は例示に過ぎず、本発明においては、複数のメモリランクのそれぞれに属する複数のメモリデバイスの配置は特定の配置に限定されない。
【００７５】
また、上記実施形態では、一例として、４ランク、かつ、Ｉ／Ｏ数×８の構成の場合について説明したが、本発明において、メモリランク数およびＩ／Ｏ数は、これらの値に限定されるものではない。例えば、メモリランクを２ランク、８ランク等としてもよいし、Ｉ／Ｏ数を×４、×１６等としてもよい。
【００７６】
なお、上記の特許文献等の先行技術文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示（請求の範囲を含む）の枠内において、さらにその基本的技術思想に基づいて、実施形態の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素（各請求項の各要素、各実施形態の各要素、各図面の各要素等を含む）の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【符号の説明】
【００７７】
１１、１５、８１    モジュール基板
１２、７２、７３    レジスタ（Register）
１３、１７    メモリコントローラ
１６    メモリバッファ（Memory Buffer）
３１    メモリデバイス
３２    メモリセルアレイ
３３    リードライト制御回路
３４    データストローブ信号（ＤＱＳ）出力回路
３５    データ出力回路
４１    メモリモジュール
４２    制御デバイス
４３    制御ユニット
４４    データ入力ユニット
４５    データ処理ユニット
４６    データ出力ユニット
５１、５２    ＤＱＳ位相判定器
６０    シフトレジスタ（Shift Register）
６１〜６ｋ    遅延ライン
７１    カウンタ（Counter）
７４    演算論理回路（ＡＬＵ：Arithmetic Logic Unit）
７６    セレクタ
７７    平均値計算器
５１０〜５１７    ＤＱＳ位相判定器
ＣＡ    コマンドアドレス（Command/Address）信号
ＣＬＫ、ＣＬＫａ    クロック信号
Ｄ０ａ〜Ｄ８ａ、Ｄｍａ、Ｄｍｂ    デュアルダイパッケージ（ＤＤＰ：Dual Die Package）
ＤＩ０〜ＤＩ８、ＤＩｍ    データ入力部
ＤＱ、ＤＱ０〜ＤＱ７    データ信号
ＤＱＳ、ＤＱＳ＃    データストローブ信号
ＦＦ０〜ＦＦ７    フリップフロップ
ＰＡ０〜ＰＡ３    ＤＱＳ位相調整器
ＰＡＵ０〜ＰＡＵ７    ＤＱＳ位相調整部
Ｒ０〜Ｒ３    メモリランク（Memory Rank）
ＲＥ０〜ＲＥ３    ランクイネーブル（Rank Enable）信号
ＲＧ０〜ＲＧ８、ＲＧｍ    ランクグループ（Rank Group）
Ｔ１〜Ｔｋ＋１    トランジスタ
【図１】
2013232152.tif 000003
【図２】
2013232152.tif 000004
【図３】
2013232152.tif 000005
【図４】
2013232152.tif 000006
【図５】
2013232152.tif 000007
【図６】
2013232152.tif 000008
【図７】
2013232152.tif 000009
【図８】
2013232152.tif 000010
【図９】
2013232152.tif 000011
【図１０】
2013232152.tif 000012
【図１１】
2013232152.tif 000013
【図１２】
2013232152.tif 000014
【図１３】
2013232152.tif 000015