【解決手段】本発明に係る格納装置の動作方法は、ホスト或いは外部装置に内部動作に必要である内部動作時間(renewal time)を要請する段階、前記ホスト或いは外部装置から前記要請に対応する内部動作コマンドを受信する段階、及び前記内部動作時間の間に前記内部動作コマンドに応答して前記内部動作を遂行する段階を含む。
前記格納装置は、DIMM(dual in−line memory module)、NVDIMM(nonvolatiel dual in−line memory module)、SSD(solid state drive)、UFS(universal flash storage)、eMMC(embedded multimedia card)、SD(secure digital)カード、DRAM(dynamic random access memory)、SRAM(static random access memory)、nand flash memory、vertical nand flash memory、PRAM(phase random access memory)、RRAM(登録商標)(resistive random access memory)の中のいずれか1つを含むことを特徴とする請求項1に記載の格納装置の動作方法。
前記メモリ制御回路は、前記内部動作を遂行する時、前記ホスト或いは外部装置から発行された新しいコマンドを無視することを特徴とする請求項11に記載の不揮発性メモリモジュール。
前記メモリ制御回路は、内部動作要請を拒絶する情報を指示する前記内部動作コマンドを受信する時、前記ホスト或いは外部装置から発行された新しいコマンドを処理することを特徴とする請求項11に記載の不揮発性メモリモジュール。
前記内部動作コマンドは、少なくとも1つのコマンドピン、少なくとも1つのアドレスピン、少なくとも1つのRFU(reserved future use)ピンの中の少なくとも1つを利用して受信されることを特徴とする請求項11に記載の不揮発性メモリモジュール。
前記内部動作要請メッセージは、少なくとも1つのデータピン及び少なくとも1つのデータストロボピンの中の少なくとも1つを利用して前記ホスト或いは外部装置に伝送されることを特徴とする請求項11に記載の不揮発性メモリモジュール。
前記内部動作要請メッセージは、少なくとも1つのメッセージピンを通じて信号のトグリングを利用して前記ホスト或いは外部装置に伝送されることを特徴とする請求項11に記載の不揮発性メモリモジュール。
前記内部動作は、前記少なくとも1つの揮発性メモリと前記少なくとも1つの不揮発性メモリとの間のデータ伝送動作を含むことを特徴とする請求項11に記載の不揮発性メモリモジュール。
【発明を実施するための形態】
【0012】
以下においては、図面を利用して本発明の技術分野において通常の知識を有する者が容易に実施できる程度に本発明の内容を明確であり、詳細に説明する。
【0013】
本発明の概念に係る実施形態は多様な変更を加えられ、様々な形態を有するので、実施形態を図面に例示し、本明細書において詳細に説明する。しかし、これは本発明の概念に係る実施形態を特定な開示形態に対して限定しようとすることではなく、本発明の思想及び技術範囲に含まれるすべての変更、均等物、或いは代替物を含む。
【0014】
第1、第2等の用語は多様な構成要素を説明するために使用するが、前記構成要素は前記用語によって限定されてはならない。前記用語は1つの構成要素を他の構成要素から区別する目的のみに、例えば本発明の概念に係る権利範囲から逸脱しないまま、第1構成要素は第2構成要素として称され、同様に第2構成要素は第1構成要素としても称される。
【0015】
所定の構成要素が他の構成要素に‘‘連結されて’’いるか、或いは‘‘接続されて’’いると言及された時には、その他の構成要素に直接的に連結されているか、或いは接続されているが、中間に他の構成要素が存在できると理解されなければならない。反面、所定の構成要素が他の構成要素に‘‘直接連結されて’’いるか、或いは‘‘直接接続されて’’いると言及された時には中間に他の構成要素が存在しないと理解されなければならない。構成要素の間の関係を説明する他の表現、即ち‘‘〜間に’’と‘‘直ちに〜間に’’、或いは‘‘〜に隣接する’’と‘‘〜に直接隣接する’’等も同様に解釈されなければならない。
【0016】
本明細書において使用する用語は単に特定の実施形態を説明するために使用され、本発明を限定しようとする意図ではない。単数の表現は文脈上に明確に表現しない限り、複数の表現を含む。本明細書において、‘‘含む’’或いは‘‘有する’’等の用語は本明細書に記載される特徴、数字、段階、動作、構成要素、部分品或いはこれらの組合せが存在することを示し、1つ或いはそれ以上の他の特徴や数字、段階、動作、構成要素、部分品或いはこれらの組合せの存在或いは付加可能性を予め排除しないと理解されなければならない。
【0017】
特に定義されない限り、技術的であるか、或いは科学的な用語を含んでここで使用するすべての用語は実施形態が属する技術分野において通常の知識を有する者によって一般的に理解されるのと同一の意味を有する。一般的に使用される事前に定義されているような用語は関連技術に有する意味と一致する意味を有すると解釈されなければならず、本出願において明確に定義しない限り、理想的であるか、或いは過度に形式的な意味として解釈されない。
【0018】
図1は本発明の実施形態に係るコンピューティングシステムを例示的に示す図面である。
図1を参照すれば、コンピューティングシステム10はホスト100及び格納装置200を含む。
【0019】
実施形態において、コンピューティングシステム10はコンピュータ、ポータブル(portable)コンピュータ、UMPC(ultra mobile PC)、ワークステーション(workstation)、データサーバー(data server)、ネットブック、PDA、ウェブタブレット、無線フォン、モバイルフォン、スマートフォン、電子ブック、PMP(portable multimedia player)、デジタルカメラ、デジタルオーディオ録音機/再生器、デジタル写真機/ビデオ記録器/再生器、ポータブルゲームマシン、ナビゲーションシステム、ブラックボックス、3Dテレビジョン、無線環境において情報を受信及び送信する装置、ホームネットワークを構成する多様な電子装置の中のいずれか1つ、コンピュータネットワークを構成する多様な電子装置の中のいずれか1つ、テレマティクスネットワークを構成する多様な電子装置の中のいずれか1つ、RFID、或いはコンピューティングシステムを構成する多様な電子装置の中のいずれか1つに使用される。
【0020】
ホスト100はコンピューティングシステム10の全般的な動作を制御する。実施形態において、ホスト100は少なくとも1つのプロセッサ、CPU(central processing unit)、GPU(graphic processing unit)、メモリ制御器(memory controller)等を含む。実施形態において、プロセッサは汎用マイクロプロセッサ、マルチコアプロセッサ、デジタル信号プロセッサ(DSP;digital signal processor)、ASIC(application specific integrated circuit)、或いはそれらの組合せを含む。実施形態において、メモリ制御器は格納装置200を制御する。
【0021】
実施形態において、ホスト100は格納装置200の要請に応答して内部動作時間(renewal time)の承認或いは拒絶を指示する情報を格納装置200に伝送する。ここで、内部動作時間は格納装置200の内部動作(internal operation)を遂行するために必要な時間である。
【0022】
実施形態において、内部動作時間承認/拒絶情報はコマンド(command)形態にて伝送されるか、或いはデータ(data)形態にて伝送される。しかし、本発明はこれに制限されない。本発明の内部動作時間承認/拒絶情報(内部動作コマンド)はホスト100と格納装置200との間の別のラインを通じて伝送されてもよい。
【0023】
一方、
図1に図示したホスト100は格納装置200の要請に応答して内部動作時間を格納装置200に伝送するが、本発明はこれに制限されない。本発明のホスト100は格納装置200の要請が無くても内部政策にしたがって内部動作時間承認/拒絶情報(内部動作コマンド)を格納装置200に伝送できると理解されなければならない。
【0024】
格納装置200はホスト100に連結され、ホスト100の動作に必要であるデータを格納する。格納装置200は揮発性メモリ、不揮発性メモリ、或いはそれらの組合せの中の少なくとも1つである。例えば、格納装置200はDIMM(dual in−line memory module)、NVDIMM(nonvolatile dual in−line memory module)、SSD(solid state drive)、UFS(universal flash storage)、eMMC(embedded multimedia card)、SD(secure digital)カード、DRAM(dynamic random access memory)、SRAM(static random access memory)、nand flash memory、vertical nand flash memory、PRAM(phase random access memory)、RRAM(登録商標)(resistive random access memory)等である。
【0025】
実施形態において、格納装置200はDDR(double data rate)インターフェイス規格にしたがってホスト100に連結される。例えば、格納装置200はDDRxシリーズ(xは整数)の中のいずれか1つにより具現される。本発明の格納装置200はDDRインターフェイスを除外した多様な種類の通信インターフェイスを通じてプロセッサ100に連結される。例えば、通信インターフェイスはNVMe(non−volatile memory express)、PCIe(peripheral component interconnect express)、SATA(serial at attachment)、SCSI(small computer system interface)、SAS(serial attached SCSI)、UAS(USB(universal storage bus) attached SCSI)、iSCSI(internet small computer system interface)、fiber Channel、FCoE(fiber channel over ethernet)等の通信インターフェイスにより具現される。
【0026】
実施形態において、格納装置200は内部政策にしたがって内部動作が必要であると判別される場合、ホスト100に内部動作に必要である内部動作時間を要請する。実施形態において、内部動作時間要請は、メッセージ(message)形態によりホスト100に伝送される。
【0027】
実施形態において、内部動作時間要請(renewal time request)を有するメッセージはホスト100と格納装置200との間の少なくとも1つのデータチャンネル、少なくとも1つのクロックチャンネル、少なくとも1つの制御チャンネル、専用の少なくとも1つのメッセージチャンネル或いはそれらの組合せを通じてホスト100に伝送される。例えば、データチャンネルを通じて内部動作時間要請メッセージが伝送される場合、非同期コマンド(asynchronous command)に対応する応答(response)メッセージに内部動作時間要請が含まれる。ここで、非同期コマンドは非同期イベント要請コマンド(asynchronous event request command)を含む。非同期イベント(asynchronous events)は格納装置200の状態(status)、エラー(error)、及びヘルス(health)情報をホスト100のソフトウェアに通知するのに利用される。
【0028】
上述した内部動作時間要請はメッセージ形態によりホスト100に伝送されるが、本発明はこれに制限されないと理解されなければならない。本発明の内部動作時間要請は内部動作に必要である内部動作時間に対応するレジスター選択を要請する信号形態によりホスト100に伝送される。
【0029】
実施形態において、格納装置200はホスト100の内部動作時間承認/拒絶情報(内部動作コマンド)を受信した後、内部動作を遂行する。ここで、内部動作は、リフレッシュ(refresh)、タイミング(timing)調節、PVT(process−voltage−temperature)補償、内部データ伝送等の多様な動作を含む。実施形態において、内部動作は内部動作時間承認/拒絶情報(内部動作コマンド)に応答して全体的に或いは部分的に遂行される。このために内部動作時間承認/拒絶情報(内部動作コマンド)は内部動作の全体実行或いは部分実行に関連された情報をさらに含む。
【0030】
本発明の実施形態に係るコンピューティングシステム10は格納装置200の内部動作に必要である内部動作時間を格納装置200がホスト100に直接要請し、ホスト100はこのような要請に応答して格納装置200に時間に関する権限を内部動作時間の間だけ移管させることによって、格納装置200において内部動作を十分に遂行する。即ち、ホスト100は格納装置200に内部動作に必要である内部動作時間を承認する。
【0031】
図2は本発明の実施形態に係るメモリモジュール(memory module)により具現された格納装置200を例示的に示す図面である。
図2を参照すれば、格納装置200は複数のDRAM211乃至214及びメモリモジュール制御器(RCD)220を含む。
【0032】
複数のDRAM211乃至214の各々はメモリモジュール制御器220の制御にしたがってデータDQを入出力する。
図2に図示したDRAM211乃至214の数は4であるが、本発明のDRAMの数はこれに制限されない
【0033】
。
メモリモジュール制御器220はホスト100からコマンド及び/或いはアドレスを受信し、複数のDRAM211乃至214の入出力動作を制御する。実施形態において、メモリモジュール制御器220は内部政策にしたがってホスト100に内部動作に必要である内部動作時間要請を伝送する。実施形態において、メモリモジュール制御器220はホスト100から伝送された内部動作時間承認/拒絶情報(内部動作コマンド)に応答して内部動作を遂行する。
【0034】
実施形態において、格納装置200はパリティーのためのDRAM215をさらに含む。実施形態において、格納装置200はホスト100と複数のDRAM211乃至214との間にデータDQをバッファーリングするためのデータバッファDBをさらに含む。実施形態において、格納装置200はDDRx SDRAMスペックを満足するように具現される。例えば、格納装置200は次世代DDR4 SDRAMスペックを満足するように具現される。
【0035】
一方、本発明の内部動作時間はレジスター設定方式により具現される。
図3は本発明の実施形態に係るコンピューティングシステム10においてレジスター設定方式にしたがう内部動作時間要請及びその応答を例示的に示す図面である。
図3を参照すれば、格納装置200は複数の内部動作時間RT1乃至RTk(kは2以上の自然数)を格納するレジスター集合(register set)を含む。例えば、第1内部動作時間RT1は16クロックに対応する時間であり、第2内部動作時間RT2は8クロックに対応する時間である。
【0036】
格納装置200の内部動作時間要請に応答してホスト100のメモリ制御器(MC、memory controller)はレジスター選択信号を格納装置200に伝送する。ここで、レジスター選択信号はレジスター集合の中の内部動作時間要請に対応するレジスターを選択する信号である。即ち、レジスター選択信号は内部動作時間承認/拒絶情報(内部動作コマンド)を含む。
【0037】
実施形態において、レジスター集合は
図2に図示したメモリモジュール制御器220に含まれる。しかし、本発明のレジスター集合の位置がこれに制限されないと理解されなければならない。
【0038】
一方、
図1乃至
図3に図示したコンピューティングシステム10は内部動作時間の具現として説明した。しかし、本発明はこれに制限されないと理解されるべきである。本発明のコンピューティングシステム10は内部動作要請及び内部動作要請に応答する内部動作コマンドの発行としても説明可能である。
【0039】
図4は本発明の他の実施形態に係るコンピューティングシステム20を例示的に示す図面である。
図4を参照すれば、コンピューティングシステム20はホスト100a及び不揮発性メモリモジュール(NVDIMM)300を含む。
【0040】
ホスト100aは不揮発性メモリモジュール300から内部動作要請(internal operation request)を受信し、内部動作要請に応答して内部動作コマンドIOPを発行し、発行した内部動作コマンドIOPを不揮発性メモリモジュール300に伝送する。ここで、内部動作コマンドIOPは内部動作に必要である内部動作時間(renewal time)を含む。実施形態において、内部動作コマンドIOPは内部動作要請を承認するか、或いは拒絶する情報をさらに含む。
【0041】
実施形態において、内部動作要請は、データピン、データストロボピン、アドレス/コマンドピン、制御信号ピン、メッセージ専用ピン、或いはそれらの組合せを通じてホスト100aに伝送される。
【0042】
実施形態において、内部動作コマンドIOPはコマンド/アドレスピン、RFU(reserved future use)ピン、或いはそれらの組合せにより発行される。
【0043】
不揮発性メモリモジュール300は内部政策にしたがって内部動作が必要であると判別される時、内部動作要請をホスト100aに伝送する。ここで、内部動作要請はメッセージ/信号形態により具現される。例えば、メッセージ/信号形態により伝送された内部動作要請は内部動作に必要である内部動作時間を含む。
【0044】
実施形態において、不揮発性メモリモジュール300はDDRx(xは自然数)インターフェイスを通じてホスト100aに連結される。例えば、不揮発性メモリモジュール300は次世代DDR4 SDRAMスペックを満足するように具現される。
【0045】
実施形態において、不揮発性メモリモジュール300はJEDEC標準にしたがうNVDIMM(nonvolatile dual in line memory module)により具現される。NVDIMMは電力が所定の予想せぬ電力損失、システム故障やシステムが正常に動作中に電源が中断されてもデータを保有するメモリモジュールである。NVDIMMはアプリケーション性能、データ保安システム故障復旧時間を改善し、SSD耐久性及び信頼性を向上させるため使用される。
【0046】
このようなNVDIMMは多様な形態に区分される。1つの実施形態はメモリ速度、或いはニアメモリ(near memory)速度によりアクセスするバイトアドレサブルメモリマッピング装置(byte addressable memory mapped device)である。DDR4を支援するこのようなNVDIMMは様々なハードウェア供給業体によって商業的に使用できる。他の実施形態はDRAM内部チャンネル(interconnect channel)に常駐するフラッシュ装置モジュールである。このようなNVDIMMは一般的にホストのドライバーブロックを通じてアクセスされる。フロント−エンドキャッシュミス(front−end cache miss)が起こった時、フラッシュ装置がアクセスされる。その他の実施形態は高速アクセス可能であるDRAMと高容量の不揮発性メモリとの長所を全て有するモジュールである。
【0047】
本発明の実施形態に係る不揮発性メモリモジュール300はホスト100aに内部動作要請メッセージを伝送するメッセージチャンネルを含む。実施形態において、メッセージチャンネルは、DQチャンネル、DQSチャンネル、クロックチャンネル、制御信号チャンネル、或いはそれらの組合せにより利用される。他の実施形態において、メッセージチャンネルは内部動作要請メッセージ伝送のための専用チャンネルを具備する。
【0048】
実施形態において、内部動作要請メッセージは、内部動作を遂行する不揮発性メモリモジュール300に対してホスト100aが所定の時間の間に不揮発性メモリモジュール300に新しい命令を伝送できないように内部動作時間を要請することを含む。他の実施形態において、ホスト100aが所定の時間の間新しい命令を発行しても、内部動作コマンドを受信した不揮発性メモリモジュール300はこのような新しい命令を無視する。
【0049】
実施形態において、内部動作時間は不揮発性メモリモジュール300が遂行する内部動作の種類にしたがって可変される。例えば、リフレッシュ動作のための内部動作時間は数μs程度である。例えば、内部データ伝送動作のための内部動作時間は数百μs程度である。
【0050】
実施形態において、ホスト100aは、内部動作要請を受信すれば、内部動作要請を承認するか、或いは拒絶する。例えば、ホスト100aが内部動作要請を承認すれば、ホスト100aは対応する内部動作コマンドIOPを発行し、これを不揮発性メモリモジュール300に伝送する。例えば、ホスト100aが内部動作要請を拒絶すれば、不揮発性メモリモジュール300は内部動作を延期する。
【0051】
実施形態において、不揮発性メモリモジュール300は内部動作時間の間にホスト100aの中断指示無しに内部動作を遂行する。
【0052】
図5は本発明の実施形態に係る不揮発性メモリモジュール300に対する実施形態を示す図面である。
図5を参照すれば、不揮発性メモリモジュール300は、第1及び第2不揮発性メモリ310L、310R、第1及び第2揮発性メモリ320L、320R、第1及び第2データバッファ330L、330R、及びメモリ制御回路(MMCD)340を含む。
【0053】
第1及び第2不揮発性メモリ310L、310Rの各々は少なくとも1つの不揮発性メモリを含む。実施形態において、少なくとも1つの不揮発性メモリは、NANDフラッシュメモリ(NAND Flash Memory)、垂直型NANDフラッシュメモリ(Vertical NAND;VNAND)、NORフラッシュメモリ(NOR Flash Memory)、抵抗性RAM(Resistive Random Access Memory:RRAM(登録商標))、相変化メモリ(Phase−Change Memory:PRAM)、磁気抵抗メモリ(Magnetoresistive Random Access Memory:MRAM)、強誘電体メモリ(Ferroelectric Random Access Memory:FRAM(登録商標))、スピン注入磁化反転メモリ(Spin Transfer Torque Random Access Memory:STT−RAM)、TRAM(Thyristor Random Access Memory)等を含む。
【0054】
また、不揮発性メモリは3次元アレイ構造(three−dimensional array structure)により具現できる。本発明の実施形態として、3次元メモリアレイは、シリコン基板及びメモリセルの動作に連関された回路の上に配置される活性領域を有するメモリセルのアレイの1つ以上の物理レベルにモノリシックに(monolithically)形成される。メモリセルの動作に連関された回路は基板内に又は基板上に位置する。モノリシック(monolithical)との用語は、3次元アレイの各レベルの層が3次元アレイの下位レベルの層上に直接蒸着されることを意味する。
【0055】
本発明の概念に係る実施例として、3次元メモリアレイは垂直の方向性を有して、少なくとも1つのメモリセルが他の1つのメモリセル上に位置する垂直NANDストリングを含む。少なくとも1つのメモリセルは電荷トラップ層を含む。各々の垂直NANDストリングはメモリセル上に位置する少なくとも1つの選択トランジスタを含む。少なくとも1つの選択トランジスタはメモリセルと同一の構造を有し、メモリセルと共にモノリシックに形成される。
【0056】
3次元メモリアレイが複数のレベルにより構成され、レベルの間に共有されたワードライン又はビットラインを有する。3次元メモリアレイに適合な構成は、特許文献1乃至特許文献5に説明されている。本発明の不揮発性メモリNVMは電荷格納層が伝導性浮遊ゲートにより構成されたフラッシュメモリ装置はもちろん、電荷格納層が絶縁膜により構成されたチャージトラップ型フラッシュ(charge trap flash;CTF)にも全て適用可能である。
【0057】
第1及び第2揮発性メモリ320L、320Rの各々は少なくとも1つのDRAMを含む。実施形態において、少なくとも1つのDRAMはデュアルポートDRAMにより具現される。例えば、少なくとも1つのDRAMの第1ポートは第1及び第2不揮発性メモリ310L、310Rの中の少なくとも1つの不揮発性メモリに連結され、少なくとも1つのDRAMの第2ポートは第1及び第2データバッファ330L、330Rの中の対応するいずれか1つに連結される。
【0058】
メモリ制御回路(MMCD)340はホスト100aからコマンド或いはアドレスを受信し、第1及び第2不揮発性メモリ310L、310Rを制御するための第1コマンド/アドレスCANを発生するか、或いは第1及び第2揮発性メモリ320L、320Rを制御するための第2コマンド/アドレスCADを発生する。
【0059】
実施形態において、メモリ制御回路340は、内部動作に必要である内部動作要請を発行し、これをホスト100aに伝送する。
【0060】
実施形態において、メモリ制御回路340はホスト100aから発行された内部動作コマンドIOPを受信し、受信した内部動作コマンドIOPに応答して内部動作を遂行する。ここで、内部動作コマンドIOPは内部動作に必要である内部動作時間を含む。
【0061】
一方、
図5に図示した不揮発性メモリモジュール300は、メモリ制御回路340を基準に左側に配置された少なくとも1つの第1不揮発性メモリ310L、少なくとも1つの第1揮発性メモリ320L、第1データバッファ330Lと、右側に配置された少なくとも1つの第2不揮発性メモリ310R、少なくとも1つの第2揮発性メモリ320R、第2データバッファ330Rとを含む。しかし、本発明の不揮発性メモリモジュール300の構造はこれに制限されないと理解されるべきである。
【0062】
図6は本発明の実施形態に係る不揮発性メモリモジュール300の内部動作要請にしたがうホストインターフェイスのタイミングに対する実施形態を示す図面である。
【0063】
実施形態において、内部動作要請(IOP Request)はホスト100aと不揮発性メモリモジュール300との間のホストインターフェイス(host interface)を通じてホスト100aに伝送される。ここで、ホストインターフェイスはメモリ内部チャンネルである。
【0064】
実施形態において、内部動作要請は内部動作を完了するのに必要である内部動作時間を指示するか、或いは内部動作時間に関連された情報を含む。
【0065】
内部動作要請を含むメッセージがメッセージピンMSGを通じてホスト100aに伝送される時、内部動作時間に関する情報もホスト100aに伝送される。内部動作時間に関する情報はデータピンDQ0乃至DQ7を通じて伝送される。代案的に、内部動作時間に関する情報はCKE、CS、CK、ODTピン等のようなコマンド/アドレスピンCAsを通じて伝送される。
【0066】
選択的に、内部動作時間に関連された情報はメッセージピンMSGのトグリングを通じてホスト100aに伝送される。実施形態において、メッセージピンMSGの連続的なトグリングの数は内部動作時間を指示する。例えば、メッセージピンMSGのトグリングの数は内部動作のために要求される時間である。
【0067】
また、メッセージに含まれた内部動作要請はすべてのバンクに対する内部動作要請であるか、或いは一部のバンクに対する内部動作要請である。もし、すべてのバンクに対する内部動作要請がホスト100aによって承認されれば、ホスト100aは不揮発性メモリモジュール300を全くアクセスできず、不揮発性メモリモジュール300において、すべてのバンクに対する内部動作が遂行される。一方、一部のバンクに対する内部動作要請がホスト100aによって承認されれば、内部動作は一部のバンクに対する内部動作要請を通じて選択されたバンクのみに遂行される。この時、ホスト100aは読出し/書込み動作のために、選択されたバンクを除外し、他のバンクにアクセスする。
【0068】
実施形態において、内部動作要請及び内部動作時間に関する情報を受信すれば、ホスト100aは内部動作要請を承認するか、或いは拒否するかを決定する。
【0069】
もし、内部動作要請が承認されれば、不揮発性メモリモジュール300の内部動作を開始するようにホスト100aは内部動作命令IOPを発行する。以後、ホスト100aは内部動作時間の間に不揮発性メモリモジュール300にアクセスするための新しい命令を発行できない。
【0070】
一方、内部動作要請が拒絶されれば、ホスト100aは1つの内部動作命令を実行せずに、内部動作要請を無視することもあり得、内部動作要請の拒否を通知する命令を発行することもできる。この時、不揮発性メモリモジュール300はホスト100aの拒絶通知を認知し、内部動作の遂行を延期するか、或いは放棄する。
【0071】
一方、本発明は不揮発性メモリモジュール300の内部動作要請に内部動作時間承認/拒絶情報(内部動作コマンド)を含まないようにも具現できる。
【0072】
図7は本発明の実施形態に係る不揮発性メモリモジュール300の内部動作要請にしたがうホストインターフェイスのタイミングに対する他の実施形態を示す図面である。
図7を参照すれば、内部動作要請は2段階の手続きによって伝送される。
【0073】
第1段階において、不揮発性メモリモジュール300はメッセージチャンネルMSGを通じてホスト100aのみに内部動作要請する信号を伝送し、不揮発性メモリモジュール300の所定のバッファ領域に内部動作時間に関する情報(time info)を格納する。
【0074】
第2段階において、ホスト100aは所定のバッファ領域を読み出すことによって内部動作に必要である内部動作時間を抽出するための読出し命令を発行する。実施形態において、ホスト100aは読み出された時間情報に基づいて内部動作コマンドIOPを発行する。以後、格納装置は内部動作コマンドIOPに応答して内部動作時間の間に内部動作を遂行する。
【0075】
一方、第2段階においてホスト100aがバッファ領域の内部動作時間を抽出するための読出し命令を発行するが、本発明はこれに制限される必要はない。例えば、メモリモジュール300はホスト100aの内部動作コマンドIOPに応答して、バッファ領域に格納された内部動作時間承認/拒絶情報(内部動作コマンド)を読み出し、読み出された内部動作時間の間に内部動作を遂行する。
【0076】
図8は本発明の実施形態に係る1つのメモリチャンネルに連結された2つのメモリモジュールを具備するコンピューティングシステムを例示的に示す図面である。
図8を参照すれば、ホストは1つのメモリチャンネルCHを通じて第1及び第2メモリモジュールDIMM1、DIMM2に連結される。ここで、第1及び第2メモリモジュールDIMM1、DIMM2の各々は内部動作を遂行する。下記においては説明を簡易にするために第2メモリモジュールDIMM2において内部動作が遂行されると仮定する。
【0077】
図9は
図8に図示されたコンピューティングシステムの第2メモリモジュールDIMM2において内部動作を遂行する時、第1及び第2メモリモジュールDIMM1、DIMM2のタイミングを例示的に示す図面である。
【0078】
図8及び
図9を参照すれば、第2メモリモジュールDIMM2は内部動作コマンドIOPに応答して内部動作時間の間に内部動作を遂行する。ここで、内部動作は第2メモリモジュールDIMM2の内部のデータ伝送動作である。ホストは内部動作を遂行する間に、第2メモリモジュールDIMM2のアクセスを禁止する。ホストが第2メモリモジュールDIMM2をアクセスできなくとも、ホストはアイドル状態(idle state)の第1メモリモジュールDIMM1をアクセスできる。例えば、
図9に図示したように、第1メモリモジュールDIMM1は、プリチャージコマンドPRE、アクティブコマンドACT、リードコマンド/アドレスRDを順次受信し、読出しコマンド/アドレスRDに応答したデータD0乃至D7を出力する。以後、次の読出し動作を続いて遂行する。
【0079】
本発明の実施形態に係るコンピューティングシステムは、ホストと第1メモリモジュールDIMM1との間のデータ通信の後に、第2メモリモジュールDIMM2の内部動作を隠すことができる。第2メモリモジュールDIMM2の内部動作を隠すことができるので、システム性能向上を期待できる。
【0080】
図10は本発明の実施形態に係るコンピューティングシステムにおいてホストから発行される内部動作コマンドを例示的に示す図面である。
図10を参照すれば、ホストはメモリモジュールDIMM/不揮発性メモリモジュールNVDIMMの内部動作要請に応答して、内部動作を承認する場合、内部動作コマンドIOPA、IOPBを発行する。第1内部動作コマンドIOPAはメモリモジュールDIMM/不揮発性メモリモジュールNVDIMMの全てのバンクに対する内部動作を指示する。第2内部動作コマンドIOPBはメモリモジュールDIMM/不揮発性メモリモジュールNVDIMMの単一バンクに対する内部動作を指示する。
【0081】
実施形態において、全てのバンク内部動作と単一バンク内部動作とは、
図10に図示したようにアドレスピンにより区別される。
【0082】
実施形態において、内部動作コマンドIOPA、IOPBはコマンド/アドレスピンの特殊な組合せにより生成される。このような組合せは通常的なDDR4 SDRAMのRFU(reserved future use)のために提供される。実施形態において、内部動作コマンドIOPA、IOPBに関連されたコマンド/アドレスピンはCKE、CS、CAS、RAS、ACT、バンクアドレス及びアドレスピンを含む。
【0083】
実施形態において、内部動作コマンドIOPA、IOPBはアドレスピンに印加されるプログラムされた値に対応して可変される内部動作時間を含む。例えば、このようなプログラムされた値はアドレスピンA0乃至A9にプログラムされる。
【0084】
一方、
図8、
図9においてコンピューティングシステムは1つのメモリチャンネルに同一である2つのメモリモジュールDIMM1、DIMM2を連結した。しかし、本発明はこれに制限されない。本発明のコンピューティングシステムは1つのメモリチャンネルにメモリモジュールDIMMと不揮発性メモリモジュールNVDIMMとを連結することもできる。
【0085】
図11は本発明の他の実施形態に係るコンピューティングシステムを示す図面である。
図11を参照すれば、コンピューティングシステムは1つのメモリチャンネルを通じてメモリモジュールDIMMと不揮発性メモリモジュールNVDIMMとを連結する。
図11に図示したように不揮発性メモリモジュールNVDIMMに上述された内部動作を遂行する間に、ホストはメモリモジュールDIMMをアクセスできる。また、その反対の場合も可能である。例えば、メモリモジュールDIMMに内部動作を遂行する間に、ホストは不揮発性メモリモジュールNVDIMMをアクセスできる。
【0086】
一方、
図11に図示したコンピューティングシステムにおいては1つのメモリチャンネルにメモリモジュールDIMMと不揮発性メモリモジュールNVDIMMとが連結された。しかし、本発明はこれに制限されない。本発明は2つのメモリチャンネルの各々に連結されたメモリモジュールDIMMと不揮発性メモリモジュールNVDIMMPとにより構成されたコンピューティングシステムにも適用可能である。
【0087】
図12は本発明のその他の実施形態に係るコンピューティングシステムを例示的に示す図面である。
図12を参照すれば、ホストは第1メモリチャンネルCH1を通じてメモリモジュールDIMMに連結され、第2メモリチャンネルCH2を通じて不揮発性メモリモジュールNVDIMMに連結される。
図12に図示したように、不揮発性メモリモジュールNVDIMMにおいて内部動作を遂行する間に、ホストはメモリモジュールDIMMをアクセスする。
【0088】
一方、上述した本発明の動作はメモリモジュール形態ではないチップ形態のDRAMに適用可能である。
【0089】
図13は本発明の実施形態に係るDRAMを例示的に示す図面である。
図13を参照すれば、DRAM400はメモリセルアレイ410、及びリフレッシュ制御器420を含む。
【0090】
メモリセルアレイ410はワードラインとビットラインとが交差するところに形成された複数のDRAMセルを含む。
【0091】
リフレッシュ制御器420はDRAMセルのリフレッシュ動作を遂行する。実施形態において、リフレッシュ制御器420はホスト或いは外部装置(external device)のリフレッシュコマンドに応答してリフレッシュ動作を遂行する。
【0092】
実施形態において、リフレッシュ制御器420はリフレッシュ動作が必要であると判別される時、ホスト或いは外部装置に内部動作時間を要請する。ホスト或いは外部装置は内部動作時間要請に応答して内部動作時間承認/拒絶情報(内部動作コマンド)をリフレッシュ制御器420に伝送する。リフレッシュ制御器420は内部動作時間承認を受信すると、内部動作時間の間にリフレッシュ動作を遂行する。
【0093】
実施形態において、リフレッシュ制御器420は全てのバンクに対するリフレッシュ動作を遂行するか、或いは一部のバンクに対するリフレッシュ動作を遂行する。
【0094】
一方、本発明は電気抵抗をビットとして利用する3D XPointメモリにも適用可能である。
【0095】
図14は本発明のその他の実施形態に係るコンピューティングシステムを例示的に示す図面である。
図14を参照すれば、コンピューティングシステム40はプロセッサ41、メモリモジュール(DIMM)42、及び不揮発性メモリ(NVM)43を含む。
【0096】
プロセッサ41はメモリモジュール42及び不揮発性メモリ43を制御する。実施形態において、プロセッサ41はメモリモジュール42の内部動作要請に応答して内部動作コマンドを発行する。
【0097】
メモリモジュール42はDDRインターフェイスを通じてプロセッサ41に連結される。メモリモジュール42は内部動作が必要である場合、プロセッサ41に内部動作要請を伝送する。また、メモリモジュール42はプロセッサ41から受信された内部動作コマンドに応答して内部動作を遂行する。
【0098】
不揮発性メモリ43はDDR−T(transaction)インターフェイスを通じてプロセッサ41に連結される。この時、メモリモジュール42は不揮発性メモリ43のキャッシュ機能を遂行する。実施形態において、不揮発性メモリNVMは3D Xpointメモリである。一方、不揮発性メモリ43の内部動作にも本発明が適用できると理解されなければならない。
【0099】
図15は本発明の実施形態に係るホスト或いは外部装置の動作方法を例示的に示すフローチャートである。
図15を参照すれば、ホスト或いは外部装置の動作方法は次の通りである。
【0100】
ホスト或いは外部装置はメモリチャンネルに連結された多様な種類の格納装置(DIMM、NVDIMM、DRAM、NVM、SSD、eMMC、SD card、UFS等)から内部動作を遂行するための内部動作時間要請を受信する(S110)。ホスト或いは外部装置は内部動作時間要請に応答して格納等の内部動作を承認するか、或いは拒絶する。ホスト或いは外部装置は内部動作時間要請に対応する内部動作コマンドを発行する。ここで、発行された内部動作コマンドは内部動作時間を含む(S120)。発行された内部動作コマンドは該当格納装置に伝送され、格納装置は内部動作コマンドに応答して内部動作時間の間に内部動作を遂行する。
【0101】
図16は本発明の実施形態に係る格納装置の内部動作方法を例示的に示すフローチャートである。
図15及び
図16を参照すれば、格納装置の動作方法は次の通りである。
【0102】
格納装置は内部政策にしたがって内部動作が必要であるか否かを判別し、内部動作に必要である内部動作時間要請をホスト或いは外部装置に伝送する(S210)。ここで、内部動作時間要請はメッセージ形態、信号形態等の多様な方法によりホスト或いは外部装置に伝送されると理解されるべきである。例えば、格納装置はホスト或いは外部装置に内部動作時間要請を有するメッセージを伝送する。
【0103】
以後、格納装置はホスト或いは外部装置から内部動作時間承認或いは拒絶を指示する情報を有する内部動作コマンドを受信する(S220)。格納装置は内部動作コマンドに応答して全体的に或いは部分的に内部動作を遂行する(S230)。
【0104】
実施形態において、内部動作コマンドが内部動作時間承認を指示する情報を含む時、格納装置は内部動作遂行の時、ホスト或いは外部装置から発行された新しいコマンドを無視する。
【0105】
実施形態において、内部動作コマンドが内部動作時間拒絶を指示する情報を含む時、格納装置はホスト或いは外部装置から発生された新しいコマンドを受信或いは処理する。
【0106】
一方、格納装置は内部動作を遂行する時、ホスト或いは外部装置から発行された新しいコマンドを受信及びバッファーリングできると理解されなければならない。格納装置はホスト或いは外部装置から受信された新しいコマンドに応答して内部動作をホールディングさせた後、新しいコマンドを優先的に処理することもできる。
【0107】
一方、本発明はデータサーバーに応用可能である。
図17は本発明の実施形態に係るデータサーバーシステム50を例示的に示すブロック図である。
図17を参照すれば、データサーバーシステム50はデータベース管理システム(RDBMS)51、キャッシュサーバー52、及びアプリケーションサーバー53を含む。
【0108】
キャッシュサーバー52はデータベース管理システム51からの無効化通知に対応して互いに異なるキー(key)、値(value)対を維持し、削除するキー値格納を含む。
【0109】
データベース管理システム(RDBMS)51、キャッシュサーバー52、及びアプリケーションサーバー53の中の少なくとも1つは
図1乃至
図16において説明したホスト或いは外部装置、メモリモジュールDIMM、不揮発性メモリモジュールNVDIMM、DRAM、或いは不揮発性メモリにより具現される。
【0110】
一方、詳述した本発明の内容は発明を実施するための具体的な実施形態に過ぎない。本発明は具体的であり実際に利用できる手段のみならず、将来の技術によって活用できる抽象的であり、概念的なアイディアである技術的思想を含む。