(58)【調査した分野】(Int.Cl.,DB名)
前記タイミングスキューが前記該当基準ディレイ値で25%以上超過する時に、前記レベリング基準テーブルの前記該当基準ディレイ値を参照して前記該当メモリ素子に伝送される前記データ関連信号のディレイが調節される請求項1に記載のライトレベリング制御方法。
前記該当メモリ素子に対する前記データ関連信号のディレイ調節の時、ライトレベリングに成功したメモリ素子の平均オフセット値が追加に反映される請求項6に記載のライトレベリング制御方法。
前記該当メモリ素子に対する前記データ関連信号のディレイタイミング調節の時、ライトレベリングに成功したメモリ素子の平均オフセット値が追加に反映される請求項12に記載のライトレベリング制御回路。
前記タイミングスキューのチェックは、前記デュアルインラインメモリモジュール内でフライバイトポロジに連結された前記メモリ素子から各々受信される前記データ信号と前記クロック信号との間のタイミングスキューを各々チェックすることによって遂行される請求項16に記載のメモリコントローラ。
前記スキューフェイルの検出は、前記チェックされたタイミングスキューが前記参照メモリに格納された前記データストロボ信号基準ディレイ値の中で該当基準ディレイ値を所定許容範囲以上に外れたか否かを判定することによって遂行される請求項17に記載のメモリコントローラ。
【発明の概要】
【発明が解決しようとする課題】
【0008】
本発明が解決しようとする技術的課題は、PVT変動とは無関係にライトレベリングを安定的に遂行できる参照テーブルベースドライトレベリング制御回路及びそれにしたがう方法を提供することである。
本発明が解決しようとする他の技術的課題は、キャリブレーション動作によってライトレベリング失敗の時にも参照テーブルを利用してライトレベリングを円滑に制御できる改善されたライトレベリング制御技術を提供することである。
【課題を解決するための手段】
【0009】
前記技術的課題を達成するための本発明の概念の一実施形態によるライトレベリング制御方法は、
ターゲットボードに装着されるメモリモジュールのタイプ別にデータ関連信号基準ディレイ値をレベリング基準テーブルに登録し、
設定されたタイプを有するメモリモジュールが前記ターゲットボードに装着された時、前記メモリモジュールにライトレベリング関連信号を伝送し、
前記メモリモジュール内のメモリ素子から各々受信されるデータ関連信号とクロック信号との間のタイミングスキューを検出し、
前記タイミングスキューが前記レベリング基準テーブルに登録された前記データ関連信号基準ディレイ値の中で該当基準ディレイ値を所定許容範囲以上に外れる場合に、前記該当基準ディレイ値に基づいて前記該当メモリ素子に伝送されるデータ関連信号のディレイを調節することができる。
【0010】
本発明の概念的実施形態にしたがって、前記データ関連信号は、関連データ信号の有効(validity)を示すデータ出力ストロボ信号DQSであってもよい。
本発明の概念的実施形態にしたがって、前記メモリ素子は、DDR3 SDRAMであってもよい。
本発明の概念的実施形態にしたがって、前記メモリモジュールは、UDIMM、VLPDIMM、RDIMM、及びSODIMMの中の1つであってもよい。
【0011】
本発明の概念的実施形態にしたがって、前記データ関連信号基準ディレイ値は、前記ターゲットボードのトポロジにしたがっても差別化することができる。
本発明の概念的実施形態にしたがって、前記タイミングスキューが前記該当基準ディレイ値で25%以上超過する時に、前記レベリング基準テーブルの前記該当基準ディレイ値を参照して前記該当メモリ素子に伝送される前記データ関連信号のディレイを調節することができる。
本発明の概念的実施形態にしたがって、前記該当メモリ素子に対する前記データ関連信号のディレイ調節の時、ライトレベリングに成功したメモリ素子の平均オフセット値を追加に反映させることができる。
【0012】
前記技術的課題を達成するための本発明の概念の他の実施形態による、ライトレベリング制御方法は、
デュアルインラインメモリモジュールのタイプ別にデータストロボ信号基準ディレイ値を参照メモリにSPD情報として予め格納し、
1つのタイプのデュアルインラインメモリモジュールがターゲットボードに搭載された時、前記SPD情報を通じて該当メモリモジュールのタイプを把握した後、前記デュアルインラインメモリモジュールにクロック信号、コマンド、アドレス、及びデータストロボ信号を含むライトレベリング関連信号を伝送し、
【0013】
前記デュアルインラインメモリモジュール内でフライバイトポロジに連結されたメモリ素子から各々受信されるデータストロボ信号と前記クロック信号との間のタイミングスキューを各々検出し、
前記検出されたタイミングスキューが前記参照メモリに格納された前記データストロボ信号基準ディレイ値の中で該当基準ディレイ値を所定許容範囲以上に外れた場合に、前記該当基準ディレイ値とライトレベリングに成功したメモリ素子の平均オフセット値とに基づいて前記該当メモリ素子に伝送される前記データストロボ信号のタイミングを調節することができる。
【0014】
本発明の概念的実施形態にしたがって、前記参照メモリは、不揮発性半導体メモリであってもよい。
本発明の概念的実施形態にしたがって、前記メモリ素子がDDR3 SDRAMである場合に前記デュアルインラインメモリモジュールは、バッファチップを含むことができる。
本発明の概念的実施形態にしたがって、前記所定許容範囲は前記該当基準ディレイ値を基準に25%範囲内であってもよい。
本発明の概念的実施形態にしたがって、前記データストロボ信号基準ディレイ値は、前記ターゲットボードのトポロジにしたがっても差別化することができる。
【0015】
前記技術的課題を達成するための本発明の概念のその他の実施形態による、ライトレベリング制御回路は、
ターゲットボードに装着されるメモリモジュールのタイプ別にデータ関連信号基準ディレイ値を予め格納しているレベリング基準テーブルと、
前記ターゲットボードに装着された前記メモリモジュールにライトレベリング関連信号を伝送した後、前記メモリモジュール内のメモリ素子から各々受信されるデータ関連信号とクロック信号との間のタイミングスキューをチェックしてスキューフェイルが検出された時、前記データ関連信号基準ディレイ値の中で対応する基準ディレイ値に基づいて前記該当メモリ素子に伝送されるデータ関連信号のタイミングを制御するライトレベリングマネージメント回路と、を含むことができる。
【0016】
本発明の概念的実施形態にしたがって、前記レベリング基準テーブルは、不揮発性半導体メモリであってもよい。
本発明の概念的実施形態にしたがって、前記ライトレベリング関連信号は、クロック信号、コマンド、アドレス、及び前記データストロボ信号を含むことができる。
本発明の概念的実施形態にしたがって、前記ライトレベリングマネージメント回路は、
前記クロック信号を生成するクロック発生器と、
印加される制御信号にしたがってディレイ調節された前記データストロボ信号を生成するデータストロボ信号発生器と、
前記タイミングスキューが前記レベリング基準テーブルに登録された前記データストロボ信号基準ディレイ値の中で該当基準ディレイ値を所定許容範囲以上に外れた場合に、前記該当基準ディレイ値に基づいて前記該当メモリ素子に伝送されるデータ関連信号のディレイタイミングを調節するために前記制御信号を前記データストロボ信号発生器に印加する制御部と、を含むことができる。
【0017】
本発明の概念的実施形態にしたがって、前記該当メモリ素子に対する前記データ関連信号のディレイタイミング調節の時、ライトレベリングに成功したメモリ素子の平均オフセット値を追加に反映させることができる。
本発明の概念的実施形態にしたがって、前記メモリ素子は、前記メモリモジュールの基板に搭載されるSDRAMであってもよい。
【0018】
前記技術的課題を達成するための本発明の概念のその他の実施形態による、ライトレベリング制御回路としてのメモリコントローラは、
ターゲットボードに装着されるデュアルインラインメモリモジュールのタイプ別にデータストロボ信号基準ディレイ値を予め格納している参照メモリと、
クロック信号を生成するクロック発生器と、
印加される制御信号にしたがってディレイ調節されたデータストロボ信号を生成するデータストロボ信号発生器と、
前記ターゲットボードに装着された前記デュアルインラインメモリモジュールに前記クロック信号、コマンド、アドレス、及び前記データストロボ信号を含むライトレベリング関連信号が伝送されるように制御した後、前記デュアルインラインメモリモジュール内のメモリ素子から各々受信されるデータストロボ信号と前記クロック信号との間のタイミングスキューをチェックしてスキューフェイルが検出された時、前記該当メモリ素子に伝送されるデータストロボ信号の伝送タイミングを補償するライトレベリングマネージメント回路と、を含むことができる。
【0019】
本発明の概念的実施形態にしたがって、前記タイミングスキューのチェックは、前記デュアルインラインメモリモジュール内でフライバイトポロジに連結された前記メモリ素子から各々受信される前記データ信号と前記クロック信号との間のタイミングスキューを各々チェックすることによって遂行することができる。
本発明の概念的実施形態にしたがって、前記スキューフェイルの検出は、前記チェックされたタイミングスキューが前記参照メモリに格納された前記データストロボ信号基準ディレイ値の中で該当基準ディレイ値を所定許容範囲以上に外れたか否かを判定することによって遂行することができる。
【0020】
本発明の概念的実施形態にしたがって、前記伝送タイミングの補償は、前記参照メモリに格納された前記データストロボ信号基準ディレイ値の中で該当基準ディレイ値と前記デュアルインラインメモリモジュール内でライトレベリングに成功したメモリ素子の平均オフセット値との合成値に基づいて、前記該当メモリ素子に伝送される前記データストロボ信号のディレイタイミングを調節することによって遂行することができる。
本発明の概念的実施形態にしたがって、前記タイミングスキューが前記クロック信号の周期の1/4を超過する時に、前記スキューフェイルの可否を判定することができる。
【0021】
本発明の概念的実施形態にしたがって、前記データストロボ信号基準ディレイ値は、適用されるシステムオンチップSoC、適用されるターゲットボード、又は適用されるDIMMタイプにしたがって差別化することができる。
本発明の概念的実施形態にしたがって、前記メモリコントローラは、DDR3 SDRAMのメモリ素子が搭載されたメモリモジュールのライトレベリングを前記参照メモリに依存して遂行するアルゴリズムを有することができる。
【発明の効果】
【0022】
本発明の実施形態の構成によれば、SoCタイプ、ターゲットボードのタイプ、又はモジュールのタイプ別にデータ関連信号基準ディレイ値がレベリング基準テーブルに登録され、利用されるので、ターゲットモジュールに搭載可能である多様なライトレベリング対象素子に対するライトレベリング動作がPVT変動にしたがうキャリブレーション失敗の時にも安定的に遂行することができる。
【発明を実施するための形態】
【0024】
上述したような本発明の目的、他の目的、特徴及び長所は添付された図面に関連する以下の望ましい実施形態を通じて容易に理解できる。しかし、本発明はここで説明する実施形態に限定されず、他の形態に具体化されることもある。むしろ、ここで紹介される実施形態は、本発明の理解を助ける意図以外には他の意図はなく、開示された内容がより徹底し、完全になるように、そして当業者に本発明の思想が十分に伝達されるようにするために提供される。
【0025】
本明細書で、ある素子又はラインが対象素子ブロックに連結されると言及された場合に、それは直接的な連結だけでなく、他の素子を通じて対象素子ブロックに間接的に連結された意味も含む。
また、各図面で提示された同一又は類似な参照符号は同一又は類似な構成要素を示している。一部の図面において、素子及びラインの連結関係は技術的な内容の効果的な説明のために示しているだけで、他の素子や回路ブロックをさらに具備することができる。
ここに説明され、例示される各実施形態はそれの相補的な実施形態も含むことができ、SDRAMに対する基本的データアクセス動作とメモリモジュール及びメモリコントローラを含むメモリシステムに関する一般的な動作の詳細は本発明の要旨を曖昧にしないようにするために詳細に説明されていないことを留意(note)しなければならない。
【0026】
図1は本発明の概念的実施形態によるメモリシステムのブロック図である。
図1を参照すれば、メモリシステムはメモリコントローラ100とメモリモジュール200とを含む。
メモリモジュールは複数のメモリ素子210−1、210−2、・・・、210−nを含む。メモリモジュールはデュアルインラインメモリモジュール(DIMM:dual in−line memory module)である。DIMMはそのタイプやトポロジ(topology)にしたがってUDIMM、VLPDIMM、RDIMM、SODIMMに区別される。メモリ素子210−1、210−2、・・・、210−nはSDRAM DDR3等のような揮発性半導体メモリであってもよい。メモリ素子210−1、210−2、・・・、210−nはまた、MRAMやNANDフラッシュメモリ等のような不揮発性半導体メモリであってもよい。
【0027】
メモリモジュール内の複数のメモリ素子210−1、210−2、・・・、210−nはフライバイ(fly−by)構造にメモリコントローラ100からクロック信号、アドレス、及びコマンドを受信する。フライバイ構造はクロック信号、アドレス、及びコマンドが各素子に対して直列に連結されていることを言う。しかし、フライバイ(fly−by)構造は本発明の実施形態での例示に過ぎなく、本発明の概念はこれに限定されない。
【0028】
本発明の実施形態によって、メモリコントローラ100はレベリング基準テーブル(LRT:leveling reference table)120とライトレベリングマネージメント回路(WLMC:write leveling management circuit)140とを含む。
LRT120にはターゲットボードに装着されるメモリモジュールのタイプ別にデータ関連信号基準ディレイ値がSPD(serial presence detect)情報として予め格納されている。
【0029】
WLMC140はターゲットボードに装着されたメモリモジュール200にライトレベリング関連信号を伝送した後、メモリモジュール200内のメモリ素子から各々受信されるデータ関連信号とクロック信号との間のタイミングスキューをチェックする。
WLMC140はタイミングスキューのチェック結果にしたがってスキューフェイルが検出された時、データ関連信号基準ディレイ値の中で対応される基準ディレイ値に基づいてメモリモジュール200内の該当メモリ素子に伝送されるデータ関連信号のタイミングを制御する。
【0030】
ライトレベリング動作の時にメモリコントローラ100はクロック信号、アドレス、及びコマンドをフライバイ連結構造を有するメモリモジュール200に伝送する。
一方、メモリコントローラ100はメモリモジュール200内のメモリ素子210−1、210−2、・・・、210−nの各々にデータ関連信号、例えばデータストロボ信号を印加する。また、メモリコントローラ100はメモリモジュール200内のメモリ素子210−1、210−2、・・・、210−nの各々からデータ信号DQを受信する。
したがって、メモリコントローラ100はメモリ素子210−1にデータストロボ信号DQS1を提供し、メモリ素子210−1からデータ信号DQ1を受信する。
【0031】
また、メモリコントローラ100はメモリ素子210−nにデータストロボ信号DQSnを提供し、メモリ素子210−nからデータ信号DQnを受信する。
図1の場合に1つのメモリモジュール200がメモリコントローラ100に連結されるが、これに限定されず、複数のメモリモジュールをメモリコントローラ100に連結することができる。この場合に複数のメモリモジュールはメモリコントローラ100に対してデージーチェーン(daisy chain)構造に連結される。
【0032】
図3は
図1と関連してライトレベリング関連信号の送受信を概略的に示すメモリシステムのブロック図である。
図3のメモリコントローラ100でクロック信号CK1とデータストロボ信号DQS1−DQSnとが時刻t1で同時に発生してメモリモジュール200に伝送されたと仮定すれば、フライバイトポロジによるフライト(飛行)タイムスキューによってメモリ素子210−1に対するCK1−DQS1間のタイミングスキューと、メモリ素子210−nに対するCK1−DQSnとの間のタイミングスキューは互いに異なる。したがって、メモリコントローラ100はライトレベリング動作でキャリブレーションを遂行してデータストロボ信号DQSnの印加タイムを調節する。結局、キャリブレーションにしたがってメモリ素子210−nにデータストロボ信号DQSnの提供時刻は時刻t2ではない時刻t3に調節される。
【0033】
図3で示した出力バッファ100−1、100−n−1はスキュー調節されたデータストロボ信号を提供するバッファである。また、受信バッファ100−2、100−nはメモリ素子であるSDRAMのデータ信号を受信するバッファである。
本発明の実施形態では
図3のようなライトレベリング動作でキャリブレーション動作の失敗の時にも安定されたライトレベリングが制御されるようにするためにレベリング基準テーブル(LRT:120)とライトレベリングマネージメント回路(WLMC:140)とが設けられる。
【0034】
図2は
図1にしたがうライトレベリング遂行例を示すフローチャートである。
図2のS200段階が遂行される前に、LRT120にはライトレベリングを補償するためにメモリモジュールのタイプ別にデータストロボ信号基準ディレイ値が予め格納される。予め格納された値はSPD情報として機能する。データストロボ信号基準ディレイ値は対象メモリモジュールを実際にテストし、設計された値と比較することによって最適化された値である。LRT120は不揮発性メモリ、例えばNANDフラッシュメモリで具現することができる。
任意のタイプのデュアルインラインメモリモジュールがターゲットボードに搭載されたと仮定すれば、
図2のS200段階が遂行される。S200段階でデュアルインラインメモリモジュールにクロック信号、コマンド、アドレス、及びデータストロボ信号を含むライトレベリング関連信号が伝送される。
【0035】
図2のS210段階でWLMC140の動作遂行によって、デュアルインラインメモリモジュール内でフライバイトポロジに連結されたメモリ素子から各々受信されるデータ信号とクロック信号との間のタイミングスキューが各々検出される。結局、検出されたタイミングスキューはCK−DQS間のタイミングスキューと同様である。
S220段階で任意の該当メモリ素子でスキューフェイルが発生されたか否かがチェックされる。即ち、検出されたタイミングスキューが参照メモリに格納されたデータストロボ信号基準ディレイ値の中で該当基準ディレイ値を所定の許容範囲以上に外れた場合に、該当メモリ素子はスキューフェイルとして判定される。例えば、CK−DQS間のタイミングスキューがクロック周期の1/4を超過すれば、一般的なライトレベリング動作でのキャリブレーションは失敗である。結局、タイミングスキューがクロック信号の25%以内に維持されると、データストロボ信号のキャリブレーションが可能になる。
【0036】
メモリモジュールに搭載された任意のメモリ素子がスキューフェイルであると判定されない場合、即ちタイミングスキューがクロック信号の25%以内に維持されれば、S230段階でテーブルオフセット平均が計算される。即ち、タイミングスキューがクロック信号の25%以内に維持される場合にその該当メモリ素子のタイミングスキューはテーブルオフセット平均を求めるのに利用される。ここで、テーブルオフセット平均はタイミングスキューがクロック信号の25%以内に維持されるメモリ素子が多いほど、信頼性が高くなる。
【0037】
S240段階ですべてのメモリ素子に対するタイミングスキュー検出が遂行されたか否かがチェックされる。即ち、メモリモジュール内に搭載されたメモリ素子の個数が9つであれば、9つのメモリ素子に対するタイミングスキューの判定が完了される時、S250段階の動作が実行される。
S250段階で、WLMC140は、該当基準ディレイ値とライトレベリングに成功したメモリ素子の平均オフセット値とに基づいて、タイミングスキューフェイルを有する該当メモリ素子に伝送されるデータストロボ信号のタイミングを調節する。即ち、WLMC140は
図3のSDRAM210−nのスキューフェイルの時、データストロボ信号DQSnの提供時刻を時刻t2ではない時刻t3に調節する。
【0038】
図4は
図1の中でメモリコントローラの一例を示す具体ブロック図である。
図4を参照すれば、メモリコントローラ100を構成するLRT120とWLMC140とがより具体的な連結構成として示している。
LRT120はROMやフラッシュメモリ等の不揮発性メモリで構成することができる。
WLMC140は、クロック信号を生成するクロック発生器142、印加される制御信号CONによってディレイ調節されたデータストロボ信号DQSを生成するデータストロボ信号発生器146、及び制御部144を含む。
【0039】
制御部144は、タイミングスキューがLRT120に登録されたデータストロボ信号基準ディレイ値の中で該当基準ディレイ値を所定許容範囲以上に外れた場合に、該当基準ディレイ値に基づいて該当メモリ素子に伝送されるデータ関連信号のディレイタイミングを調節するために制御信号CONをデータストロボ信号発生器146に印加する。
WLMC140とLRT120とはコマンド、アドレス、及びデータを伝送するバスBu1を通じて互いに連結されている。
【0040】
WLMC140はクロック信号CKと該当メモリ素子から受信されるデータ信号DQとの位相を比較してCK−DQS間のタイミングスキューに対するフェイルの可否を判定する。しかし、本発明はこれに限定されるものではなく、例えばWLMC140は該当メモリ素子からフィードバックされるデータストロボ信号DQSを受信し、これをクロック信号CKと位相比較することによって、CK−DQS間のタイミングスキューに対するフェイルの可否を判定する。
【0041】
タイミングスキューのフェイル発生の時、制御信号CONによってデータストロボ信号発生器146内のDLL148が制御される。結局、DLL148は制御信号CONに応答してDQSの位相をシフトする。位相シフト動作は制御信号CONのコード状態にしたがって異なり、クロック周期の1/8をシフトする粗いシフト(coarse shift)と、クロック周期の1/16をシフトする細かいシフト(fine shift)とを混用することができる。
【0042】
図5は
図2のライトレベリング遂行にしたがう信号タイミング補償を例示的に示す図である。
図5を参照すれば、メモリモジュールに搭載された9つのメモリ素子B0−B8の中で2つのメモリ素子B3、B4がライトレベリングのキャリブレーション失敗である場合にLRT120を参照して補償する例を示している。
図で横軸は順に搭載されたメモリ素子B0−B8を示し、縦軸はディレイ量(タイミングスキューの大きさ)を示す。
【0043】
図の左側に示したようにメモリ素子B3、B4のディレイは参照文字E1、E2で表示されるように、基準ラインで25%以上外れた状態であるので、タイミングスキューはフェイルである。結局、メモリ素子B3、B4はLRT120に基づいた基準ライン上の値に対比してCKの(+/−)25%を超過した素子に該当するので、ライトレベリングは1次的にフェイル(fail)であると判定される。
【0044】
一方、ライトレベリングに成功したメモリ素子B0、B1、B2、B8、B5−B7に対してはDQSディレイ結果値とLRT120の基準値との間のオフセット(offset)平均値が計算される。結局、スキューフェイルされたメモリ素子B3、B4に対するディレイ補正はLRT120に登録されたデータ関連信号DQS基準ディレイ値の中で該当基準ディレイ値とオフセット平均値との合成値に基づいて遂行される。
【0045】
矢印符号CH1に沿って図の右側を見れば、スキューフェイルされたメモリ素子B3、B4に対するディレイ補正が参照符号C1、C2のように適切に遂行されたことを確認することができる。このような補償はLRT120に基づいた基準ライン上の値に対比してCKの(+/−)25%範囲内でDQSの位相補正であるので、これにしたがうライトレベリングの結果は成功である。
【0046】
ここで、オフセット平均値を計算し、反映しなくとも、LRT120の基準値のみに依存してCK−DQS間のタイミングスキューを調節することは勿論である。
LRT120にはターゲットボードのタイプやDIMMトポロジ別にDQS基準ディレイ値が各々格納される。結局、与えられたSoC、ターゲットボード、DIMMタイプ別に特化されたフォールトトレラント(fault−tolerance)技法がLRT120に具現されるので、与えられたプラットホームのPVT変動と相関無しで安定的にライトレベリングが行われる。
【0047】
図6は
図1にしたがうタイミングスキューエラーの補償を例示的に示す動作タイミングである。
図6を参照すれば、クロック信号CKの波形と各種DQS波形が例示的に示している。
波形RDQSAはクロック信号CKに対比してタイミングスキューSK1を有するので、スキューフェイルが無い場合である。
しかし、RDQSBはクロック信号CKに対比してタイミングスキューSK2を有するので、スキューフェイルがある場合である。即ち、タイミングスキューSK2はクロック信号CK周期の1/4を外れるスキューに該当する。
したがって、RDQSBの位相はディレイ補償区間DCだけシフトすることによってDQSBに調節される。結局、RDQSBのような信号がメモリ素子から受信される場合に
図4の制御部144は位相調節されたDQSBが該当メモリ素子に印加されるようにすることができる。
【0048】
本発明によれば、PVT変動と相関無しでライトレベリングが安定的に遂行されるので、メモリにデータをライトする動作が信頼性あるように保障される。
PVT変動によってライトレベリング動作が1次的に失敗しても、本発明によるテーブル参照アルゴリズムを使用すれば、ライトレベリングに失敗したメモリモジュール又はメモリ素子を成功的に救済することができる。
結局、本発明の場合にはDIMMに制限されたライトレベリングを経験的(heuristic)アルゴリズムで遂行するだけでなく、与えられたSoCチップ、ターゲットボード、DIMMタイプ別に特化されたDQSディレイテーブルに基づいて補償を遂行する。したがって、より安定的であり、最適化されたライトレベリング遂行が可能になるようにする。即ち、不完全な経験的補償ではないテーブル値に基づいた決定論的な補償技法が本発明で利用される。
【0049】
本発明の最適化されたライトレベリング遂行はハードウェアとソフトウェアとの複合的な構成によって具現可能である。しかし、ライトレベリング遂行はこれに限定されず、個別的にハードウェアロジック又はソフトウェアアルゴリズムで具現することができる。
本発明でのライトレベリングの対象はDIMMのタイプやDDRの種類に無関係に多様なメモリ素子であり得る。
【0050】
図7は
図1の中でメモリモジュールに搭載可能であるメモリ素子の例示的な具体ブロック図である。
図7を参照すれば、DLL回路を含むDRAMの構成が示している。
DRAM201はセルアレイ121、外部クロックCLKを受信してバッファリングする入力バッファ122、データ入出力駆動器123、データストロボ信号(Data Strobe Signal)を生成するDQS生成器124、及びDLL回路125を含む。
【0051】
図7の場合にはDRAM201がDQSを出力する構成である。DQS生成器124は
図4のDQS生成器146と同様に構成されている。即ち、
図4のDQS生成器146が除去される場合にDRAM201内にDQS生成器124が具備される。
DQSはデータの有効性を示す信号として外部クロック信号CLKと同期されなければならない。DQ[0:N]はデータ出力ラインを示す。
外部クロック信号CLKはデータ信号DQ或いはDQSと位相同期される。データはデータ入出力駆動器123を通じてデータ入出力ラインDQ[0:N]に伝送される。
【0052】
DLL回路125はクロックツリーで発生できるすべての遅延成分を考慮して入力クロック信号CLKINを適切なタイミングに遅延する。DLL回路125によってデータ入出力端に使用されるクロック信号の位相は外部クロック信号CLKに同期される。
DLL回路125は位相検出器129、コントロールロジック128、及び遅延ライン126、及び位相補間器127を含む。DLL回路125は位相シフトを行う目標信号の位相と出力信号の位相とを同期させる役割を果たす。
【0053】
図7の場合にメモリ素子はDRAM(Dynamic Random Access Memory)をその例として挙げたが、本発明に適用されるメモリ素子はDRAMのみでなく、PRAM(Phase Change Random Access Memory)やRRAM(登録商標)(Resistance Random Access Memory)のような抵抗メモリ(Resistive Memory)や、NFGM(Nano Floating Gate Memory)、PoRAM(Polymer Random Access Memory)、MRAM(Magnetic Random Access Memory)、FRAM(登録商標)(Ferroelectric Random Access Memory)、NANDフラッシュ、NORフラッシュ等であってもよい。
【0054】
図8は
図1の中でメモリコントローラの他の例を示す具体ブロック図である。
図8を参照すれば、メモリコントローラ100を構成するLRT120とWLMC140とがより具体的な連結構成であって、
図4とは異なることを示している。
LRT120はROMやフラッシュメモリ等の不揮発性メモリで構成することができる。
WLMC140はクロック信号CKを生成するクロック発生器142、及び制御部144を含む。
図8の場合にデータストロボ信号DQSを生成するデータストロボ信号発生器は
図7で示したようにDRAMの内部に設けられる。
【0055】
この場合に、制御部144は、伝送されるクロック信号CKと受信されるDQSとの間のタイミングスキューを検出する。タイミングスキューがLRT120に登録されたデータストロボ信号基準ディレイ値の中で該当基準ディレイ値を所定許容範囲以上に外れた場合に、タイミングスキューフェイルであると判定される。
制御部144はLRT120の該当基準ディレイ値に基づいて該当メモリ素子DRAMに伝送されるクロック信号CKのディレイタイミングを調節するために制御信号CONをクロック発生器142に印加する。
【0056】
WLMC140とLRT120とはコマンド、アドレス、及びデータを伝送するバスBu1を通じて互いに連結されている。
WLMC140はクロック信号CKと該当メモリ素子から受信されるデータストロボ信号DQSの位相を比較してCK−DQS間のタイミングスキューに対するフェイルの可否を判定する。
【0057】
図9は
図1の中でメモリモジュールの外観を示す例示図である。
図9を参照すれば、メモリモジュール200はPCB等のような基板201に装着された複数のメモリ素子を含む。メモリモジュール200は、例えばSIMM(single in−line memory module)、DIMM(dual in−line memory modules)、RDIMM(registered dual in−line memory module)、UDIMM(unbuffered dual in−line memory module)、SODIMM(small outline dual in−line memory module)、及びECC−SODIMM(error check & correction small outline dual in−line memory module)の中で1つである。
【0058】
図10は
図9のメモリモジュールを搭載したメモリシステムの例示図である。
図10を参照すれば、メモリシステム700はメモリモジュール200とチップセット101とを含む。チップセット101は
図1のメモリコントローラ100を含む。メモリシステム700のメインボード701にはスロット703が1つ以上設置され、メモリモジュール200はスロット703に装着される。また、メインボード701にはCPU又はマイクロプロセッサが装着される。
【0059】
図10のメモリシステム700はPC(personal computer)、ラップトップ(laptop)コンピュータ、ストレージサーバ(storage server)のようなコンピューターシステムに適用することができる。
図10で、チップセット101はLRT120とWLMC140とを具備してクロック信号CKとデータストロボ信号DQSとの間のタイミングスキューをチェックし、DQSの出力タイミングを調節するライトレベリング動作を遂行する。
ライトレベリング動作はメモリシステムのパワーオンの時又はPVT変動の検出の時、或いは周期的に遂行することができる。
【0060】
図11は
図1の中でメモリモジュールの配置例を示すブロック図である。
図11はメモリモジュールのタイプの中でRDIMM(Registered Dual In−line Memory Moduel)の例示を示す。メモリコントローラ100はメモリモジュール200にデータ信号DQを伝送し、メモリモジュール200からデータ信号DQを受信する。また、メモリコントローラ100はクロック信号、コマンド、アドレス、及びデータストロボ信号をメモリモジュール200に出力する。
【0061】
メモリモジュール200はバッファチップ32及び複数のメモリチップ31_1T乃至31_9T、31_1B乃至31_9Bを含む。バッファチップ32はメモリコントローラ100から提供されるコマンド、アドレス、クロック信号、及び各種制御信号をバッファリングして複数のバス(図示せず)を通じてメモリチップ31_1T乃至31_9T、31_1B乃至31_9Bに伝送する。
【0062】
メモリチップ31_1T乃至31_9T、31_1B乃至31_9Bはシステムクロック信号に同期してメモリコントローラ100にデータを出力するか、或いはメモリコントローラ100からデータを受信してライトするSDRAMであってもよい。特に、メモリチップ31_1T乃至31_9T、31_1B乃至31_9BはDDR3やDDR4タイプのSDRAMであってもよい。
メモリチップ31_1T乃至31_9T、31_1B乃至31_9Bはモジュールボードの上面及び下面で互いに対応する位置に配置され、バッファチップ32の両側に各々1列に配置してもよい。メモリモジュール200はフライバイ構造のバスに連結される。
メモリチップは前述した図でメモリ素子に対応する。
【0063】
図12はデータ処理システムに適用された本発明の応用例を示したブロック図である。
図12を参照すれば、データ処理システムはCPU(Central Processing Unit;10)、システムメモリ20、ホストインターフェイス30、メインボード40、及びホスト50を含む。
CPU10はシステムメモリ20を制御するためのメモリコントローラ(MC:100)を含む。メモリコントローラ100はCPU10の一部として具現されるか、或いはCPU10とは独立的に具現することができる。システムメモリ20はCPU10がアクセス(access)するデータを格納する。例えば、システムメモリ20は複数のメモリモジュール21、22、23を含む。システムメモリ20は第1メモリモジュール21を基本的に含む。また、システムメモリ20はメモリ容量の拡張をために第2メモリモジュール22及び第3メモリモジュール23さらに含む。ここで、メモリモジュールはDRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)の集合で具現されてもよい。
【0064】
ホストインターフェイス30はCPU10の制御にしたがってホスト50とインターフェイスを遂行する。例えば、ホストインターフェイス30はSATA(Serial Advanced Technology Attachment)インターフェイス、PATA(Parallel Advanced Technology Attachment)インターフェイス、USB(Universal Serial Bus)インターフェイス、PCI(Peripheral Component Interconnect)インターフェイス、PCI−EXPRESS(Peripheral Component Interconnect Express)インターフェイス及びSAS(Serial Attached SCSI)インターフェイスの中で少なくとも1つで具現することができる。
ホスト50はホストインターフェイス30を通じてCPU10とデータ通信をする。
【0065】
図12のデータ処理システムはハードディスクドライブ(Hard Disk Drive)又はSSD(Solid State Drive)として機能することができる。また、データ処理システムはノートブック型コンピューターコンピュータ(Notebook Computer)、PC(Personal Computer)、ワークステーション(Workstation)、又はサーバ(Server)等に機能することができる。
図12の場合にメモリコントローラ100はLRT120とWLMC140とを具備してクロック信号CKとデータストロボ信号DQSとの間のタイミングスキューをチェックし、DQSの出力タイミングを調節するライトレベリング動作を安定的に遂行することができる。したがって、データ処理システムのライト動作がより信頼性あるように遂行される。
【0066】
図13は本発明の他の実施形態によるメモリシステムの具現例示図である。
図13を参照すれば、メモリシステム1300はメモリモジュール1310及びメモリコントローラ1320を含む。メモリモジュール1310はモジュールボード(Module Board)上に少なくとも1つ以上の半導体メモリ素子1330を装着することができる。半導体メモリ素子1330はDRAMチップで具現することができ、各々の半導体メモリ装置1330は複数個の半導体レイヤを含むことができる。半導体レイヤは1つ以上のマスターチップ1331と1つ以上のスレーブチップ1332とを含む。
【0067】
半導体レイヤ間の信号の伝達は貫通シリコンビアTSVを通じて遂行される。また、半導体レイヤ間の信号の伝達は光学I/O連結(optical input/output connection)を通じて遂行される。
マスターチップ1331とスレーブチップ1332とはメモリアレイ、格納ユニット、及びリフレッシュユニットを含む。
【0068】
メモリモジュール1310はシステムバスを通じてメモリコントローラ1320と通信する。システムバスを通じてデータ信号DQ、コマンド/アドレスCMD/ADD及びクロック信号CLK等がメモリモジュール1310とメモリコントローラ1320との間で送受信される。システムバスを利用するメモリモジュール1310とメモリコントローラ1320との間の信号の伝達は光学I/O連結(optical input/output connection)を通じて遂行される。
図13の場合に、メモリコントローラ1320はLRT120とWLMC140とを具備してライトレベリング動作を安定的に遂行することができる。
【0069】
図14は
図13のメモリシステムを装着するコンピューティングシステムを示すブロック図である。
図14を参照すれば、モバイル機器やデスクトップコンピュータコンピュータのようなコンピューティングシステム1400に本発明に適用される半導体メモリ素子がRAM1420として装着することができる。RAM1420として装着される半導体メモリ素子はメモリモジュール形態で具現することができる。
【0070】
コンピューティングシステム1400は中央処理装置1410、RAM1420、ユーザーインターフェイス1430、及び不揮発性メモリ1440を含み、これらの構成要素の各々はバス1450を通じて連結されている。不揮発性メモリ1440はSSDやHDDのような大容量格納装置で具現することができる。
図14の場合にCPU1410は
図1で示しているLRT120とWLMC140とを具備してライトレベリング動作を安定的に遂行することができる。
【0071】
たとえば
図14でRAM1420が搭載されたが、他の場合にMRAMがRAMの代わりに搭載されてもよい。SRAM又はDRAMのような揮発性半導体メモリ装置は電源の供給が中断された時、格納されたデータを失う。対照的に、磁気ランダムアクセスメモリ(MRAM)のような不揮発性半導体メモリ装置は電源供給が中断された後にも格納されたデータを維持する。したがって、電源の不良又は電源の遮断によってデータの消失を望まない場合に、不揮発性半導体メモリ装置がデータを格納するのに使用される。
【0072】
STT−MRAM(Spin transfer torque magneto resistive random access memory)がこのRAM1420の代わりに搭載される場合にCPU1410はライトレベリング動作を安定的に遂行することができる。
STT−MRAMセルはMTJ(Magnetic Tunnel Junction)素子と選択トランジスタとを含む。MTJ素子は固定層(fixed layer)と自由層(free layer)、及びこれらの間に形成されたトンネル層を基本的に含む。固定層の磁化方向は固定され、自由層の磁化方向は条件にしたがって固定層の磁化方向と同一であるか、或いは逆方向になることができる。
【0073】
図15は
図1のメモリモジュールに搭載可能であるメモリ素子のその他の例示的ブロック図である。
図15を参照すれば、不揮発性メモリ素子1100はメモリセルアレイ(MCA:1110)、制御部1120、電圧発生部1130、ローデコーダ1140、ページバッファ1150、及びカラムデコーダ1160を含むことができる。メモリセルアレイ1110はNANDフラッシュメモリである場合、メモリブロックに配置された複数個のメモリセルストリングを具備して構成することができる。制御部1120は遂行される動作(例えば、消去、プログラム、及びリード動作)にしたがって制御信号を電圧発生部1130、ローデコーダ1140、及びカラムデコーダ1160に出力する。
【0074】
電圧発生部1130はパス電圧Vpass、リード電圧Vread、消去電圧Verase、ステップ電圧Vstep等のようなメモリ装置の動作を遂行するのに必要である電圧を発生する。ローデコーダ1140はメモリセルアレイ1110のストリング選択ラインSSL、ワードラインWLk、接地選択ラインGSL、及び共通ソースラインSSL等のようなラインに電圧発生部1130で発生された電圧を遂行される動作モードにしたがって印加する。カラムデコーダ1160はメモリセルアレイ1110のビットラインBLnをページバッファ1150に連結されるようにする。カラムデコーダ1160はプログラミング又は消去動作の時、ビットラインBLnに印加される電圧を決定する。
【0075】
また、制御部1120はライトレベリング動作の時、メモリコントローラからコマンド(例えば、ライトコマンド)、ライトレベリングイネーブル信号、及びデータストロボ信号等を入力端I1を通じて受信する。制御部1120はコマンド信号及びクロック信号に応答して内部的に発生された内部コマンド信号(例えば、内部ライトコマンド信号)と、データストロボ信号に応答して内部的に発生された内部データストロボ信号との間の位相差を検出する。制御部1120は検出された位相差に対する情報を示す感知情報をメモリコントローラに連結された出力端O1を通じて出力する。
図15の場合にメモリコントローラ1320はLRT120とWLMC140とを具備して不揮発性メモリ素子1100に対するライトレベリング動作を安定的に遂行することができる。
【0076】
図16は
図15で示した不揮発性メモリ素子1100のメモリセルアレイ1110の例示的回路図である。
ローデコーダ1140は少なくとも1つ以上のストリング選択ラインSSL、ワードラインWLk、接地選択ラインGSL、及び共通ソースラインCSLに多様な電圧を印加する。ページバッファ1150はメモリセルストリングのビットラインBLnに連結される。
図16のメモリセルアレイ1110はNANDフラッシュメモリ装置のメモリセルアレイの例示であり、本発明はこれに限定されない。即ち、本発明のメモリセルアレイはDDR3 SDRAMのメモリセルアレイも含む。
【0077】
図16のメモリセルアレイ以外にも、不揮発性半導体メモリ、例えば、EEPROM(Electrically Erasable Programmable Read−Only Memory)、フラッシュメモリ(flash memory)、MRAM(Magnetic RAM)、STT−MRAM(Spin−Transfer Torque MRAM)、Conductive bridging RAM(CBRAM)、FeRAM(Ferroelectric RAM)、OUM(Ovonic Unified Memory)であると称されるPRAM(Phase change RAM)、抵抗性メモリ(Resistive RAM:RRAM又はReRAM)、ナノチューブRRAM(Nanotube RRAM)、ポリマーRAM(Polymer RAM:PoRAM)、ナノ浮遊ゲートメモリ(Nano Floating Gate Memory:NFGM)、ホログラフィックメモリ(holographic memory)、分子電子メモリ素子(Molecular Electronics Memory Device)、又は絶縁抵抗変化メモリ(Insulator Resistance Change Memory)のメモリセルアレイを使用することができる。
【0078】
図17はメモリカードに適用された本発明の応用例を示す回路ブロック図である。
図17を参照すれば、メモリカード1200はコマンド及びアドレス信号C/Aを発生するメモリコントローラ1220、及びメモリモジュール等のようなターゲット1210を含む。ターゲット1210は複数個のフラッシュメモリ装置を具備するフラッシュメモリやSDRAM等で構成することができる。ターゲット1210はSoCで構成されてもよい。
【0079】
メモリコントローラ1220はホストとメモリコントローラ1220との間でコマンド及びアドレスをインターフェイシングするホストインターフェイス1223、及びターゲット1210とメモリコントローラ1220との間でコマンド及びアドレスをインターフェイシングするメモリインターフェイス1225を含む。
メモリコントローラ1220はまた、制御部1224、プロセッサ1222、及びSRAM1221を含む。
【0080】
ホストインターフェイス1223、制御部1224、及びメモリインターフェイス1225は共通バスを通じてコントローラメモリ(SRAM:1221)やプロセッサ(CPU:1222)と通信する。
また、メモリコントローラ1220の制御部1224はライトレベリング動作の時、メモリインターフェイス1225を通じてターゲット1210内の複数個のメモリ素子の中で少なくとも1つのメモリ素子にライトレベリング動作のためのコマンド信号、ライトレベリング制御信号、及びデータストロボ信号を出力する。
メモリコントローラ1220及び回路ブロック1221、1222、1223、1224、及び1225を含むメモリカード1200の構成要素はメモリコントローラ1220に含み、ターゲット1210は揮発性メモリモジュール或いは不揮発性メモリモジュールが全て含むことができる。
【0081】
図17のターゲット1210やCPU1222のチップは各々或いは共に多様な形態のパッケージを利用して実装されることができる。例えば、チップはPoP(Package on Package)、Ball grid arrays(BGAs)、Chip scale packages(CSPs)、Plastic Leaded Chip Carrier(PLCC)、Plastic Dual In Line Package(PDIP)、Die in Waffle Pack、Die in Wafer Form、Chip On Board(COB)、Ceramic Dual In Line Package(CERDIP)、Plastic Metric Quad Flat Pack(MQFP)、Thin Quad Flatpack(TQFP)、Small Outline(SOIC)、Shrink Small Outline Package(SSOP)、Thin Small Outline(TSOP)、Thin Quad Flatpack(TQFP)、System In Package(SIP)、Multi Chip Package(MCP)、Wafer−level Fabricated Package(WFP)、Wafer−Level Processed Stack Package(WSP)等のような方式にパッケージ化して実装することができる。
【0082】
図18はモバイルディバイスに適用された本発明の応用例を示す回路ブロック図である。
モバイルディバイス1500は共通バスB1を通じて通信するプロセッサ(CPU)1530、RAM1540、ユーザーインターフェイス1550、メモリシステム1510、及びモデム1520を具備して構成することができる。
メモリシステム1510は共通バスB1を通じてプロセッサ(CPU)1530に連結される。
メモリシステム1510を構成するメモリコントローラ1512は本発明によって参照メモリを参照してライトレベリング動作を遂行する。
【0083】
ライトレベリング動作のためにコマンド、クロック信号、ライトレベリング制御信号、及びデータストロボ信号がチップボード1511に提供される。チップボード1511内のメモリ素子はコマンド及びクロック信号に応答して内部コマンド信号を発生し、データストロボ信号に応答して内部データストロボ信号を発生することができる。内部コマンド信号及び内部データストロボ信号の間の位相差がメモリ素子内部で感知される場合に、その感知された位相差を示すスキュー情報Det_infはメモリコントローラ1512に逆に提供される。スキュー情報はメモリコントローラ1512がデータストロボ信号の出力タイミングを調節するのに利用される。
【0084】
図18内のメモリシステム1510は多様な応用(例えば、ソリッドステートディスクSSD、カメライメージセンサCIS、及びコンピュータ応用チップセット等のような電子装置)にも適用することができる。
メモリシステム1510は多様な形態のパッケージ(例えば、ボールグリッドアレイ(BGA)、チップスケールパッケージ(CSP)、PLCC(plastic leaded chip carrier)、PDIP(plastic dual in−line package)、マルチチップパッケージ(MCP)、WFP(waferlevel fabricated package)、及びWSP(wafer−level processed stock package)等)でパッケージングすることができる。
【0085】
CPU1530とメモリコントローラ1512との間のインターフェイスは多様なプロトコルを利用して遂行することができる。例示的に、メモリコントローラ1512はUSB(Universal Serial Bus)プロトコル、MMC(multimedia card)プロトコル、PCI(peripheral component interconnection)プロトコル、PCI−E(PCI−express)プロトコル、ATA(Advanced Technology Attachment)プロトコル、Serial−ATAプロトコル、Parallel−ATAプロトコル、SCSI(small computer small interface)プロトコル、ESDI(enhanced small disk interface)プロトコル、そしてIDE(Integrated Drive Electronics)プロトコル等のような多様なインターフェイスプロトコルの中で1つを利用することができる。
【0086】
図18のようなディバイスはUMPC(Ultra Mobile PC)、ワークステーション、ネットブック(net−book)、PDA(Personal Digital Assistants)、ポータブル(portable)コンピュータ、ウェブタブレット(web tablet)、タブレットコンピュータ(tablet computer)、無線電話機(wireless phone)、モバイルフォン(mobile phone)、スマートフォン(smart phone)、e−ブック(e−book)、PMP(portable multimedia player)、携帯用ゲーム機、ナビゲーション(navigation)装置、 ブラックボックス(black box)、デジタルカメラ(digital camera)、DMB(Digital Multimedia Broadcasting)再生器、3次元受像機(3−dimensional television)、デジタル音声録音機(digital audio recorder)、デジタル音声再生器(digital audio player)、デジタル映像録画器(digital picture recorder)、デジタル映像再生器(digital picture player)、デジタル動画録画器(digital video recorder)、デジタル動画再生器(digital video player)、データセンタを構成するストレージ、情報を無線環境で送受信できる装置、ホームネットワークを構成する多様な電子装置の中で1つ、コンピュータネットワークを構成する多様な電子装置の中で1つ、テレマティクスネットワークを構成する多様な電子装置の中で1つ、RFID装置、又はコンピューティングシステムを構成する多様な構成要素の中で1つ等のような電子装置の多様な構成要素の中で1つに変更又は拡張されることもある。
【0087】
以上のように図面と明細書とを通じて本発明の実施形態が開示された。ここで、特定な用語が使用されたが、これは単なる本発明を説明するための目的で使用されたものであり、意味限定や特許請求の範囲に記載された本発明の範囲を制限するために使用されたものではない。したがって、本技術分野の通常の知識を有する者であれば、これから多様な変形及び均等な他の実施形態が具現できるという点を理解できる。
【0088】
例えば、メモリコントローラがライトレベリングを遂行することと説明したが、他の場合に本発明の技術的思想を逸脱せず、図面の回路構成を変形するか、或いは加減して参照テーブルに基づいて遂行されるライトレベリングを異なるようにすることができる。また、本発明の概念ではDIMMモジュールを主にしたライトレベリングを説明したが、これに限定されず、他の半導体モジュールにも本発明を適用することができる。