【課題】媒体のページサイズを判断して、メモリスケジューリングを向上させるページサイズ認識スケジューリング方法及びその方法を実行し得る非一時的なコンピュータ読取可能記録媒体を提供する。
【解決手段】ページサイズ認識スケジューリング方法は、媒体(media)のページサイズを判断する段階と、媒体のページがオープンしているか、クローズしているかを判断する段階と、媒体のページがオープンしていると判断される場合、メモリコントローラにより、推測的(speculative)読み出し動作を行う段階と、媒体のページがクローズしていると判断される場合、メモリコントローラにより、通常(regular)読み出し動作を行う段階と、を有する。
前記媒体のページサイズを判断する段階は、前記媒体のページサイズをSPD(Serial Presence Detect)データとしてメモリに格納する段階と、
前記メモリコントローラによって、システムの起動中に、前記メモリに格納された前記SPDデータから前記媒体のページを読み出す段階と、を含むことを特徴とする請求項1に記載のページサイズ認識スケジューリング方法。
前記媒体のページサイズを読み出す段階は、前記メモリコントローラによって、システム管理バス(SMBus)を介して前記媒体のページサイズを読み出す段階を含むことを特徴とする請求項2に記載のページサイズ認識スケジューリング方法。
前記モードレジスタから前記媒体のページサイズを読み出す段階は、モードレジスタセットコマンドを用いて、前記モードレジスタから前記媒体のページサイズを読み出す段階を含むことを特徴とする請求項4に記載のページサイズ認識スケジューリング方法。
前記媒体のページサイズを前記モードレジスタに格納する段階は、前記モードレジスタのRFU(reserved for future use)アドレスに前記媒体のページサイズを格納する段階を含むことを特徴とする請求項4に記載のページサイズ認識スケジューリング方法。
前記媒体のページがオープンしていると判断される場合は、前記媒体のページの最後の活動(activity)から所定時間のフレーム以内で前記媒体のページがオープンしていると判断される場合を含むことを特徴とする請求項1に記載のページサイズ認識スケジューリング方法。
前記媒体のページがクローズしていると判断される場合は、前記媒体のページが、閾値時間の間アイドル状態にあることに少なくとも部分的に基づいて判断される場合を含むことを特徴とする請求項1に記載のページサイズ認識スケジューリング方法。
前記媒体のページサイズを読み出す段階は、前記メモリコントローラによって、システム管理バス(SMBus)を介して前記媒体のページサイズを読み出す段階を含むことを特徴とする請求項12に記載の非一時的なコンピュータ読取可能記録媒体。
前記モードレジスタから前記媒体のページサイズを読み出す段階は、モードレジスタセットコマンドを用いて、前記モードレジスタから前記媒体のページサイズを読み出す段階を含むことを特徴とする請求項14に記載の非一時的なコンピュータ読取可能記録媒体。
前記媒体のページサイズを前記モードレジスタに格納する段階は、前記モードレジスタのRFUアドレスに前記媒体のページサイズを格納する段階を含むことを特徴とする請求項14に記載の非一時的なコンピュータ読取可能記録媒体。
前記媒体のページがオープンしていると判断される場合は、前記媒体のページの最後の活動から所定時間のフレーム以内で前記媒体のページがオープンしていると判断される場合を含むことを特徴とする請求項11に記載の非一時的なコンピュータ読取可能記録媒体。
前記媒体のページがクローズしていると判断される場合は、前記媒体のページが、閾値時間の間アイドル状態にあることに少なくとも部分的に基づいて判断される場合を含むことを特徴とする請求項11に記載の非一時的なコンピュータ読取可能記録媒体。
【背景技術】
【0002】
次世代メモリインタフェースのトレンドには、メインメモリとして使用される不揮発性メモリ(Non−Volatile Memory:NVM)のためのトランザクションベースのインタフェース、可変する読み出し/書き込み(read/write)タイミング及びデュアルインラインメモリモジュール(Dual In−line Memory Module:DIMM)からのフィードバック情報等がある。
例えば、JEDEC半導体技術協会(Joint Electron Device Engineering Council Solid State Technology Association)の標準であるNVDIMM−P、ハイブリッドメモリキューブ(hybrid memory cube:HMC)、HP(Hewlett−Packard)メモリ及びGenZコンソーシアムメモリを必要とする。
次世代メモリシステムでは、NVM(例:NVDIMM)及びダイナミックランダムアクセスメモリ(Dynamic Random Access Memory:DRAM)(例:DIMM)が階層メモリとして同一のトランザクションベースのメモリチャネルに共存する(例:同一のランク又はチャンネル内、異なるチャンネル内等)。
【0003】
しかしながら、ダブルデータレート(Double Data Rate:DDR)のランダムアクセスメモリ(Random Access Memory:RAM)(例:第4世代DDR(DDR4))は、ロウ及びアドレスの制限に基づいて、固定されたページサイズを有する。
NVDIMM−Pは、このような制限を有さないものの、その代わりに基本となる媒体のページ全体のサイズに依存する。
例えば、DDRは、x4デバイスの場合は512バイトのページサイズ、x8デバイスの場合は1Kバイトのページサイズ、x16デバイスの場合は2Kバイトのページサイズなど、固定数のカラムアドレスを有する。
NVDIMM−Pでは、ロウアドレス及びカラムアドレスの概念がない。
従って、ホストは、データの空間的局所性(spatial locality)を利用することができない。
新たなプロトコルは、多様な類型の媒体(例:バックエンド媒体)を支援する。
しかし、ホスト及びメモリコントローラは、媒体の実際のページサイズを知る方法がない。
従って、ホスト及びメモリコントローラは、媒体のページサイズを用いて、ページ認識スケジューリング、最良のバス活用などを行う利益が得られない。
そのため、NVDIMMが、媒体のページサイズをホストメモリコントローラと共用することを可能にするメカニズムが必要である、という課題が存在する。
【発明を実施するための形態】
【0010】
次に、本発明に係るページサイズ認識スケジューリング方法を実施するための形態の具体例を図面を参照しながら説明する。
【0011】
他の図面に示していたとしても、同一の要素は同一の参照番号として示すことに留意すべきである。
以下の説明で、具体的な構成及び構成要素などの特定の細部事項は、単に本発明による実施形態の全般的な理解を助けるために提供するものである。
従って、本発明の範囲から逸脱することなく、本明細書で説明する実施形態の多様な変形及び修正が行われることは、本発明の技術分野に属する通常の技術者にとって明らかである。
また、説明の明確性及び簡潔性のために、周知の機能及び構成についての説明は省略する。
以下に説明する用語は、本発明の機能を考慮して定義した用語であり、使用者、使用者の意図又は慣習によって異なることがある。
従って、用語の定義は、本明細書の全般にわたる内容に基づいて決定すべきである。
【0012】
本発明は、多様な変形例及び多様な実施形態を有し、その一部について、図面を参照して以下に詳細に説明する。
しかし、本発明は、実施形態に限定されるものではなく、本発明の範囲内に属する全ての変形例、均等物及び代案を含むことを理解すべきである。
【0013】
多様な要素を説明するために、第1、第2などの序数を含む用語を使用したとしても、ある構造的な要素がこのような用語により制限されるわけではない。
このような用語は、単に1つの要素を他の要素と区別するためにのみ使用される。
例えば、本発明の範囲から逸脱することなく、第1の構造的要素を第2の構造的要素と指称することができる。
同様に、第2の構造的要素もやはり、第1の構造的要素と指称することができる。
本明細書で使用する「及び/又は」という用語は、1つ以上の関連項目の任意の組み合わせ及び全ての組み合わせを含む。
【0014】
本明細書で使用する用語は、単に本発明の多様な実施形態を説明するために使用するものであって、本発明を限定しようとするものではない。
単数形態の用語は、文脈上別段の明示がない限り、複数形態の用語も含む。
本発明において、「含む」又は「有する」という用語は、所定の特徴、数字、段階、動作、構造的要素、構成要素、又はこれらの組み合わせの存在を示し、1つ以上の他の特徴、数字、段階、動作、構造的要素、構成要素、又はこれらの組み合わせのさらなる存在や可能性を排除するものではない。
【0015】
本明細書で使用する全ての用語は、特に定義しない限り、本発明が属する技術分野における通常の技術者が一般的に理解するものと同様の意味を有する。
通常用いられる辞典に定義されているような用語は、関連技術分野における文脈的意味と同様の意味を有すると解釈すべきであり、本発明で明らかに定義しない限り、理想的又は過度に形式的な意味として解釈してはならない。
【0016】
本発明は、メモリコントローラがメモリ(例:NVDIMM−Pメモリ)の基本となる媒体のページサイズを判断し、判断した媒体のページサイズを用いて、メモリスケジューリングを向上させるメカニズムに関する。
メモリチャネルを介したNVM(例:NVDIMM)のページサイズ同期化メカニズムは、以下に説明する3つの方法の内の1つによって、NVM(例:NVDIMM)のバックエンド媒体のページサイズを識別するメモリコントローラを含む。
【0017】
第1の方法は、メモリのSPD(Serial Presence Detect)読み出しを通じて、システムの起動中に媒体のページサイズを識別することを含む。
第2の方法は、モードレジスタ読み出しコマンド(mode register read command)を介して、媒体のページサイズを識別することを含み、
第3の方法は、メッセージパケットの交換によって、媒体のページサイズを識別することを含む。
【0018】
メモリコントローラは、メモリスケジューリングの間、媒体のページサイズの識別を用いて、ページサイズ認識メモリスケジューリングを行い、バスをより良く活用することにより、システム性能を向上する。
【0019】
図1は、本発明の一実施形態によるDIMMに格納された媒体のページサイズを示すブロック図である。
図1を参照すると、ホスト100は、メモリコントローラ101と、第1のDIMM(例:DIMM0)105と、第2のDIMM(例:DIMM1)103と、を含む。
媒体のページサイズは、SPDデータとして第1のDIMM105及び第2のDIMM103に格納される。
メモリコントローラ101は、第1のDIMM105及び第2のDIMM103に連結される。
【0020】
本発明の第1の方法は、システムの起動中に、メモリコントローラ101が、SPD読み出しを通じて媒体のページサイズを読み出すことである。
ここで、SPDデータは、媒体のページサイズを含む。
メモリコントローラは、起動時にシステム管理バス(System Management Bus:SMBus)を介して、NVDIMMの電気的な消去/プログラムが可能なメモリ(Electrically−erasable Programmable Memory:EEPROM)から媒体のページサイズを読み出す。
例えば、メモリコントローラ101は、第1のDIMM105及び第2のDIMM103にそれぞれ格納されたSPDデータを読み出すことによって、システムの起動中に第1のDIMM105及び第2のDIMM103の媒体のページサイズを読み出す。
【0021】
図2は、本発明の一実施形態によるモードレジスタに格納された媒体のページサイズの例示図である。
図2を参照すると、モードレジスタは、「DDR4」SDRAM(Static Dynamic Random Access Memory)に対するJEDEC標準の「JESD79−4」のモードレジスタであり得る。
【0022】
本発明の第2の方法は、モードレジスタ(例:モードレジスタ1(MR1))に媒体のページサイズを格納することである。
媒体のページサイズは、RFU(Reserved for Future Use)アドレス(例:BG1、A17、A13、A5及びA6)のうちの任意のアドレスのモードレジスタに格納される。
モードレジスタ内で利用可能な限られたビット数を考慮するように、コーディングを使用する。
メモリコントローラは、モードレジスタに格納された媒体のページサイズを読み出すためのモードレジスタセット(Mode Register Set:MRS)コマンドを用いて、媒体のページサイズを判断する。
【0023】
図3は、本発明の一実施形態によるメッセージデータに格納された媒体のページサイズの例示図である。
図3を参照すると、メモリコントローラに対する通常のREAD動作(例:XREAD動作等の通常読み出し動作)を示す。
【0024】
通常のREAD動作には、メモリコントローラがメッセージデータ要求信号(「REQUEST MESSAGE DATA」SIGNAL)301(例:通常読み出し信号)をメモリに送信する動作と、メモリコントローラがメモリからDIMM上のメッセージデータの準備完了信号(「MESSAGE DATA READY ON DIMM」SIGNAL)303(例:READY信号)を受信する動作と、メモリコントローラがメッセージデータ読み出し信号(「READ MESSAGE DATA」SIGNAL)305(例:SEND信号)をメモリに送信する動作と、メモリコントローラがメモリからメッセージデータ「MESSAGE DATA」307を受信する動作と、を含む。
ここで、「MESSAGE DATA」307は、メモリのページサイズを含む。
【0025】
本発明の第3の方法は、メッセージパケット(例:NVDIMM−Pメッセージパケット)に媒体のページサイズフィールドを含ませることである。
メモリコントローラは、メッセージパケットから媒体のサイズを読み出す。
【0026】
図4及び
図5は、本発明の一実施形態によるページサイズ認識スケジューリングの例示図である。
図4及び
図5を参照すると、本発明は、ページサイズ認識スケジューリングの動作を提供する。
【0027】
メモリコントローラは、まず、上述の3つの方法のうちの1つを用いて、媒体のページサイズを判断する。
次に、メモリコントローラは、媒体のページ(DRAMページに限られない)がオープンしているか、クローズしているかを追跡する。
媒体のページがオープンしているかクローズしているかを識別する場合、メモリコントローラは、チャネル帯域幅をさらによく活用できる。
【0028】
例えば、メモリコントローラは、複数のトランザクション及び/又は最後のトランザクションからの経過時間に基づいて、媒体のページのオープン及びクローズ状態を追跡するために、媒体のページサイズを用いる。
例えば、一実施形態によると、媒体のページは、媒体のページの最後の活動から所定時間のフレーム内ではオープンしていると判断され、媒体のページが一定期間アイドル状態にある場合には、クローズしていると判断される。
【0029】
図4及び
図5は、媒体のページに関する読み出し動作及び書込み動作が行われる間は、該当媒体のページがオープンしていると判断され、媒体のページに関する読み出し動作や書込み動作がそれ以上存在しない時点以後は、該当媒体のページがクローズしていると判断されることを示す。
【0030】
NVDIMM−Pでは、通常読み出し動作及び推測的読み出し動作(speculative read operation)(例:SREAD動作)の2つの読み出し動作が可能である。
通常読み出し動作は、ハンドシェイク通信(handshake communication)を必要とし、非決定性タイミングを使用し、バス活用度が低く、読み出しレイテンシが高い。
推測的読み出し動作は、最初の応答のために決定性タイミングを使用し、データが有効でない場合(例:ミスの発生)、読み出し準備応答を待ち、バス活用度が高く、読み出しレイテンシが高いか又は低い。
【0031】
メモリコントローラは、ページのオープン/クローズ状態を完全に追跡してもよく、しなくてもよい。
メモリコントローラが、NVDIMM内のページ管理を認識する場合は、オープン/クローズ状態を完全に追跡する。
しかし、内部DIMMの構成/メカニズムに関する情報は入手できないことがある。
メモリコントローラが、NVDIMM内のページ管理を認識できない場合は、アクセスパターン、アクセスタイミング情報などの情報を用いることにより、ページのオープン/クローズ状態を予測する。
即ち、メモリコントローラは、媒体のページがオープしているかクローズしているかを追跡して、ページサイズ認識スケジューリングを行い、スケジューリングのために媒体のページのオープン又はクローズ状態を用いることによって、バス活用度及びシステム性能を向上させる。
【0032】
例えば、メモリコントローラは、オープンしている媒体のページ内のデータに対しては、推測的読み出し信号を送信し、クローズしている媒体のページ内のデータに対しては、通常読み出し信号を送信する。
推測的読み出し動作及び通常読み出し動作は、NVDIMM−P標準の一部であるが、それらの使用法はメモリのページサイズ及びオープン/クローズ状態に合わせて調整するものではない。
一実施形態による媒体のページは、媒体のページの最後の活動から所定時間のフレーム内ではオープンしていると判断される。
一実施形態による媒体のページは、媒体のページが一定期間アイドル状態にある場合、クローズしていると判断される。
ページのオープン/クローズ状態を誤って追跡しても、これはホスト上のデータの正確性には何の影響も与えない。
単に性能上の不利益があるのみである。しかし、全体的な性能は、一度に1つの読み出し動作のみを用いる場合よりも優れている。
【0033】
図6は、本発明の一実施形態による通常読み出し動作の例示図である。
図6を参照すると、第1の通常読み出し信号601が、メモリコントローラによりメモリに送信される。
第1の通常読み出し信号601に関する第1のREADY信号603は、メモリコントローラによりメモリから受信される。
次に、メモリコントローラは、第1のREADY信号603に関する第1のSEND信号605をメモリに送信し、第1のSEND信号605に関する第1のDATA607をメモリから受信する。
【0034】
第2の通常読み出し信号609が、メモリコントローラによりメモリに送信される。
第2の通常読み出し信号609に関する第2のREADY信号611は、メモリコントローラによりメモリから受信される。
次に、メモリコントローラは、第2のREADY信号611に関する第2のSEND信号613をメモリに送信し、第2のSEND信号613に関する第2のDATA615をメモリから受信する。
【0035】
第3の通常読み出し信号617が、メモリコントローラによりメモリに送信される。
第3の通常読み出し信号617に関する第3のREADY信号619は、メモリコントローラによりメモリから受信される。
次に、メモリコントローラは、第3のREADY信号619に関する第3のSEND信号621をメモリに送信し、第3のSEND信号621に関する第3のDATA623をメモリから受信する。
【0036】
図7は、本発明の一実施形態による通常読み出し動作及び推測的読み出し動作の例示図である。
図7を参照すると、通常読み出し信号701がメモリコントローラによりメモリに送信される。
通常読み出し信号701に関するREADY信号703は、メモリコントローラによりメモリから受信される。
次に、メモリコントローラは、READY信号703に関するSEND信号705をメモリに送信し、SEND信号705に関する第1のDATA707をメモリから受信する。
【0037】
第1の推測的読み出し信号709が、メモリコントローラによりメモリに送信される。
媒体のページがオープンしていると判断されたため、メモリコントローラは、メモリからREADY信号を受信する必要なく、又はメモリからREADY信号を受信した後、SEND信号をメモリに送信する必要なく、メモリから第2のDATA711を受信する。
従って、バス活用度及びシステム性能が向上する。
【0038】
第2の推測的読み出し信号713が、メモリコントローラによりメモリに送信される。
媒体のページがオープンしていると判断されたため、メモリコントローラは、メモリからREADY信号を受信する必要なく、又はメモリからREADY信号を受信した後、SEND信号をメモリに送信する必要なく、メモリから第3のDATA715を受信する。
従って、バス活用度及びシステム性能が向上する。
【0039】
図8は、本発明の一実施形態によるページサイズ認識スケジューリング方法を説明するためのフローチャートである。
図8を参照すると、まず、段階S801において、媒体のページサイズがSPDデータとしてメモリに格納される。
【0040】
次に、段階S803において、メモリコントローラによって、システムの起動中に、メモリに格納されたSPDデータから媒体のページサイズを読み出す。
次に、段階S805において、媒体のページがオープンしているかクローズしているかを判断する。
媒体のページがオープンしていると判断される場合、段階S807で推測的読み出し動作を行う。
媒体のページがクローズしていると判断される場合、段階S809で通常読み出し動作を行う。
【0041】
一実施形態によれば、
図8の方法は、非一時的なコンピュータ読み取り可能な媒体で行うことが可能である。
【0042】
図9は、本発明の一実施形態によるページサイズ認識スケジューリング方法を説明するためのフローチャートである。
図9を参照すると、まず、段階S901において、媒体のページサイズがメモリレジスタに格納される。
【0043】
次に、段階S903において、メモリコントローラによって、モードレジスタセットコマンドを用いて、メモリレジスタから媒体のページサイズを読み出す。
次に、段階S905において、媒体のページがオープンしているかクローズしているかを判断する。
媒体のページがオープンしていると判断される場合、段階S907で推測的読み出し動作を行う。
媒体のページがクローズしていると判断される場合、段階S909で通常読み出し動作を行う。
【0044】
一実施形態によれば、
図9の方法は、非一時的なコンピュータ読み取り可能な媒体で行うことが可能である。
【0045】
図10は、本発明の一実施形態によるページサイズ認識スケジューリング方法を説明するためのフローチャートである。
図10を参照すると、まず、段階1001において媒体のページサイズをメッセージパケットに含ませる。
【0046】
次に、段階S1003において、メモリコントローラによって、メッセージパケットから媒体のページサイズを読み出す。
次に、段階S1005において、媒体のページがオープンしているかクローズしているかを判断する。
媒体のページがオープンしていると判断される場合、段階S1007で推測的読み出し動作を行う。
媒体のページがクローズしていると判断される場合、段階S1009で通常読み出し動作を行う。
【0047】
一実施形態によれば、
図10の方法は、非一時的なコンピュータ読み取り可能な媒体で行うことが可能である。
【0048】
尚、本発明は、上述の実施形態に限られるものではない。本発明の技術的範囲から逸脱しない範囲内で多様に変更実施することが可能である。