(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-08
(45)【発行日】2022-11-16
(54)【発明の名称】ストレージ装置
(51)【国際特許分類】
G06F 12/00 20060101AFI20221109BHJP
【FI】
G06F12/00 564D
G06F12/00 597U
(21)【出願番号】P 2018196953
(22)【出願日】2018-10-18
【審査請求日】2021-08-18
(31)【優先権主張番号】10-2017-0136044
(32)【優先日】2017-10-19
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】390019839
【氏名又は名称】三星電子株式会社
【氏名又は名称原語表記】Samsung Electronics Co.,Ltd.
【住所又は居所原語表記】129,Samsung-ro,Yeongtong-gu,Suwon-si,Gyeonggi-do,Republic of Korea
(74)【代理人】
【識別番号】110000051
【氏名又は名称】弁理士法人共生国際特許事務所
(72)【発明者】
【氏名】申 崇 晩
(72)【発明者】
【氏名】金 亨 鎭
(72)【発明者】
【氏名】金 榮 ウク
【審査官】北村 学
(56)【参考文献】
【文献】米国特許出願公開第2014/0078840(US,A1)
【文献】特開2005-056334(JP,A)
【文献】特開2012-037973(JP,A)
【文献】特開2015-056105(JP,A)
【文献】特開2013-065372(JP,A)
【文献】特開2009-075682(JP,A)
【文献】特開2013-200933(JP,A)
【文献】特開2012-248082(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
IPC G06F 12/00 - 12/06
(57)【特許請求の範囲】
【請求項1】
メモリブロックを含む不揮発性メモリ装置と、
複数のデータ入力及び出力ラインとデータストローブラインを通じて前記不揮発性メモリ装置と連結される制御機と、を含み、
前記不揮発性メモリ装置及び前記制御機は、前記データストローブラインを通じて伝達されるデータストローブ信号の遅延量を調節して前記
複数のデータ入力及び出力ラインのトレーニングを遂行し、前記トレーニングの結果により前記
複数のデータ入力及び出力ラインの遅延量を調節
し、
前記制御機はトレーニングコマンド及びデータビットを前記不揮発性メモリ装置に伝送し、
前記不揮発性メモリ装置は前記トレーニングコマンドに応答して前記データストローブ信号の遅延量を調節し、前記データビットを前記データストローブ信号と共に前記制御機に伝送する、ことを特徴とするストレージ装置。
【請求項2】
前記不揮発性メモリ装置及び前記制御機は
、前記
複数のデータ入力及び出力ラインを通じて伝達される
信号であるデータビットの
立ち上がりエッジと立ち下がりエッジとの間の中心(centers)が整列されるように、前記
複数のデータ入力及び出力ラインの遅延量を調節する、ことを特徴とする請求項1に記載のストレージ装置。
【請求項3】
前記データビットはコマンドの形態で前記不揮発性メモリ装置に伝達される、ことを特徴とする請求項
1に記載のストレージ装置。
【請求項4】
前記制御機は前記データストローブ信号の立ち上がりエッジと立ち下がりエッジとの間の中心に同期して前記データビットを識別し、前記データストローブ信号の遅延量が調節されることにより、前記データビットの第1エッジ及び第2エッジを識別する、ことを特徴とする請求項
1に記載のストレージ装置。
【請求項5】
前記制御機は、
前記複数のデータ入力及び出力ラインを通じて伝達される信号であるデータビットの
立ち上がりエッジと立ち下がりエッジとの間の中心を検出し、前記検出された中心を整列させる前記データビットについての遅延量を計算する、ことを特徴とする請求項
1に記載のストレージ装置。
【請求項6】
前記制御機は前記計算された遅延量を前記不揮発性メモリ装置へ伝達し、
前記不揮発性メモリ装置は前記伝達された遅延量により前記
複数のデータ入力及び出力ラインの遅延量をそれぞれ調節する、ことを特徴とする請求項
5に記載のストレージ装置。
【請求項7】
前記制御機は前記データストローブ信号の遅延量を調節して前記不揮発性メモリ装置に伝送すると同時に、データビットを前記
複数のデータ入力及び出力ラインを通じて前記不揮発性メモリ装置に伝送し、
前記不揮発性メモリ装置は前記制御機に前記データストローブラインを通じて第2データストローブ信号を前記制御機に伝送すると同時に、前記伝送されたデータビットを第2データビットとして前記
複数のデータ入力及び出力ラインを通じて前記制御機に伝送する、ことを特徴とする請求項1に記載のストレージ装置。
【請求項8】
メモリブロックを含む不揮発性メモリ装置と、
複数のデータ入力及び出力ラインとデータストローブラインを通じて
前記不揮発性メモリ装置と連結される制御機と、を含み、
前記制御機は、
前記データストローブラインと連結された第1遅延機と、
前記複数のデータ入力及び出力ラインと各々連結された
複数の第2遅延機と、を含み、
前記第1遅延機の最大遅延量は
前記複数の第2遅延機のそれぞれの最大遅延量より大き
く、
前記制御機はトレーニングコマンド及びデータビットを前記不揮発性メモリ装置に伝送し、
前記不揮発性メモリ装置は前記トレーニングコマンドに応答してデータストローブ信号の遅延量を調節し、前記データビットを前記データストローブ信号と共に前記制御機に伝送する、ことを特徴とするストレージ装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は半導体メモリに係り、さらに詳細には、ストレージ装置及びストレージ装置の作動方法に関する。
【背景技術】
【0002】
半導体論理素子の製造技術が発展するにつれ、半導体論理素子の機能が向上している。特に、メモリ制御機に使用される半導体論理素子の機能が向上し、1つのメモリ制御機が多数のメモリ装置を制御するシステムが開発・使用されている。
【0003】
メモリ制御機とメモリ装置はデータ入力及び出力ラインを通じて通信しあう。メモリ制御機とメモリ装置の間でデータ入力及び出力ラインを通じたデータ伝送の信頼性を高めるために、トレーニングが遂行できる。トレーニングはデータ入力及び出力ラインを通じて並列に伝送されるデータの伝送又は到達タイミングを整列することを含む。
【0004】
トレーニングはデータ伝送の信頼性を向上させる。しかしながら、トレーニングを遂行するためにメモリ制御機とメモリ装置に追加的な回路又は機能ブロックが提供されなければならない。従って、トレーニングを導入してデータ伝送の信頼性を向上させながら、トレーニングのための追加的な回路又は機能ブロックのオーバーヘッドを減らす装置又は方法が要求されている。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明の目的はトレーニングのための回路又は機能ブロックのオーバーヘッドを減らし、且つトレーニングを通じてデータの伝送の信頼性を高めるストレージ装置及びストレージ装置の作動方法を提供することにある。
【課題を解決するための手段】
【0007】
本発明の実施例によるストレージ装置は、メモリブロックを含む不揮発性メモリ装置と、データ入力及び出力ラインとデータストローブラインを通じて不揮発性メモリ装置と連結される制御機と、を含む。不揮発性メモリ装置及び制御機は、データストローブラインを通じて伝達されるデータストローブ信号の遅延量を調節して前記データ入力及び出力ラインのトレーニングを遂行し、前記トレーニングの結果により前記データ入力及び出力ラインの遅延量を調節する。
本発明に実施例によるストレージ装置は、メモリブロックを含む不揮発性メモリ装置と、データ入力及び出力ラインとデータストローブラインを通じて不揮発性メモリ装置と連結される制御機と、を含む。前記制御機はデータストローブラインと連結された第1遅延機と、データ入力及び出力ラインと各々連結された第2遅延機と、を含む。第1遅延機の最大遅延量は第2遅延機のそれぞれの最大遅延量より大きい。
【0008】
本発明の実施例による不揮発性メモリ装置及び制御機を含むストレージ装置の作動方法は、前記制御機が第1データストローブ信号の遅延量を調節して前記不揮発性メモリ装置に第1データストローブ信号及び第1データビットを伝送するステップと、前記不揮発性メモリ装置が前記データストローブ信号に同期して前記伝送された第1データビットを貯蔵するステップと、前記不揮発性メモリ装置が第2データストローブ信号及び第2データビットを制御機に伝送するステップと、前記制御機が前記第2データストローブ信号に同期して前記伝送された第2データビットを貯蔵するステップと、前記制御機が、前記貯蔵された第2データビットに基づいて前記第1データビットを伝送する第1遅延量を調節するステップと、を含む。
【発明の効果】
【0009】
本発明によると、ストレージ装置はデータストローブ信号を遅延させ、データストローブ信号とデータビットのトレーニングを遂行する。データストローブ信号に対し大きな遅延量を有する遅延機が使用され、データビットに対し小さな遅延量を有する遅延機が使用される。従って、遅延機のサイズ及び複雑度が減少し、トレーニングによるオーバーヘッドが減少するストレージ装置及びストレージ装置の作動方法が提供される。
【図面の簡単な説明】
【0010】
【
図1】本発明の実施例によるストレージ装置を示すブロック図である。
【
図2】本発明の実施例による不揮発性メモリ装置を示すブロック図である。
【
図3】本発明の実施例によるストレージ装置の作動方法を示す順序図である。
【
図4】ストレージ装置が入力トレーニングを遂行する例を示す順序図である。
【
図5】制御機がトレーニングコマンド及びデータビットを伝送する例を示す。
【
図6】
図5のトレーニングコマンド及びデータビットに応答して不揮発性メモリ装置がデータビットを出力する例を示す。
【
図7】
図6のデータビットが制御機から受信された例を示す。
【
図8】不揮発性メモリ装置の入力及び出力回路の例を示す。
【
図10】
図8の出力の遅延スイープ(sweep)回路の例を示す。
【
図11】
図4の方法によってトレーニングが遂行される例を示す。
【
図12】制御機が、検出されたエッジ(edge)により遅延量を計算する例を示す。
【
図13】ストレージ装置が入力トレーニングを遂行する他の例を示す順序図である。
【
図14】ストレージ装置が出力トレーニングを遂行する例を示す順序図である。
【
図15】制御機がデータビットを不揮発性メモリ装置に伝送する例を示す。
【
図16】
図15のデータビットが不揮発性メモリ装置において受信された例を示す。
【
図17】制御機のメモリインターフェースの例を示す。
【
図18】
図14の方法によりトレーニングが遂行される例を示す。
【
図19】本発明の応用例によるストレージ装置を示すブロック図である。
【
図20】本発明の応用例によるストレージ装置を示すブロック図である。
【発明を実施するための形態】
【0011】
以下に本発明の技術分野における通常の知識を有する者が本発明を容易に実施できるように、本発明の実施例を明確かつ詳細に記載する。
図1は本発明の実施例によるストレージ装置100を示すブロック図である。
図1を参照すると、ストレージ装置100は不揮発性メモリ装置110及び制御機120を含む。不揮発性メモリ装置110はフラッシュメモリ、相変化メモリ(PRAM)、磁気抵抗メモリ(MRAM)、抵抗性メモリ(RRAM(登録商標))、強誘電体メモリ(FRAM(登録商標))などの多様なメモリを包含する。
【0012】
不揮発性メモリ装置110は、同種のメモリ又は異種のメモリを包含できる。不揮発性メモリ装置110はデータ入力及び出力ライン(DQ)、第1制御ライン(CT1)、そして第2制御ライン(CT2)を通じて制御機と通信する。
【0013】
データ入力及び出力ライン(DQ)は不揮発性メモリ装置110に共通に連結される。例えば、制御機120からデータ入力及び出力ライン(DQ)の中の一つを通じて伝送される信号(例えば、データビット)は、不揮発性メモリ装置110に共通に伝達される。
【0014】
制御機120は不揮発性メモリ装置110を制御するように構成される。制御機120はライト(write)、リード(read)又は消去を遂行するように不揮発性メモリ装置110を制御する。なお、制御機120は不揮発性メモリ装置110とトレーニングできる。
【0015】
トレーニングは、ストレージ装置100に電源が供給された後に又はストレージ装置100が節電モードから正常モードに復元された後に遂行される。トレーニングは制御機120が不揮発性メモリ装置110を通常的に制御(例えば、ライト、リード又は消去を遂行するように制御)する前に遂行される。
【0016】
制御機120は、メモリインターフェース121、入力及び出力トレーナー122、そしてメモリ123を含む。メモリインターフェース121は不揮発性メモリ装置110と実質的な通信を遂行する。例えば、メモリインターフェース121は予め決められた規則により定められたレベル及びタイミングを不揮発性メモリ装置110と交換できる。
【0017】
入力及び出力トレーナー122は、メモリインターフェース121を通じて不揮発性メモリ装置110とトレーニングを遂行する。入力及び出力トレーナー122はトレーニングが必要な情報又はトレーニングにより獲得された情報(例えば、遅延量)をメモリ123に貯蔵する。入力及び出力トレーナー122は、メモリ123を用いて不揮発性メモリ装置110とトレーニングを遂行する。
【0018】
図2は、本発明の実施例による不揮発性メモリ装置110を示すブロック図である。
図1と
図2を参照すれば、不揮発性メモリ装置110はメモリセルアレイ111、行デコーダー回路112、ページバッファー回路113、入力及び出力回路114、パス・フェイルチェック回路115、そして制御ロジック回路116を含む。
【0019】
メモリセルアレイ111は、複数のメモリブロック(BLK1からBLKz)を含む。各メモリブロックは複数のメモリセルを含む。各メモリブロックは少なくとも1つの接地選択ライン(GSL)、複数のワードライン(WL)、そして少なくとも1つのストリング選択ライン(SSL)を通じて行デコーダー回路112に連結される。各メモリブロックは複数のビットライン(BL)を通じてページバッファー回路113に連結される。複数のメモリブロック(BLK1乃からBLKz)は複数のビットライン(BL)に共通に連結される。
【0020】
例示的に、複数のメモリブロック(BLK1乃からBLKz)の各々は消去動作の単位である。メモリセルアレイ111のメモリセルは1つのメモリブロックの単位で消去される。1つのメモリブロックに属するメモリセルは同時に消去される。他の例として、各メモリブロックは複数のサブブロックに分割される。複数のサブブロックの各々は消去作動の単位である。
【0021】
行デコーダー回路112は複数の接地選択ライン(GSL)、複数のワードライン(WL)、そして複数のストリング選択ライン(SSL)を通じてメモリセルアレイ111に連結される。行デコーダー回路112は制御ロジック回路116の制御によって作動する。行デコーダー回路112は入力及び出力回路114から行アドレス(RA)を受信できる。行デコーダー回路112は受信した行アドレスをデコーディングし、デコーディングされたアドレスによりストリング選択ライン(SSL)、ワードライン(WL)、そして接地選択ライン(GSL)に印加される電圧を制御できる。
【0022】
ページバッファー回路113は複数のビットライン(BL)を通じてメモリセルアレイ111に連結される。ページバッファー回路113は、複数のデータライン(DL)を通じて入力及び出力回路114と連結される。ページバッファー回路113は制御ロジック回路116の制御により作動する。
【0023】
ライト作動時に、ページバッファー回路113はメモリセルにプログラムされるデータビットを貯蔵できる。貯蔵されたデータビットに基づいて、ページバッファー回路113は複数のビットライン(BL)に電圧を印加できる。ページバッファー回路113はライトドライバーとして機能できる。リード作動又は検証リード時に、ページバッファー回路113はビットライン(BL)の電圧をセンシングし、センシングの結果を貯蔵する。ページバッファー回路113は感知増幅器として機能できる。
【0024】
入力及び出力回路114は、複数のデータライン(DL)を通じてページバッファー回路113と連結される。入力及び出力回路114はデータ入力及び出力ライン(DQ、例えば、DQ1~DQ8)を通じて制御機120と連結される。入力及び出力回路114はページバッファー回路113によりリードされたデータビットをデータ入力及び出力ライン(DQ1~DQ8)を通じて制御機120に出力し、制御機120からデータ入力及び出力ライン(DQ1~DQ8)を通じて受信されるデータビットをページバッファー回路113に伝達する。
【0025】
入力及び出力回路114はデータ入力及び出力ライン(DQ1~DQ8)を通じてアドレスを受信する。入力及び出力回路114は受信したアドレスの中の行アドレス(RA)を行デコーダー回路112に伝達する。入力及び出力回路114は受信したアドレスの中の列アドレスを用いて、ページバッファー回路113にデータビットを貯蔵するか又はページバッファー回路113に貯蔵されたデータビットをリードする。
【0026】
入力及び出力回路114はデータ入力及び出力ライン(DQ1~DQ8)を通じてコマンド(CMD)を受信する。入力及び出力回路114は受信したアドレス(CMD)を制御ロジック回路116に伝達する。入力及び出力回路114は制御機120にデータストローブ信号(DQS)を出力する。入力及び出力回路114はデータストローブ信号(DQS)に同期してデータ入力及び出力ライン(DQ1~DQ8)を通じてデータビットを出力する。
【0027】
以下において、簡潔な説明のため、データ入力及び出力ライン(DQ1~DQ8)を通じて受信(入力)又は送信(出力)される信号はデータ入力及び出力信号であると称し、データ入力及び出力ライン(DQ1~DQ8)と同一の参照番号で引用する。データ入力及び出力信号(DQ1~DQ8)はそれぞれ同一の参照番号を使用するデータ入力及び出力ライン(DQ1~DQ8)を通じて伝達される。
【0028】
入力及び出力回路114は制御機120にレディー/ビジー信号(R/B)を出力する。例えば、入力及び出力回路114が制御機120からコマンド、アドレス又はデータビットを受信できる時、入力及び出力回路114はレディー状態を示すレディー/ビジー信号(R/B)を出力する。入力及び出力回路114が制御機120からコマンド、アドレス又はデータビットを受信できない場合、入力及び出力回路114はビジー状態を示すレディー/ビジー信号(R/B)を出力する。
【0029】
パス・フェイルチェック回路(PFC)115は検証リードの後に、ページバッファー回路113からセンシングの結果を受信できる。受信したセンシングの結果に基づいて、パス・フェイルチェック回路115はライト(又は消去)のパス又はフェイルを判定する。パス又はフェイルの判定結果は制御ロジック回路116に伝達される。
【0030】
制御ロジック回路116は制御機120からデータストローブ信号(DQS)、アドレスラッチイネーブル信号(ALE)、コマンドラッチイネーブル(CLE)、ライトイネーブル信号(/WE)、リードイネーブル信号(/RE)、そしてチップイネーブル信号(/CE)を受信する。
【0031】
例えば、制御ロジック回路116に伝達されるデータストローブ信号(DQS)と、入力及び出力回路114が伝送するデータストローブ信号(DQS)は同一の制御ラインを通じて伝達される両方向信号である。データリード(例えば、出力)時に、データストローブ信号(DQS)は不揮発性メモリ装置110により制御される。データライト(例えば、入力)時に、データストローブ信号(DQS)は制御機120により制御される。
【0032】
制御機120がデータ入力及び出力ライン(DQ1~DQ8)を通じて不揮発性メモリ装置110にデータビットを伝送する時、制御機120がデータストローブ信号(DQS)を伝送する。制御ロジック回路116はデータストローブ信号(DQS)に同期して適切なタイミングでデータ入力及び出力ライン(DQ1~DQ8)の信号を貯蔵(又はラッチ)するように入力及び出力回路114を制御する。
【0033】
不揮発性メモリ装置110がデータ入力及び出力ライン(DQ1~DQ8)を通じて制御機120にデータビットを伝送する時、入力及び出力回路114がデータストローブ信号(DQS)を伝送する。制御機120はデータストローブ信号(DQS)に同期して、適切なタイミングでデータ入力及び出力ライン(DQ1~DQ8)の信号を貯蔵(又はラッチ)する。
【0034】
アドレスラッチイネーブル信号(ALE)はデータ入力及び出力ライン(DQ1~DQ8)を通じて入力されるデータビットがアドレスであることを示す。アドレスラッチイネーブル信号(ALE)が活性化されると、制御ロジック回路116はデータ入力及び出力ライン(DQ1~DQ8)を通じて受信されるデータビットをアドレスとして処理する。例えば、制御ロジック回路116は行アドレス(RA)が行デコーダー回路112へ伝達されるように不揮発性メモリ装置110を制御する。
【0035】
コマンドラッチイネーブル信号(CLE)はデータ入力及び出力ライン(DQ1~DQ8)を通じて入力されるデータビットがコマンド(CMD)であることを示す。コマンドラッチイネーブル信号(CLE)が活性化されると、制御ロジック回路116はデータ入力及び出力ライン(DQ1~DQ8)を通じて受信されるデータビットをコマンド(CMD)として処理する。例えば、制御ロジック回路116は入力及び出力回路114に貯蔵されたコマンド(CMD)をフェッチ(fetch)し、フェッチされたコマンドを実行する。
【0036】
ライトイネーブル信号(/WE)はデータ入力及び出力ライン(DQ1~DQ8)を通じてコマンド(CMD)又はアドレスが入力される時、データ入力及び出力ライン(DQ1~DQ8)のデータビットを貯蔵(又はラッチ)するタイミングを示す。リードイネーブル信号(/RE)は制御機120がリード(又は出力)時に、不揮発性メモリ装置110に臨時のクロックを提供するのに使用される。
【0037】
例えば、リードの時に、制御機120はリードイネーブル信号(/RE)をハイレベル(high level)とローレベル(low level)で周期的にトグル(toggle)できる。制御ロジック回路116はリードイネーブル信号(/RE)を入力及び出力回路114へ伝達する。入力及び出力回路114はリードイネーブル信号(/RE)を遅延してデータストローブ信号(DQS)を生成できる。入力及び出力回路114は生成されたデータストローブ信号(DQS)と同期して、データビットをデータ入力及び出力ライン(DQ1~DQ8)を通じて伝送する。
【0038】
チップイネーブル信号(/CE)は不揮発性メモリ装置110を活性化する。レディー/ビジー信号(R/B)は不揮発性メモリ装置110がレディー状態であるか又はビジー状態であるかを示すのに使用される。チップイネーブル信号(/CE)とレディー/ビジー信号(R/B)は第2制御ライン(CT2)を通じて伝送される。
【0039】
データストローブ信号(DQS)、アドレスラッチイネーブル信号(ALE)、コマンドラッチイネーブル信号(CLE)、ライトイネーブル信号(/WE)、そしてリードイネーブル信号(/RE)は第1制御ライン(CT1)を通じて通信される。第1制御ライン(CT1)と第2制御ライン(CT2)との差異は、
図19を参照してさらに、詳細に説明する。
【0040】
制御ロジック回路116は出力トレーナー117を含む。出力トレーナー117はリード動作の時に、入力及び出力回路114がデータの入力及び出力ライン(DQ1~DQ8)を通じて出力するデータビットについてのトレーニングを遂行する。トレーニングは添付した図面を参照して以下で、さらに詳細に説明する。
【0041】
図3は、本発明の実施例によるストレージ装置100の作動方法を示す順序図である。
図1と
図3を参照すれば、S110ステップでストレージ装置100はパワーオン(power-on)を検出する。例えば、制御機120はパワーオンを検出する。他の例として、制御機120はストレージ装置100が節電モードから正常モードに復元されて、電源が供給されるのを検出する。
【0042】
S120ステップで、ストレージ装置100はデータストローブ信号(DQS)の遅延量を可変して、データの入力及び出力ライン(DQ)のトレーニングを遂行する。例えば、ストレージ装置100はデータストローブ信号(DQS)の遅延量を可変して、データ入力及び出力ライン(DQ)を通じてデータビットを伝送することにより、トレーニングを遂行する。
【0043】
S130ステップで、ストレージ装置100はトレーニングの結果によってデータの入力及び出力ライン(DQ)の遅延量をそれぞれ調節する。例えば、ストレージ装置100はデータストローブ信号(DQS)の特定のタイミングでデータの入力及び出力ライン(DQ)を通じて伝送されるデータビットの中心(centers)が整列されるように、データの入力及び出力ライン(DQ)の遅延量を調節する。
【0044】
例えば、トレーニングは出力トレーニング(又はリードトレーニング)及び入力トレーニング(又はライトトレーニング)を包含する。出力トレーニング(又はリードトレーニング)は不揮発性メモリ装置110がデータストローブ信号(DQS)を制御機120に伝送し、そしてデータ入力及び出力ライン(DQ)を通じてデータビットを制御機120に伝送する時の遅延量(又は伝送タイミング)を検出及び調節する。
【0045】
入力トレーニング(又はライトトレーニング)は制御機120がデータストローブ信号(DQS)を不揮発性メモリ装置110に伝送し、そしてデータの入力及び出力ライン(DQ)を通じてデータビットを不揮発性メモリ装置110へ伝送する時の遅延量(又は伝送タイミング)を検出及び調節する。
【0046】
図4は、ストレージ装置100が入力トレーニング(又はライトトレーニング)を遂行する例を示す順序図である。
図1、
図2及び
図4を参照すれば、S210ステップで、制御機120は不揮発性メモリ装置110にトレーニングコマンド(CMD_T)及びデータビット(DB)を伝送する。データビット(DB)はトレーニンングのため、予め定められたビットであり、メモリ123からリードされる。データビット(DB)はコマンドの形態で伝達される。
【0047】
S220ステップで、不揮発性メモリ装置110はトレーニングコマンド(CMD_T)及びデータビット(DB)に応答してデータストローブ信号(DQS)を制御機120へ伝送し、そしてデータビット(DB)をデータ入力及び出力ライン(DQ)を通じて制御機120へ伝送する。
【0048】
S230ステップで、不揮発性メモリ装置110は遅延量の可変が完了したかを判定する。例えば、データストローブ信号(DQS)の遅延量が、ユニットの遅延量の単位で予め定められた回数だけ可変されるか、又は予め定められた遅延量の程度に可変された時に、可変が終了したと判定される。
【0049】
可変が完了しなかったら、S240ステップで、不揮発性メモリ装置110はデータストローブ信号(DQS)の遅延量をユニット遅延量の単位で調節し、そしてS220ステップを再び遂行する。可変が完了したら、S250ステップで、不揮発性メモリ装置110は可変が完了したことを制御機120に知らせる。
【0050】
例えば、不揮発性メモリ装置110はレディー/ビジー信号(R/B)のレベルを調節することにより、可変が完了したことを制御機120に知らせることができる。例示的に、S250ステップは選択的に遂行される。S250ステップが省略された場合、制御機120は予め定められた回数だけ不揮発性メモリ装置110からデータビット(DB)及びデータストローブ信号(DQS)を受信するように構成される。
【0051】
可変が完了するまで、制御機120は遅延量が可変されるデータストローブ信号(DQS)とデータビット(DB)を不揮発性メモリ装置110から反復的に受信する。データストローブ信号(DQS)及びデータビット(DB)に基づいて、制御機はデータビット(DB)のエッジ(edges)を検出する。
【0052】
S260ステップで、制御機120はデータビット(DB)のエッジからデータビット(DB)の中心を検出する。S270ステップで、制御機120はデータの入力及び出力ライン(DQ)の遅延量(例えば、出力遅延量又はリード遅延量)を計算する。
【0053】
S280ステップで、制御機120は計算されたデータ入力及び出力信号(例えば、データビット(DB)の伝送タイミング)を不揮発性メモリ装置110へ伝送する。S290ステップで、制御機120から伝送された遅延量により、不揮発性メモリ装置110はデータ入力及び出力信号(DQ)の遅延量を調節する。
【0054】
図5は、制御機120がトレーニングコマンド(CMD_T)及びデータビット(DB)を伝送する例を示す。
図1、
図2及び
図5を参照すれば、トレーニングコマンド(CMD_T)及びデータビット(DB)はライトイネーブル信号(/WE)に同期してデータの入力及び出力ライン(DQ1~DQ8)を通じて伝送される。トレーニングコマンド(CMD_T)及びデータビット(DB)が伝送される間、コマンドラッチイネーブル信号(CLE)はハイレベル(high level)を維持する。
【0055】
トレーニングコマンド(CMD_T)はライトイネーブル信号(/WE)の第1立ち上がりエッジ(R1)に同期して伝送される。トレーニングコマンド(CMD_T)はデータ入力及び出力ライン(DQ1~DQ8)にそれぞれ対応するコマンドビット(CMD_T_1~CMD_T_8)を含む。トレーニングコマンド(CMD_T)はライトイネーブル信号(/WE)の2つ以上の立ち上がりエッジ(edges)に同期して一回または複数回伝送される。
【0056】
データビット(DB)はライトイネーブル信号(/WE)の第2~第5立ち上がりエッジ(R2~R5)にそれぞれ同期して伝送される第1~第4データビット(DB1~DB4)を包含する。第1データビット(DB1)はデータ入力及び出力ライン(DQ1~DQ8)を通じてそれぞれ伝送される第1ビット(DB1_1~DB1_8)を包含する。同様に、第2~第4データビット(DB2~DB4)はそれぞれ第2ビット(DB2_1~DB2_8)、第3ビット(DB3_1~DB3_8)、そして第4ビット(DB4_1~DB4_8)を包含する。
【0057】
図5において、データビット(DB)はライトイネーブル信号(/WE)の四つの立ち上がりエッジ(R2~R5)に同期して伝送されると説明した。しかしながら、データビット(DB)が伝送されるタイミングはライトイネーブル信号(/WE)の四つの立ち上がりエッジに限定されない。データビット(DB)はより多い回数又はより少ない回数で伝送される。
【0058】
図6は、
図5のトレーニングコマンド(CMD_T)及びデータビット(DB)に応答して不揮発性メモリ装置110がデータビットを出力する例を示す。
図1、
図2及び
図6を参照すれば、制御機120はリードイネーブル信号(/RE)をハイレベルとローレベルで周期的にトグルできる。リードイネーブル信号(/RE)に応答して、入力及び出力回路114はデータストローブ信号(DQS)をハイレベルとローレベルで周期的にトグルできる。
【0059】
入力及び出力回路114はデータストローブ信号(DQS)に同期してデータビット(DB)を出力する。入力及び出力回路114はデータストローブ信号(DQS)の立ち上がりエッジ(rising edge)及び立ち下がり(falling edge)エッジのそれぞれに同期してデータビット(DB)を出力する。データビット(DB)はデータストローブ信号(DQS)に整列され、相互間に整列される。
【0060】
図7は、
図6のデータビット(DB)が制御機120から受信された例を示す。例示的に、ストレー(stray)抵抗、ストレーキャパシタ(stray capacitor)、ストレーインダクタ(stray inductor)、温度、湿度の影響などの多様な環境要素により制御機120から受信されるデータビット(DB)のタイミングは不揮発性メモリ装置が伝送したデータビット(DB)のタイミング(
図6参照)と異なる。
【0061】
図1、
図2及び
図7を参照すれば、入力及び出力回路114はリードイネーブル信号からデータストローブ信号(DQS)を生成できる。入力及び出力回路114はデータストローブ信号(DQS)に同期してデータビット(DB)を出力できる。
【0062】
図7において第1データ入力及び出力ライン(DQ1)を通じて伝送されるビット(DB1_1~DB4_1)のタイミングはデータストローブ信号(DQS)のエッジのタイミングよりアドバンス(advance)している。第2データ入力及び出力ライン(DQ2)を通じて伝送されるビット(DB1_2~DB4_2)のタイミングはデータストローブ信号(DQS)のエッジのタイミングよりアドバンス(advance)している。第3データ入力及び出力ライン(DQ3)を通じて伝送されるビット(DB1_3~DB4_3)のタイミングはデータストローブ信号(DQS)のエッジのタイミングよりアドバンス(advance)している。
【0063】
第4データ入力及び出力ライン(DQ4)を通じて伝送されるビット(DB1_4~DB4_4)のタイミングはデータストローブ信号(DQS)のエッジのタイミングと一致している。第5データ入力及び出力ライン(DQ5)を通じて伝送されるビット(DB1_5~DB4_5)のタイミングはデータストローブ信号(DQS)のエッジのタイミングよりディレー(delay)している。第6データ入力及び出力ライン(DQ6)を通じて伝送されるビット(DB1_6~DB4_6)のタイミングはデータストローブ信号(DQS)のエッジのタイミングよりアドバンス(advance)している。
【0064】
第7データ入力及び出力ライン(DQ7)を通じて伝送されるビット(DB1_7~DB4_7)のタイミングはデータストローブ信号(DQS)のエッジのタイミングよりディレー(delay)している。第8データの入力及び出力ライン(DQ8)を通じて伝送されるビット(DB1_8~DB4_8)のタイミングはデータストローブ信号(DQS)のエッジのタイミングよりディレー(delay)している。データの入力及び出力ライン(DQ1~DQ8)を通じて伝送されるデータビットのタイミングは互いに一致しない可能性がある。
【0065】
図6及び
図7に図示したタイミングの差異を補償するため、不揮発性メモリ装置110はデータビット(DB)を伝送するタイミングを調節できる。例えば、不揮発性メモリ装置110は制御機120とトレーニングを遂行して適切な伝送タイミング(又は遅延量)を検出し、検出の結果により伝送タイミング(又は遅延量)を調節できる。
【0066】
図8は、不揮発性メモリ装置110の入力及び出力回路114の例を示す。
図2と
図8を参照すれば、入力及び出力回路114はデータの入力及び出力パッド(DQP1~DQP8)、データストローブパッド(DQSP)、出力遅延回路(114_1~114_8)、出力遅延スイープ回路114_9、バッファー114_10、そして遅延固定ループ114_11を含む。
【0067】
データの入力及び出力パッド(DQP1~DQP8)はデータの入力及び出力信号(DQ1~DQ8)を伝達できる。本発明の技術的思想を簡潔に伝達するため、データの入力及び出力パッド(DQP1~DQP8)はデータの入力及び出力信号(DQ1~DQ8)を制御機120へ出力すると仮定する。
【0068】
しかし、データの入力及び出力パッド(DQP1~DQP8)は制御機120からデータの入力及び出力信号(DQ1~DQ8)を受信でき、受信されたデータの入力及び出力信号(DQ1~DQ8)を処理するための構成要素が入力及び出力回路114に具備されることが理解されるはずである。
【0069】
データストローブパッド(DQSP)はデータストローブ信号(DQS)を伝達できる。本発明の技術的思想を簡潔に伝達するため、データストローブパッド(DQSP)はデータストローブ信号(DQS)を制御機120に出力すると仮定する。しかしながら、データストローブパッド(DQSP)は制御機120からデータストローブ信号(DQS)を受信でき、受信されたデータストローブ信号(DQS)を処理するための構成要素が入力及び出力回路114に具備されることが理解されるはずである。
【0070】
出力遅延回路(114_1~114_8)はデータの入力及び出力パッド(DQP1~DQP2)にそれぞれ連結される。出力遅延回路(114_1~114_8)はバッファー114_10から伝達されるデータビットをそれぞれデータの入力及び出力パッド(DQP1~DQP8)へ伝送する。出力遅延回路(114_1~114_8)は制御ロジック回路116から伝達される出力遅延制御信号(ODC1~ODC8)をそれぞれ受信する。
【0071】
出力遅延回路(114_1~114_8)は出力遅延制御信号(ODC1~ODC8)に応答して、データビットを出力するタイミング(例えば、遅延量)をそれぞれ個別的に制御する。例えば、第1出力遅延回路114_1は第1出力遅延制御信号ODC1に応答して、バッファー114_10から伝達されるデータビットを伝送するタイミング(遅延量)を調節する。
【0072】
出力遅延スイープ回路114_9は遅延スイープ信号(DSC)に応答して、遅延固定ループ114_11から出力されるデータストローブ信号(DQS)の遅延量を調節する。例えば、出力遅延スイープ回路114_9はトレーニングの時に、連続的に遅延量を調節する。一方、出力遅延回路(114_1~114_8)はトレーニングの結果により遅延量を一回調節できる。
【0073】
トレーニングが完了された後、出力遅延回路(114_1~114_8)は調節された遅延量を維持する。出力遅延スイープ回路114_9は固定された遅延量を有する。例えば、固定された遅延量は初期の遅延量又はトレーニングにより計算された遅延量である。
【0074】
出力遅延スイープ回路114_9の最大の遅延量は、出力遅延回路(114_1~114_8)のそれぞれの最大の遅延量より大きくなれる。例えば、出力遅延スイープ回路114_9はデータストローブ信号(DQS)の1つの周期又はそれより多い遅延量を有する。出力遅延回路(114_1~114_8)のそれぞれは、データストローブ信号(DQS)の1つの周期より少ない最大の遅延量を有する。
【0075】
バッファー114_10は、出力遅延回路(114_1~114_8)にデータビットを伝達する。例えば、トレーニングの時に、制御ロジック回路116から伝達されるデータビット(DB)がバッファーに貯蔵されてから出力遅延回路(114_1~114_8)に伝達される。トレーニングを遂行しない通常的な作動の時、ページバッファー回路113から伝達されるデータ(DATA)がバッファーに貯蔵されてから出力遅延回路(114_1~114_8)に伝達される。
【0076】
リードの時に又は1次トレーニングの時に、遅延固定ループ114_11は制御ロジック回路116からリードイネーブル信号(/RE)を受信する。遅延固定ループ114_11はリードイネーブル信号(/RE)を遅延してデータストローブ信号(DQS)を生成できる。データストローブ信号(DQS)は出力遅延スイープ回路114_9及びデータストローブパッド(DQSP)を通じて制御機120へ伝達される。
【0077】
図9は、
図8の出力遅延回路114_1の例を示す。
図1、
図2、
図8及び
図9を参照すれば、出力遅延回路114_1は遅延器(D)及びマルチプレクサ(MUX)を含む。遅延器(D)は順次に連結される。遅延器(D)にバッファー114_10の出力が連結される。
【0078】
マルチプレクサ(MUX)はバッファー114_10から出力されるデータビット、そして遅延器(D)により遅延されたデータビット(例えば、互いに他の遅延量を有するデータビット)を受信する。マルチプレクサ(MUX)は出力遅延制御信号(ODC1)に応答して、バッファー114_10から出力されるデータビットと遅延器(D)により遅延されたデータビットの中の1つのデータビットをデータ入力及び出力パッド(DQP1)へ伝送する。即ち、制御ロジック回路116又は出力トレーナー117は出力遅延制御信号(ODC1)により選択されるデータビットを調節することで、出力遅延回路114_1がデータビットを出力するタイミング(例えば、遅延量)を調節する。
図9には出力遅延回路114_1のみを図示したが、他の出力遅延回路(114_2~114_8)も、また
図9に図示したものと同一な構造を有する。
【0079】
即ち、制御ロジック回路116又は出力トレーナー117は、出力遅延制御信号(ODC1~ODC8)を個別に調節することで、出力遅延回路(114_1~114_8)がデータビットを伝送するタイミング(例えば、遅延量)を個別的に制御する。
【0080】
図10は、
図8の出力遅延スイープ回路114_9の例を示す。
図1、
図2、
図8及び
図10を参照すれば、出力遅延スイープ回路114_9は遅延器(D)及びマルチプレクサ(MUX)を含む。遅延器(D)は順次に連結される。遅延器(D)に遅延固定ループ114_11の出力が連結される。マルチプレクサ(MUX)は遅延スイープ信号(DSC)に応答して、遅延器(D)の出力及び遅延固定ループ114_11の出力の中の1つを選択できる。
【0081】
図9の出力遅延回路114_1と比較すると、出力遅延スイープ回路114_9の遅延器(D)の数は出力遅延回路114_1の遅延器(D)の数より多い。データビット(DB)のエッジの検出を可能にするため、出力遅延スイープ回路114_9はデータストローブ信号(DQS)の遅延量をユニットの遅延量の単位で可変するが、遅延量を少なくともデータストローブ信号(DQS)の一周期まで遅延できる。
【0082】
一方、出力遅延回路(114_1~114_8)はトレーニングの結果で導出される遅延量の程度に遅延量を調節する。トレーニングの結果で導出される遅延量はデータストローブ信号(DQS)の一周期より少なく、例えば、データストローブ信号(DQS)の半周期より少ない可能性がある。従って、出力遅延回路(114_1~114_8)のそれぞれの遅延量は、出力遅延スイープ回路114_9の遅延量より少ない。
【0083】
本発明の実施例によるストレージ装置100はデータストローブ信号(DQS)をスイープしてトレーニングを遂行する。従って、出力遅延スイープ回路114_9のサイズ及び複雑度が、出力遅延回路(114_1~114_8)のそれぞれのサイズ及び複雑度より大きい。データストローブ信号(DQS)ではないデータビットをスイープすれば、出力遅延回路(114_1~114_8)のそれぞれのサイズ及び複雑度が出力遅延スイープ回路114_9のサイズ及び複雑度より大きくなる。
【0084】
本発明の実施例によりデータストローブ信号(DQS)がスイープされれば、大きいサイズ及び複雑度がデータストローブ信号(DQS)と関連された出力遅延スイープ回路114_9でのみ要求される。従って、本発明の実施例によりデータストローブ信号(DQS)がスイープされれば、トレーニングによりストレージ装置100のデータ伝送の信頼度が上がりつつ、ストレージ装置100の構成要素のサイズ及び複雑度が増加するのが抑制される。
【0085】
図11は、
図4の方法によりトレーニングが遂行される例を示す。例示的に、制御機120から第1データ入力及び出力ライン(DQ1)を通じて第1ビットが互いに他の遅延量で受信される例を
図11に図示する。
図11において、下段に向かうほど遅延量が第1遅延量(DLY1)から第9遅延量(DLY9)へデータストローブ信号(DQS)の遅延量が増加すると仮定される。
【0086】
図1、
図2、
図4及び
図11を参照すれば、データストローブ信号(DQS)が第1遅延量(DLY1)を持って伝送される時、制御機120から受信されるビット(DB1_1)はデータストローブ信号(DQS)、例えば、データストローブ信号(DQS)の中心に同期しない。従って、制御機120から第1データ入力及び出力ライン(DQ1)を通じて無効な値が受信され、フェイル(F)と判定される。
【0087】
データストローブ信号(DQS)が第2遅延量(DLY2)を持って伝送される時、制御機120から受信されるビット(DB1_1)はデータストローブ信号(DQS)に同期しない。従って、フェイル(F)と判定される。データストローブ信号(DQS)が第3遅延量(DLY3)を持って伝送される時、制御機120から受信されるビット(DB1_1)はデータストローブ信号(DQS)に同期する。従って、パス(P)と判定される。
【0088】
データストローブ信号(DQS)が第4~第8遅延量(DLY4~DLY8)を持って伝送される時、制御機120から受信されるビット(DB1_1)はデータストローブ信号(DQS)に同期する。従って、パス(P)と判定される。データストローブ信号(DQS)が第9遅延量(DLY9)を持って伝送される時、制御機120から受信されるビット(DB1_1)はデータストローブ信号(DQS)に同期しない。従って、フェイル(F)と判定される。
【0089】
図11に図示したように、第3遅延量(DLY3)によって一番目のパスが判定される時、ビット(DB1_1)の第1境界(例えば、スタートの境界)が検出される。制御機は第2遅延(DLY2)量又は第3遅延量(DLY3)をビット(DB1_1)の第1境界と関連して貯蔵する。
【0090】
第9遅延量(DLY9)により一番目のパス後の一番目のフェイルが判定される時、ビット(DB1_1)の第2境界(例えば、終了の境界)が検出される。制御機は第8遅延量(DLY8)又は第9遅延量(DLY9)をビット(DB1_1)の第2境界と関連して貯蔵する。
【0091】
図11に図示したトレーニングは他のデータの入力及び出力ライン(DQ2~DQ8)についても、同じように遂行される。例えば、データの入力及び出力ライン(DQ1~DQ8)についてのトレーニングは互いに独立的に、並列的に又は個別的に遂行(例えば、同時に)される。トレーニングを通じて、制御機120はデータビット(DB)のエッジを検出する。
【0092】
図11に、データストローブ信号(DQS)の遅延量を順次的に増加させてトレーニングを遂行する例を図示した。しかしながら、本発明の技術的思想はデータストローブ信号(DQS)の遅延量を順次的に減少させてトレーニングを遂行することでも、変更又は応用できる。
【0093】
図12は制御機120が検出されたエッジにより遅延量を計算(S260ステップ及びS270ステップ)する例を示す。
図1、
図2及び
図12を参照すれば、制御機120は第1データビットの第1エッジ(LE)及び第2エッジ(RE)に基づいて第1データビット(DB1)の中心(C1~C8)を検出する。
【0094】
制御機120は、検出された中心の中の最も遅延された中心を選択できる。例えば、第8データの入力及び出力ライン(DQ8)を通じて受信されたビット(DB1_8)の中心(C8)が最も遅延されている。従って、第8データの入力及び出力ライン(DQ8)の中心(C8)(例えば、中心の遅延量)が選択される。
【0095】
制御機120は、選択された中心(C8)の遅延量と整列されるように、例えば、選択された中心(C8)の遅延量と一致するか又は誤差以内の差異を有するように、残りの中心(C1~C7)の遅延量を計算する。例えば、遅延量は出力遅延回路(114_1~114_8)のユニットの遅延量の単位で計算される。
【0096】
例えば、第1~第7データの入力及び出力ライン(DQ1~DQ7)の中心(C1~C7)は,
選択された中心(C8)よりアドバンス(advance)する。従って、第1~第7中心(C1~C7)の遅延量を増加させる結果が計算できる。制御機120は計算された遅延量を不揮発性メモリ装置110へ伝送する。
【0097】
不揮発性メモリ装置110は伝送された遅延量により、出力遅延回路(114_1~114_8)の遅延量をそれぞれ調節する。出力遅延回路(114_1~114_8)の遅延量が調節されれば、第1データビット(DB1)の中心(C1~C8)が選択された中心(C8)に整列される。
【0098】
例示的に、第1データビット(DB1)の第1エッジ(LE)又は第2エッジ(RE)の代わりに中心(C1~C8)を整列することで、制御機120からデータの入力及び出力ライン(DQ1~DQ8)を通じて伝送されるデータビットを識別するマージン(margin)がさらに向上する。
【0099】
図13は、ストレージ装置100が入力トレーニング(又はライトトレーンング)遂行する他の例を示す順序図である。
図1、
図2及び
図13を参照すれば、S310ステップで、制御機120は不揮発性メモリ装置110にトレーニングコマンド(CMD_T)及びデータビット(DB)を伝送する。データビット(DB)はトレーニンングのため、予め定められたビットであり、メモリ123からリードされる。データビット(DB)はコマンドの形態で伝達される。
【0100】
S320ステップで、不揮発性メモリ装置110はトレーニングコマンド(CMD_T)及びデータビット(DB)に応答してデータストローブ信号(DQS)を制御機120へ伝送し、そしてデータビット(DB)をデータ入力及び出力ライン(DQ)を通じて制御機120へ伝送する。
【0101】
S330ステップで、制御機120はデータビット(DB)のエッジが検出されたかを判定する。データビット(DB)のエッジが検出されなかったら、制御機120はS310ステップでトレーニングコマンド(CMD_T)及びデータビット(DB)を再び不揮発性メモリ装置110へ伝送する。
【0102】
例えば、制御機120はデータストローブ信号(DQS)の遅延量の調節を要求するメッセージをトレーニングコマンド(CMD_T)と共に不揮発性メモリ装置110へ伝送する。他の例として、トレーニングの時に、不揮発性メモリ装置110は、トレーニングコマンド(CMD_T)が受信される毎に、データストローブ信号(DQS)の遅延量を調節するように構成される。
【0103】
データビットのエッジが検出された場合は、S340ステップで、制御機120はデータビット(DB)のエッジからデータビット(DB)の中心を検出できる。S350ステップで、制御機120はデータの入力及び出力ライン(DQ)の遅延量(例えば、出力の遅延量又はリードの遅延量)を計算する。
【0104】
S360ステップにおいて、制御機270は計算されたデータの入力及び出力ライン(例えば、データビット(DB)の伝送タイミング)を不揮発性メモリ装置110へ伝送する。S370ステップで、制御機120から伝送された遅延量により、不揮発性メモリ装置110はデータの入力及び出力ライン(DQ)の遅延量を調節する。
【0105】
図14は、ストレージ装置100が出力トレーニング(又はライトトレーニング)を遂行する例を示す順序図である。
図1、
図2及び
図14を参照すれば、S410ステップで、制御機120は不揮発性メモリ装置110へデータストローブ信号(DQS)と共にデータビット(DB)を伝送する。
【0106】
例えば、制御機120はライトコマンドと共にデータビット(DB)を不揮発性メモリ装置110に伝送する。不揮発性メモリ装置110はデータビット(DB)をメモリセルアレイに記入するか又は入力及び出力回路114に貯蔵する。
【0107】
S420ステップにおいて、不揮発性メモリ装置110は制御機120へデータストローブ信号(DQS)と共にデータビット(DB)を伝送する。例えば、制御機120は不揮発性メモリ装置110へリードコマンドを伝送し、不揮発性メモリ装置110はリードコマンドに応答してデータビット(DB)を制御機120へ伝送する。
【0108】
S430ステップにおいて、制御機120はデータビット(DB)のエッジが検出されたかを判定する。データビット(DB)のエッジが検出されなかったら、S440ステップで、制御機120はデータストローブ信号(DQS)の遅延量を調節する。以後、制御機120はS410ステップで、データビット(DB)及びデータストローブ信号(DQS)を再び伝送する。
【0109】
データビット(DB)のエッジが検出されると、ステップS450において、制御機120は、データビット(DB)の中心を検出する。ステップS460において、制御機120は、データビット(DB)の中心にデータ入力及び出力ライン(DQ)の遅延量を整列する。
【0110】
図15は、制御機120が、データビット(DB)を不揮発性メモリ装置110に伝送する例を示す。
図1、
図2及び
図15を参照すれば、データビット(DB)は、データストローブ信号(strobe signal)(DQS)に同期されて、データ入力及び出力ライン(DQ1~DQ8)を通じて伝送される。データストローブ信号(DQS)は、制御機120によってトグル(toggle)される。
【0111】
データビット(DB)は、データストローブ信号(DQS)の立ち上がり及び立ち下がりエッジ(E1~E4)に同期されて伝送される。データビット(DB)は、データストローブ信号(DQS)の第1~第4エッジ(E1~E4)にそれぞれ同期されて伝送される第1~第4データビット(DB1~DB4)を包含する。
【0112】
第1データビット(DB1)は、データ入力及び出力ライン(DQ1~DQ8)にそれぞれ同期されて伝送される第1ビット(DB1_1~DB1_8)を包含する。同様に、第2~第4データビット(DB2~DB4)は、それぞれ第2ビット(DB2_1~DB2_8)、第3ビット(DB3_1~DB3_8)、そして第4ビット(DB4_1~DB4_8)を包含する。
【0113】
図16は、
図15のデータビット(DB)が、不揮発性メモリ装置110において受信された例を示す。例示的に、ストレー(stray)抵抗、ストレーキャパシタ、ストレーインダクタ、温度又は湿度の影響などの多様な環境要素により、不揮発性メモリ装置110において受信されるデータビット(DB)のタイミングは、制御機120が伝送したデータビット(DB)のタイミング(
図15参照)と異なる。
【0114】
図1、
図2及び
図16を参照すれば、入力及び出力回路114は、データストローブ信号(DQS)の第1~第4エッジ(E1~E4)に同期されてデータビット(DB)を貯蔵(又はラッチ(latch))できる。第1データ入力及び出力ライン(DQ1)を通じて伝送されるビット(DB1_1~DB4_1)のタイミング(例えば、ビットの中心)は、データストローブ信号(DQS)のエッジのタイミングよりアドバンス(advance)している。
【0115】
第2データ入力及び出力ライン(DQ2)を通じて伝送されるビット(DB1_2~DB4_2)のタイミングは、データストローブ信号(DQS)のエッジのタイミングよりアドバンスしている。第3データ入力及び出力ライン(DQ3)を通じて伝送されるビット(DB1_3~DB4_3)のタイミングは、データストローブ信号(DQS)のエッジのタイミングよりアドバンスしている。
【0116】
第4データ入力及び出力ライン(DQ4)を通じて伝送されるビット(DB1_4~DB4_4)のタイミングは、データストローブ信号(DQS)のエッジのタイミングと一致している。第5データ入力及び出力ライン(DQ5)を通じて伝送されるビット(DB1_5~DB4_5)のタイミングは、データストロブ信号(DQS)のエッジのタイミングよりディレー(delay)している。第6データ入力及び出力ライン(DQ6)を通じて伝送されるビット(DB1_6~DB4_6)のタイミングは、データストローブ信号(DQS)のエッジのタイミングよりアドバンスしている。
【0117】
第7データ入力及び出力ライン(DQ7)を通じて伝送されるビット(DB1_7~DB4_7)のタイミングは、データストローブ信号(DQS)のエッジのタイミングよりディレー(delay)している。第8データ入力及び出力ライン(DQ8)を通じて伝送されるビット(DB1_8~DB4_8)のタイミングは、データストローブ信号(DQS)のエッジのタイミングよりディレー(delay)している。データ入力及び出力ライン(DQ1~DQ8)を通じて伝送されるデータビットのタイミングは、互いに一致しない可能性がある。
【0118】
図15及び
図16に図示したタイミングの差異を補償するために、制御機120は、データビット(DB)を伝送するタイミングを調節する。例えば、制御機120は、不揮発性メモリ装置110とトレーニングを遂行して適切な伝送タイミング(又は遅延量)を検出し、検出結果によって伝送タイミング(又は遅延量)を調節する。
【0119】
図17は、制御機120のメモリインターフェース121の例を示す。
図1及び
図17を参照すれば、メモリインターフェース121は、データ入力及び出力パッド(DQP1~DQP8)、データストローブパッド(DQSP)、そして入力遅延回路121_1~121_8、データストローブ信号(DQS)生成器(121_9)、そして入力遅延スイープ(SWEEP)回路(121_10)を包含する。
【0120】
データ入力及び出力パッド(DQP1~DQP8)は、データ入力及び出力信号(DQ1~DQ8)を伝達する。本発明の技術的思想を簡潔に伝達するために、データ入力及び出力パッド(DQP1~DQP8)は、データ入力及び出力信号(DQ1~DQ8)を不揮発性メモリ装置110に入力すると仮定する。
【0121】
しかしながら、データ入力及び出力パッド(DQP1~DQP8)は、不揮発性メモリ装置110からデータ入力及び出力信号(DQ1~DQ8)を受信でき、受信されたデータ入力及び出力信号(DQ1~DQ8)を処理するための構成要素が、メモリインターフェース121に具備されるのが理解されるはずである。
【0122】
データストローブパッド(DQSP)は、データストローブ信号(DQS)を伝達する。本発明の技術的思想を簡潔に伝達するために、データストローブパッド(DQSP)は、データストローブ信号(DQS)を不揮発性メモリ装置110に入力すると仮定する。
【0123】
しかしながら、データストローブパッド(DQSP)は、不揮発性メモリ装置110からデータストローブ信号(DQS)を受信でき、受信されたデータストローブ信号(DQS)を処理するための構成要素がメモリインターフェース121に具備されるのが理解されるはずである。
【0124】
入力遅延回路(121_1~121_8)は、データ入力及び出力パッド (DQP1~DQP2)にそれぞれ連結される。入力遅延回路(121_1~121_8)は、メモリ123から入力及び出力トレーナ122を通じて伝達されるデータビットを、それぞれデータ入力及び出力パッド(DQP1~DQP8)に伝送する。入力遅延回路(121_1~121_8)は、入力及び出力トレーナ122から伝達される入力遅延制御信号(IDC1~IDC8)をそれぞれ受信する。
【0125】
入力遅延回路(121_1~121_8)は、入力遅延制御信号(IDC1~IDC8)に応答して、データビットを入力するタイミング(例えば、遅延量)をそれぞれ個別的に制御する。例えば、第1入力遅延回路(121_1)は、第1入力遅延制御信号(IDC1)に応答して、入力及び出力トレーナ122から伝達されるデータビットを伝送するタイミング(遅延量)を調節する。例示的に、入力遅延回路(121_1~121_8)は、
図9に図示した出力遅延回路と同一の構造を有する。
【0126】
データストローブ信号(DQS)生成器(121_9)は、クロック(CLK)を受信する。クロック(CLK)は、制御機120の内部で生成されるか、又は外部装置から制御機120に供給される。データストローブ信号(DQS)生成器(121_9)は、クロック(CLK)を利用してデータストローブ信号(DQS)を生成する。
【0127】
入力遅延スイープ回路(121_10)は、遅延スイープ信号(DS)に応答して、データストローブ信号(DQS)生成器(121_9)から出力されるデータストローブ信号(DQS)の遅延量を調節する。例えば、入力遅延スイープ回路(121_10)は、トレーニング時に連続的に遅延量を調節する。一方、入力遅延回路(121_1~121_8)は、トレーニングの結果によって遅延量が一回調節する。
【0128】
トレーニングが完了した後、入力遅延回路(121_1~121_8)は、調節された遅延量を維持する。入力遅延スイープ回路(121_10)は、固定された遅延量を有する。例えば、固定された遅延量は、初期遅延量又はトレーニングによって計算された遅延量である。
【0129】
入力遅延スイープ回路(121_10)の最大遅延量は、入力遅延回路(121_1~121_8)それぞれの最大遅延量より大きい可能性がある。例えば、入力遅延スイープ回路(121_10)は、データストローブ信号(DQS)の一つの周期又はそれより多くの最大遅延量を有し得る。入力遅延回路(121_1~121_8)のそれぞれは、データストローブ信号(DQS)の一つの周期より少ない最大遅延量を有する。
【0130】
例えば、入力遅延回路(121_1~121_8)は、
図9を参照して説明した出力遅延回路と同一の構造を有する。入力遅延スイープ回路(121_10)は、
図10を参照して説明した出力遅延スイープ回路と同一の構造を有する。入力遅延スイープ回路(121_10)によって遅延量が調節されたデータストローブ信号(DQS)は、データストローブパッド(DQSP)を通じて不揮発性メモリ装置110に伝送される。
【0131】
例示的に、クロック(CLK)を利用して、リードイネーブル信号(/RE)、ライトイネーブル信号(/WE)などの多様な信号を生成する構成要素が、メモリインターフェース121に提供される。しかし、本発明の技術的思想が不必要に混同されるのを防止するために、このような構成の説明は省略する。
【0132】
図18は、
図14の方法によってトレーニングが遂行される例を示す。
図18において、下段に向かうほど、データストローブ信号(DQS)の遅延量が第1遅延量(DLY1)から第9遅延量(DLY9)に増加すると仮定する。
図1、
図2、
図4及び
図18を参照すれば、制御機120は、データストローブ信号(DQS)と共に、第1データ入力及び出力ライン(DQ1)を通じてビット(DB1_1)を伝送する。
【0133】
第1遅延量(DLY1)を有するデータストローブ信号(DQS)が、不揮発性メモリ装置110で立ち上がりエッジを有する時に、ビット(DB1_1)は無効な値(又は情報)を有する。従って、不揮発性メモリ装置110は、無効な値を記入するか、又は貯蔵する。制御機120がリードを要請する時、不揮発性メモリ装置110は、無効な値を制御機120に伝送する。即ち、制御機120は、第1遅延量(DLY1)を有するデータストローブ信号(DQS)と連関されたビット(DB1_1)をフェイル(F)と判定する。
【0134】
第2遅延量(DLY2)を有するデータストローブ信号(DQS)が、不揮発性メモリ装置110で立ち上がりエッジを有する時、ビット(DB1_1)は無効な値を有する。従って、制御機120は、第2遅延量(DLY2)を有するデータストローブ信号(DQS)と連関されたビット(DB1_1)をフェイル(F)と判定する。
【0135】
第3遅延量(DLY3)を有するデータストローブ信号(DQS)が、不揮発性メモリ装置110で立ち上がりエッジを有する時に、ビット(DB1_1)は有効な値を有する。従って、制御機120は、第3遅延量(DLY3)を有するデータストローブ信号(DQS)と連関されたビット(DB1_1)をパス(P)と判定する。
【0136】
第4~第8遅延量(DLY4~DLY8)を有するデータストローブ信号(DQS)が、不揮発性メモリ装置110で立ち上がりエッジを有する時に、ビット(DB1_1)は有効な値を有する。従って、制御機120は、第4~第8遅延量(DLY4~DLY8)を有するデータストローブ信号(DQS)と連関されたビット(DB1_1)をパス(P)と判定する。
【0137】
第9遅延量(DLY9)を有するデータストローブ信号(DQS)が、不揮発性メモリ装置110で立ち上がりエッジを有する時に、ビット(DB1_1)は無効な値を有する。従って、制御機120は、第9遅延量(DLY9)を有するデータストローブ信号(DQS)と連関されたビット(DB1_1)をフェイル(F)と判定する。
【0138】
図18に図示したように、第3遅延量(DLY3)によって最初のパスが判断される時、ビット(DB1_1)の第1境界(例えば、スタート境界)が検出される。従って、制御機120は、第2遅延量(DLY2)又は第3遅延量(DLY3)を第1境界と連関して貯蔵する。
【0139】
なお、第9遅延量(DLY9)によって最初のパス後の最初のフェイルが判断される時、ビット(DB1_1)の第2境界(例えば、終了境界)が検出される。従って、制御機120は、第8遅延量(DLY8)又は第9遅延量(DLY9)を第2境界と連関して貯蔵する。
【0140】
図18に図示したトレーニングは、他のデータ入力及び出力ライン(DQ2~DQ8)に対しても同一に遂行される。例えば、データ入力及び出力ライン(DQ2~DQ8)に対するトレーニングは、互いに独立的に、並列的に又は個別的に遂行(例えば、同時に)される。トレーニングを通じて、制御機120は、データビット(DB)のタイミングを検出できる。
【0141】
図18において、データストローブ信号(DQS)の遅延量を順次に増加させ、トレーニングを遂行する例を示した。しかしながら、本発明の技術的思想は、データストローブ信号(DQS)の遅延量を順次に減少させてトレーニングを遂行するものも変更又は応用できる。
【0142】
データビット(DB)のエッジが検出されると、
図12を参照して説明したように、制御機120は、データビット(DB)の中心を検出できる。制御機120は、最も遅延された中心に整列されるように、データ入力及び出力ライン(DQ2~DQ8)に対する遅延量をそれぞれ計算する。以後、制御機120は、計算した遅延量によって入力遅延回路(121_1~121_8)の遅延量を調節する。
【0143】
図19は、本発明の応用例によるストレージ装置200を示すブロック図である。
図19を参照すれば、ストレージ装置200は、不揮発性メモリ装置210a~210z及び制御機220を包含する。不揮発性メモリ装置210a~210zは、同種のメモリ又は異種のメモリを包含できる。不揮発性メモリ装置210a~210zは、データ入力及び出力ライン(DQ)、第1制御ライン(CT1)、そして第2制御ライン(CT2)を通じて制御機220と通信できる。
【0144】
データ入力及び出力ライン(DQ)は、不揮発性メモリ装置210a~210zに共通に連結される。例えば、制御機220からデータ入力及び出力ライン(DQ)中の一つを通じて伝送される信号(例えば、データビット)は、不揮発性メモリ装置210a~210zに共通に伝達される。
【0145】
第1制御ライン(CT1)は、不揮発性メモリ装置210a~210zに共通に連結される。例えば、制御機220から第1制御ライン(CT1)中の一つを通じて伝送される信号(例えば、制御信号)は、不揮発性メモリ装置210a~210zに共通に伝達される。
【0146】
第2制御ライン(CT2)は、不揮発性メモリ装置210a~210zに個別的に連結される。例えば、制御機220と不揮発性メモリ装置210aは、第2制御ライン(CT2)中の少なくとも一つを通じて連結される。制御機220と不揮発性メモリ装置210bは、第2制御ライン(CT2)中の少なくとも他の一つを通じて連結される。
【0147】
第2制御ライン(CT2)を通じて伝達される信号の中で、チップイネーブル信号(/CE)は、制御機220が不揮発性メモリ装置210a~210zの中のアクセス対象である不揮発性メモリ装置を選択するのに使用される。レディ/ビジー信号(R/B)は、不揮発性メモリ装置210a~210zのそれぞれが、自身の状態、例えば、レディ状態又はビジー状態を知らせるのに使用される。
【0148】
不揮発性メモリ装置210a~210zは、それぞれ専用の制御ライン(例えば、第2制御ライン(CT2)の一部の制御ライン)を通じてチップイネーブル信号(/CE)を受信できる。不揮発性メモリ装置210a~210zは、それぞれ専用の制御ライン(例えば、第2制御ライン(CT2)の他の一部の制御ライン)を通じてレディ/ビジー信号(R/B)を伝送できる。
【0149】
制御機220は、メモリインターフェース221、入力及び出力トレーナ222、そしてメモリ223を包含する。制御機220は、不揮発性メモリ装置210a~210zと、
図2~
図18を参照して説明したトレーニングを遂行する。例えば、制御機220は、データ入力及び出力ライン(DQ)を共有する不揮発性メモリ装置210a~210zに対して順次にトレーニングを遂行する。
【0150】
例えば、制御機220は、不揮発性メモリ装置210aとトレーニングを遂行する。不揮発性メモリ装置210aとのトレーニングが完了した後に、制御機220は、不揮発性メモリ装置210bとトレーニングを遂行する。トレーニングは、出力(又はリード)トレーニング及び入力(又はライト)トレーニングを包含する。
【0151】
図20は、本発明の応用例によるストレージ装置300を示すブロック図である。
図20を参照すれば、ストレージ装置300は、第1チャンネル(CH1)の不揮発性メモリ装置310a~310z、第2チャンネル(CH2)の不揮発性メモリ装置310a~310z、そして制御機320を包含する。制御機320は、メモリインターフェース321、入力及び出力トレーナ222、そしてメモリ323を包含する。
【0152】
メモリインターフェース321は、第1チャンネル(CH1)と第2チャンネル(CH2)を互いに独立的に、個別的に又は並列に制御する。メモリインターフェース321は、第1チャンネル(CH1)でトレーニングを遂行する間、第2チャンネル(CH2)でトレーニングを同時に遂行する。
【0153】
上述した内容は、本発明を実施するための具体的な実施例である。本発明は、上述した実施例だけでなく、単純に設計変更されたり、容易に変更できる実施例もまた包含できるはずである。なお、本発明は、実施例を利用して容易に変更して実施できる技術も包含されるはずである。従って、本発明の範囲は、上述した実施例に限定されて定められてはならず、後述する特許請求の範囲だけでなく、この発明の特許請求の範囲と均等なものによって定められなければならない。
【産業上の利用可能性】
【0154】
本発明はトレーニングを通じてデータ伝送の信頼性を高めるストレージ装置に有用である。
【符号の説明】
【0155】
100、200、300 ストレージ装置
110、110a、210a~210z、310a~310z 不揮発性メモリ装置
111 メモリセルアレイ
112 行デコーダー回路
113 ページバッファー回路
114 入力及び出力回路
114_1、114_2、114_3、114_4、114_5、114_6、114_7、114_8 出力遅延回路
114_9 出力遅延スイープ回路
114_10 バッファー
114_11 遅延固定ループ
115 パス・フェイルチェック回路
116 制御ロジック回路
117 出力トレーナー
120、220、320 制御機
121、221、321 メモリインターフェース
121_1、121_2、121_3、121_4、121_5、121_6、121_7、121_8 入力遅延回路
121_9 データストローブ信号生成器
121_10 入力遅延スイープ回路
122、222、322 入力及び出力トレーナー
123、223、323 出力遅延スイープ回路メモリ