JP7420472B2 - ページサイズ認識スケジューリング方法及び非一時的なコンピュータ読取可能記録媒体 - Google Patents
ページサイズ認識スケジューリング方法及び非一時的なコンピュータ読取可能記録媒体 Download PDFInfo
- Publication number
- JP7420472B2 JP7420472B2 JP2019010095A JP2019010095A JP7420472B2 JP 7420472 B2 JP7420472 B2 JP 7420472B2 JP 2019010095 A JP2019010095 A JP 2019010095A JP 2019010095 A JP2019010095 A JP 2019010095A JP 7420472 B2 JP7420472 B2 JP 7420472B2
- Authority
- JP
- Japan
- Prior art keywords
- medium
- page size
- memory
- page
- memory controller
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 33
- 230000000694 effects Effects 0.000 claims description 10
- 230000009977 dual effect Effects 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 claims description 3
- 239000004065 semiconductor Substances 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 13
- 230000007246 mechanism Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1684—Details of memory controller using multiple buses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4234—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/02—Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
- G11B27/031—Electronic editing of digitised analogue information signals, e.g. audio or video signals
- G11B27/034—Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7208—Multiple device management, e.g. distributing data over multiple flash devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System (AREA)
Description
例えば、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)が階層メモリとして同一のトランザクションベースのメモリチャネルに共存する(例:同一のランク又はチャンネル内、異なるチャンネル内等)。
NVDIMM-Pは、このような制限を有さないものの、その代わりに基本となる媒体のページ全体のサイズに依存する。
例えば、DDRは、x4デバイスの場合は512バイトのページサイズ、x8デバイスの場合は1Kバイトのページサイズ、x16デバイスの場合は2Kバイトのページサイズなど、固定数のカラムアドレスを有する。
NVDIMM-Pでは、ロウアドレス及びカラムアドレスの概念がない。
従って、ホストは、データの空間的局所性(spatial locality)を利用することができない。
新たなプロトコルは、多様な類型の媒体(例:バックエンド媒体)を支援する。
しかし、ホスト及びメモリコントローラは、媒体の実際のページサイズを知る方法がない。
従って、ホスト及びメモリコントローラは、媒体のページサイズを用いて、ページ認識スケジューリング、最良のバス活用などを行う利益が得られない。
そのため、NVDIMMが、媒体のページサイズをホストメモリコントローラと共用することを可能にするメカニズムが必要である、という課題が存在する。
前記メモリコントローラにより、前記媒体のページが、前記媒体のページサイズに基づいて設定される所定の閾値時間の間アイドル状態にある場合、前記媒体のページに対する通常(regular)読み出し動作を行う段階と、を有し、前記媒体のページサイズをSPDデータとしてメモリに格納する段階は、前記メモリコントローラにより、モードレジスタに格納された前記媒体のページサイズを読み出すためのモードレジスタセットコマンドを用いて、前記媒体のページサイズを判断する段階を含み、複数のトランザクション及び最後のトランザクションからの経過時間に基づいて、前記媒体のページのオープン及びクローズ状態を追跡するために、前記媒体のページサイズを用い、前記媒体のページは、前記媒体のページの最後の活動から、前記媒体のページサイズに基づいて設定される所定時間のフレーム内ではオープンしていると判断され、前記媒体のページが、前記媒体のページサイズに基づいて設定される所定の閾値時間の間アイドル状態にある場合には、クローズしていると判断されることを特徴とする。
以下の説明で、具体的な構成及び構成要素などの特定の細部事項は、単に本発明による実施形態の全般的な理解を助けるために提供するものである。
従って、本発明の範囲から逸脱することなく、本明細書で説明する実施形態の多様な変形及び修正が行われることは、本発明の技術分野に属する通常の技術者にとって明らかである。
また、説明の明確性及び簡潔性のために、周知の機能及び構成についての説明は省略する。
以下に説明する用語は、本発明の機能を考慮して定義した用語であり、使用者、使用者の意図又は慣習によって異なることがある。
従って、用語の定義は、本明細書の全般にわたる内容に基づいて決定すべきである。
しかし、本発明は、実施形態に限定されるものではなく、本発明の範囲内に属する全ての変形例、均等物及び代案を含むことを理解すべきである。
このような用語は、単に1つの要素を他の要素と区別するためにのみ使用される。
例えば、本発明の範囲から逸脱することなく、第1の構造的要素を第2の構造的要素と指称することができる。
同様に、第2の構造的要素もやはり、第1の構造的要素と指称することができる。
本明細書で使用する「及び/又は」という用語は、1つ以上の関連項目の任意の組み合わせ及び全ての組み合わせを含む。
単数形態の用語は、文脈上別段の明示がない限り、複数形態の用語も含む。
本発明において、「含む」又は「有する」という用語は、所定の特徴、数字、段階、動作、構造的要素、構成要素、又はこれらの組み合わせの存在を示し、1つ以上の他の特徴、数字、段階、動作、構造的要素、構成要素、又はこれらの組み合わせのさらなる存在や可能性を排除するものではない。
通常用いられる辞典に定義されているような用語は、関連技術分野における文脈的意味と同様の意味を有すると解釈すべきであり、本発明で明らかに定義しない限り、理想的又は過度に形式的な意味として解釈してはならない。
メモリチャネルを介したNVM(例:NVDIMM)のページサイズ同期化メカニズムは、以下に説明する3つの方法の内の1つによって、NVM(例:NVDIMM)のバックエンド媒体のページサイズを識別するメモリコントローラを含む。
第2の方法は、モードレジスタ読み出しコマンド(mode register read command)を介して、媒体のページサイズを識別することを含み、
第3の方法は、メッセージパケットの交換によって、媒体のページサイズを識別することを含む。
図1を参照すると、ホスト100は、メモリコントローラ101と、第1のDIMM(例:DIMM0)105と、第2のDIMM(例:DIMM1)103と、を含む。
媒体のページサイズは、SPDデータとして第1のDIMM105及び第2のDIMM103に格納される。
メモリコントローラ101は、第1のDIMM105及び第2のDIMM103に連結される。
ここで、SPDデータは、媒体のページサイズを含む。
メモリコントローラは、起動時にシステム管理バス(System Management Bus:SMBus)を介して、NVDIMMの電気的な消去/プログラムが可能なメモリ(Electrically-erasable Programmable Memory:EEPROM)から媒体のページサイズを読み出す。
例えば、メモリコントローラ101は、第1のDIMM105及び第2のDIMM103にそれぞれ格納されたSPDデータを読み出すことによって、システムの起動中に第1のDIMM105及び第2のDIMM103の媒体のページサイズを読み出す。
図2を参照すると、モードレジスタは、「DDR4」SDRAM(Static Dynamic Random Access Memory)に対するJEDEC標準の「JESD79-4」のモードレジスタであり得る。
媒体のページサイズは、RFU(Reserved for Future Use)アドレス(例:BG1、A17、A13、A5及びA6)のうちの任意のアドレスのモードレジスタに格納される。
モードレジスタ内で利用可能な限られたビット数を考慮するように、コーディングを使用する。
メモリコントローラは、モードレジスタに格納された媒体のページサイズを読み出すためのモードレジスタセット(Mode Register Set:MRS)コマンドを用いて、媒体のページサイズを判断する。
図3を参照すると、メモリコントローラに対する通常のREAD動作(例:XREAD動作等の通常読み出し動作)を示す。
ここで、「MESSAGE DATA」307は、メモリのページサイズを含む。
メモリコントローラは、メッセージパケットから媒体のサイズを読み出す。
図4及び図5を参照すると、本発明は、ページサイズ認識スケジューリングの動作を提供する。
次に、メモリコントローラは、媒体のページ(DRAMページに限られない)がオープンしているか、クローズしているかを追跡する。
媒体のページがオープンしているかクローズしているかを識別する場合、メモリコントローラは、チャネル帯域幅をさらによく活用できる。
例えば、一実施形態によると、媒体のページは、媒体のページの最後の活動から所定時間のフレーム内ではオープンしていると判断され、媒体のページが一定期間アイドル状態にある場合には、クローズしていると判断される。
通常読み出し動作は、ハンドシェイク通信(handshake communication)を必要とし、非決定性タイミングを使用し、バス活用度が低く、読み出しレイテンシが高い。
推測的読み出し動作は、最初の応答のために決定性タイミングを使用し、データが有効でない場合(例:ミスの発生)、読み出し準備応答を待ち、バス活用度が高く、読み出しレイテンシが高いか又は低い。
メモリコントローラが、NVDIMM内のページ管理を認識する場合は、オープン/クローズ状態を完全に追跡する。
しかし、内部DIMMの構成/メカニズムに関する情報は入手できないことがある。
メモリコントローラが、NVDIMM内のページ管理を認識できない場合は、アクセスパターン、アクセスタイミング情報などの情報を用いることにより、ページのオープン/クローズ状態を予測する。
即ち、メモリコントローラは、媒体のページがオープしているかクローズしているかを追跡して、ページサイズ認識スケジューリングを行い、スケジューリングのために媒体のページのオープン又はクローズ状態を用いることによって、バス活用度及びシステム性能を向上させる。
推測的読み出し動作及び通常読み出し動作は、NVDIMM-P標準の一部であるが、それらの使用法はメモリのページサイズ及びオープン/クローズ状態に合わせて調整するものではない。
一実施形態による媒体のページは、媒体のページの最後の活動から所定時間のフレーム内ではオープンしていると判断される。
一実施形態による媒体のページは、媒体のページが一定期間アイドル状態にある場合、クローズしていると判断される。
ページのオープン/クローズ状態を誤って追跡しても、これはホスト上のデータの正確性には何の影響も与えない。
単に性能上の不利益があるのみである。しかし、全体的な性能は、一度に1つの読み出し動作のみを用いる場合よりも優れている。
図6を参照すると、第1の通常読み出し信号601が、メモリコントローラによりメモリに送信される。
第1の通常読み出し信号601に関する第1のREADY信号603は、メモリコントローラによりメモリから受信される。
次に、メモリコントローラは、第1のREADY信号603に関する第1のSEND信号605をメモリに送信し、第1のSEND信号605に関する第1のDATA607をメモリから受信する。
第2の通常読み出し信号609に関する第2のREADY信号611は、メモリコントローラによりメモリから受信される。
次に、メモリコントローラは、第2のREADY信号611に関する第2のSEND信号613をメモリに送信し、第2のSEND信号613に関する第2のDATA615をメモリから受信する。
第3の通常読み出し信号617に関する第3のREADY信号619は、メモリコントローラによりメモリから受信される。
次に、メモリコントローラは、第3のREADY信号619に関する第3のSEND信号621をメモリに送信し、第3のSEND信号621に関する第3のDATA623をメモリから受信する。
図7を参照すると、通常読み出し信号701がメモリコントローラによりメモリに送信される。
通常読み出し信号701に関するREADY信号703は、メモリコントローラによりメモリから受信される。
次に、メモリコントローラは、READY信号703に関するSEND信号705をメモリに送信し、SEND信号705に関する第1のDATA707をメモリから受信する。
媒体のページがオープンしていると判断されたため、メモリコントローラは、メモリからREADY信号を受信する必要なく、又はメモリからREADY信号を受信した後、SEND信号をメモリに送信する必要なく、メモリから第2のDATA711を受信する。
従って、バス活用度及びシステム性能が向上する。
媒体のページがオープンしていると判断されたため、メモリコントローラは、メモリからREADY信号を受信する必要なく、又はメモリからREADY信号を受信した後、SEND信号をメモリに送信する必要なく、メモリから第3のDATA715を受信する。
従って、バス活用度及びシステム性能が向上する。
図8を参照すると、まず、段階S801において、媒体のページサイズがSPDデータとしてメモリに格納される。
次に、段階S805において、媒体のページがオープンしているかクローズしているかを判断する。
媒体のページがオープンしていると判断される場合、段階S807で推測的読み出し動作を行う。
媒体のページがクローズしていると判断される場合、段階S809で通常読み出し動作を行う。
図9を参照すると、まず、段階S901において、媒体のページサイズがメモリレジスタに格納される。
次に、段階S905において、媒体のページがオープンしているかクローズしているかを判断する。
媒体のページがオープンしていると判断される場合、段階S907で推測的読み出し動作を行う。
媒体のページがクローズしていると判断される場合、段階S909で通常読み出し動作を行う。
図10を参照すると、まず、段階1001において媒体のページサイズをメッセージパケットに含ませる。
次に、段階S1005において、媒体のページがオープンしているかクローズしているかを判断する。
媒体のページがオープンしていると判断される場合、段階S1007で推測的読み出し動作を行う。
媒体のページがクローズしていると判断される場合、段階S1009で通常読み出し動作を行う。
101 メモリコントローラ
103 第2のDIMM
105 第1のDIMM
Claims (8)
- メモリコントローラにより、媒体のページサイズをSPD(Serial Presence Detect)データとしてメモリに格納する段階と、
前記メモリに格納された前記SPD(Serial Presence Detect)データを読み出すことによって、システムの起動中に前記メモリの基本となる媒体のページサイズを読み出す段階と、
前記メモリコントローラにより、前記媒体のページの最後の活動(activity)から、前記媒体のページサイズに基づいて設定される所定時間のフレーム内にある場合、前記媒体のページに対する推測的(speculative)読み出し動作を行う段階と、
前記メモリコントローラにより、前記媒体のページが、前記媒体のページサイズに基づいて設定される所定の閾値時間の間アイドル状態にある場合、前記媒体のページに対する通常(regular)読み出し動作を行う段階と、を有し、
前記媒体のページサイズをSPDデータとしてメモリに格納する段階は、前記メモリコントローラにより、モードレジスタに格納された前記媒体のページサイズを読み出すためのモードレジスタセットコマンドを用いて、前記媒体のページサイズを判断する段階を含み、
複数のトランザクション及び最後のトランザクションからの経過時間に基づいて、前記媒体のページのオープン及びクローズ状態を追跡するために、前記媒体のページサイズを用い、
前記媒体のページは、前記媒体のページの最後の活動から、前記媒体のページサイズに基づいて設定される所定時間のフレーム内ではオープンしていると判断され、
前記媒体のページが、前記媒体のページサイズに基づいて設定される所定の閾値時間の間アイドル状態にある場合には、クローズしていると判断されることを特徴とするページサイズ認識スケジューリング方法。 - 前記媒体のページサイズを読み出す段階は、前記メモリコントローラによって、システム管理バス(SMBus)を介して前記媒体のページサイズを読み出す段階を含むことを特徴とする請求項1に記載のページサイズ認識スケジューリング方法。
- 前記媒体のページサイズを判断する段階は、メモリによって、前記媒体のページサイズをメッセージパケットに含ませる段階と、
前記メモリコントローラによって、前記メッセージパケットから前記媒体のページサイズを読み出す段階と、を含むことを特徴とする請求項1に記載のページサイズ認識スケジューリング方法。 - 前記メモリは、不揮発性メモリ(NVM)であり、
前記NVMは、不揮発性デュアルインラインメモリモジュール(NVDIMM)、JEDEC半導体技術協会のNVDIMM-P標準のNVDIMM、ハイブリッドメモリキューブ(HMC)、HPメモリ、GenZコンソーシアムメモリ、及びNVDIMMの電気的な消去及びプログラムが可能なROM(NVDIMM EEPROM)の内の1つであることを特徴とする請求項1に記載のページサイズ認識スケジューリング方法。 - ページサイズ認識スケジューリング方法をコンピュータで実行させるためのコンピュータプログラムを記録した非一時的なコンピュータ読取可能記録媒体であって、
前記コンピュータプログラムは、
メモリコントローラにより、モードレジスタに格納された前記媒体のページサイズを読み出すためのモードレジスタセットコマンドを用いて、媒体のページサイズを判断する段階と、
前記メモリコントローラにより、前記媒体のページサイズをSPD(Serial Presence Detect)データとしてメモリに格納する段階と、
前記メモリに格納された前記SPDデータを読み出すことによって、システムの起動中に前記メモリの基本となる媒体のページサイズを読み出す段階と、
前記メモリコントローラにより、前記媒体のページの最後の活動(activity)から、前記媒体のページサイズに基づいて設定される所定時間のフレーム内にある場合、前記媒体のページに対する推測的(speculative)読み出し動作を行う段階と、
前記メモリコントローラにより、前記媒体のページが、前記媒体のページサイズに基づいて設定される所定の閾値時間の間アイドル状態にある場合、前記媒体のページに対する通常読み出し動作を行う段階と、を、前記コンピュータで実行するようにプログラムされ、
複数のトランザクション及び最後のトランザクションからの経過時間に基づいて、前記媒体のページのオープン及びクローズ状態を追跡するために、前記媒体のページサイズを用い、
前記媒体のページは、前記媒体のページの最後の活動から、前記媒体のページサイズに基づいて設定される所定時間のフレーム内ではオープンしていると判断され、
前記媒体のページが、前記媒体のページサイズに基づいて設定される所定の閾値時間の間アイドル状態にある場合には、クローズしていると判断されることを特徴とする非一時的なコンピュータ読取可能記録媒体。 - 前記媒体のページサイズを読み出す段階は、前記メモリコントローラによって、システム管理バス(SMBus)を介して前記媒体のページサイズを読み出す段階を含むことを特徴とする請求項5に記載の非一時的なコンピュータ読取可能記録媒体。
- 前記媒体のページサイズを判断する段階は、前記メモリによって、前記媒体のページサイズをメッセージパケットに含ませる段階と、前記メモリコントローラによって、前記メッセージパケットから前記媒体のページサイズを読み出す段階と、を含むことを特徴とする請求項5に記載の非一時的なコンピュータ読取可能記録媒体。
- 前記メモリは、不揮発性メモリ(NVM)であり、
前記NVMは、不揮発性デュアルインラインメモリモジュール(NVDIMM)、JEDEC半導体技術協会のNVDIMM-P標準のNVDIMM、ハイブリッドメモリキューブ(HMC)、HPメモリ、GenZコンソーシアムメモリ、及びNVDIMMの電気的な消去及びプログラムが可能なROM(NVDIMM EEPROM)の内の1つであることを特徴とする請求項5に記載の非一時的なコンピュータ読取可能記録媒体。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862623295P | 2018-01-29 | 2018-01-29 | |
US62/623,295 | 2018-01-29 | ||
US15/949,934 | 2018-04-10 | ||
US15/949,934 US11029879B2 (en) | 2018-01-29 | 2018-04-10 | Page size synchronization and page size aware scheduling method for non-volatile memory dual in-line memory module (NVDIMM) over memory channel |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2019133657A JP2019133657A (ja) | 2019-08-08 |
JP2019133657A5 JP2019133657A5 (ja) | 2022-01-27 |
JP7420472B2 true JP7420472B2 (ja) | 2024-01-23 |
Family
ID=67392159
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019010095A Active JP7420472B2 (ja) | 2018-01-29 | 2019-01-24 | ページサイズ認識スケジューリング方法及び非一時的なコンピュータ読取可能記録媒体 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11029879B2 (ja) |
JP (1) | JP7420472B2 (ja) |
KR (1) | KR102390156B1 (ja) |
CN (1) | CN110097898B (ja) |
TW (1) | TWI761655B (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11157412B2 (en) * | 2019-11-25 | 2021-10-26 | Micron Technology, Inc. | Read commands based on row status prediction |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060233030A1 (en) | 2005-04-14 | 2006-10-19 | Micron Technology, Inc. | System and method for enhanced mode register definitions |
JP2007323113A (ja) | 2006-05-30 | 2007-12-13 | Oki Electric Ind Co Ltd | メモリ制御回路 |
JP2010537310A (ja) | 2007-08-22 | 2010-12-02 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 投機的なプリチャージの検出 |
US20140068154A1 (en) | 2012-09-06 | 2014-03-06 | Kabushiki Kaisha Toshiba | Semiconductor memory device |
JP2015056171A (ja) | 2013-09-13 | 2015-03-23 | 株式会社東芝 | メモリシステムおよび情報処理装置 |
JP2017503266A (ja) | 2014-01-07 | 2017-01-26 | アップル インコーポレイテッド | フラッシュメモリ内に記憶されたデータの推測的プリフェッチ |
JP2017220237A (ja) | 2016-06-08 | 2017-12-14 | 三星電子株式会社Samsung Electronics Co.,Ltd. | メモリモジュール、これを含むシステム及びその動作方法 |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006244696A (ja) * | 1996-08-08 | 2006-09-14 | Ricoh Co Ltd | 光学式記録ディスクドライブ装置に用いるデータ処理装置 |
US5848025A (en) * | 1997-06-30 | 1998-12-08 | Motorola, Inc. | Method and apparatus for controlling a memory device in a page mode |
US6219765B1 (en) * | 1998-08-03 | 2001-04-17 | Micron Technology, Inc. | Memory paging control apparatus |
US6799257B2 (en) * | 2002-02-21 | 2004-09-28 | Intel Corporation | Method and apparatus to control memory accesses |
US6895475B2 (en) * | 2002-09-30 | 2005-05-17 | Analog Devices, Inc. | Prefetch buffer method and apparatus |
US7020762B2 (en) * | 2002-12-24 | 2006-03-28 | Intel Corporation | Method and apparatus for determining a dynamic random access memory page management implementation |
US7562271B2 (en) | 2005-09-26 | 2009-07-14 | Rambus Inc. | Memory system topologies including a buffer device and an integrated circuit memory device |
US8116294B2 (en) | 2007-01-31 | 2012-02-14 | Broadcom Corporation | RF bus controller |
EP2020795B1 (en) * | 2007-08-03 | 2017-11-22 | Nokia Solutions and Networks Oy | Method and network equipment for maintaining a media stream through another network equipment while suspending an associated media stream connection in a communication network |
EP2286412A1 (en) | 2007-12-21 | 2011-02-23 | Rambus Inc. | Flash memory timing pre-characterization for use in ormal operation |
US8301912B2 (en) * | 2007-12-31 | 2012-10-30 | Sandisk Technologies Inc. | System, method and memory device providing data scrambling compatible with on-chip copy operation |
EP2200029A1 (en) * | 2008-12-22 | 2010-06-23 | ST-NXP Wireless France | Method and device for storing and transferring paged data, in particular paged code in a virtual memory mechanism |
KR20110113420A (ko) * | 2010-04-09 | 2011-10-17 | 삼성전자주식회사 | 저장 매체에 데이터를 저장하는 방법, 그를 이용한 데이터 저장 장치, 및 그것을 포함한 시스템 |
US9779020B2 (en) * | 2011-02-08 | 2017-10-03 | Diablo Technologies Inc. | System and method for providing an address cache for memory map learning |
JP5983019B2 (ja) * | 2012-05-17 | 2016-08-31 | ソニー株式会社 | 制御装置、記憶装置、記憶制御方法 |
US8882229B2 (en) | 2013-02-28 | 2014-11-11 | Hewlett-Packard Development Company, L.P. | Media width-based calibration pattern placement |
US10102148B2 (en) * | 2013-06-13 | 2018-10-16 | Microsoft Technology Licensing, Llc | Page-based compressed storage management |
US9763903B2 (en) * | 2013-10-22 | 2017-09-19 | Steven Hoffman | Compositions and methods for treating intestinal hyperpermeability |
US20150347151A1 (en) | 2014-05-28 | 2015-12-03 | Diablo Technologies Inc. | System and method for booting from a non-volatile memory |
US9747229B1 (en) | 2014-07-03 | 2017-08-29 | Pure Storage, Inc. | Self-describing data format for DMA in a non-volatile solid-state storage |
JP2016143085A (ja) | 2015-01-29 | 2016-08-08 | 株式会社東芝 | 装置及び方法 |
KR102274038B1 (ko) | 2015-08-03 | 2021-07-09 | 삼성전자주식회사 | 백업 기능을 갖는 메모리 모듈 |
KR102430561B1 (ko) * | 2015-09-11 | 2022-08-09 | 삼성전자주식회사 | 듀얼 포트 디램을 포함하는 메모리 모듈 |
US10031674B2 (en) | 2015-10-07 | 2018-07-24 | Samsung Electronics Co., Ltd. | DIMM SSD addressing performance techniques |
WO2017066601A1 (en) * | 2015-10-16 | 2017-04-20 | Huang Yiren Ronnie | Method and apparatus for providing hybrid mode to access ssd drive |
US10437486B2 (en) * | 2016-05-24 | 2019-10-08 | Samsung Electronics Co., Ltd. | Method and apparatus for tenant-aware storage sharing platform |
US10101935B2 (en) * | 2016-06-03 | 2018-10-16 | Samsung Electronics Co., Ltd. | System and method for providing expandable and contractible memory overprovisioning |
US10482043B2 (en) * | 2016-08-29 | 2019-11-19 | Advanced Micro Devices, Inc. | Nondeterministic memory access requests to non-volatile memory |
US10191689B2 (en) * | 2016-12-29 | 2019-01-29 | Intel Corporation | Systems and methods for page management using local page information |
US20180188988A1 (en) * | 2017-01-04 | 2018-07-05 | Qualcomm Incorporated | Partial page access in a low power memory system |
-
2018
- 2018-04-10 US US15/949,934 patent/US11029879B2/en active Active
- 2018-11-16 KR KR1020180141256A patent/KR102390156B1/ko active IP Right Grant
-
2019
- 2019-01-18 TW TW108102083A patent/TWI761655B/zh active
- 2019-01-18 CN CN201910049654.6A patent/CN110097898B/zh active Active
- 2019-01-24 JP JP2019010095A patent/JP7420472B2/ja active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060233030A1 (en) | 2005-04-14 | 2006-10-19 | Micron Technology, Inc. | System and method for enhanced mode register definitions |
JP2007323113A (ja) | 2006-05-30 | 2007-12-13 | Oki Electric Ind Co Ltd | メモリ制御回路 |
JP2010537310A (ja) | 2007-08-22 | 2010-12-02 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 投機的なプリチャージの検出 |
US20140068154A1 (en) | 2012-09-06 | 2014-03-06 | Kabushiki Kaisha Toshiba | Semiconductor memory device |
JP2015056171A (ja) | 2013-09-13 | 2015-03-23 | 株式会社東芝 | メモリシステムおよび情報処理装置 |
JP2017503266A (ja) | 2014-01-07 | 2017-01-26 | アップル インコーポレイテッド | フラッシュメモリ内に記憶されたデータの推測的プリフェッチ |
JP2017220237A (ja) | 2016-06-08 | 2017-12-14 | 三星電子株式会社Samsung Electronics Co.,Ltd. | メモリモジュール、これを含むシステム及びその動作方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110097898B (zh) | 2022-10-18 |
CN110097898A (zh) | 2019-08-06 |
KR20190092239A (ko) | 2019-08-07 |
JP2019133657A (ja) | 2019-08-08 |
US20190235788A1 (en) | 2019-08-01 |
US11029879B2 (en) | 2021-06-08 |
TWI761655B (zh) | 2022-04-21 |
TW201933118A (zh) | 2019-08-16 |
KR102390156B1 (ko) | 2022-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11790981B2 (en) | Method of performing internal processing operation of memory device | |
US9653141B2 (en) | Method of operating a volatile memory device and a memory controller | |
US20170322726A1 (en) | Non-deterministic memory protocol | |
KR101893895B1 (ko) | 메모리 시스템 및 그 동작 제어 방법 | |
US10957413B2 (en) | Shared error check and correct logic for multiple data banks | |
US20140237177A1 (en) | Memory module and memory system having the same | |
KR20160122483A (ko) | 메모리 시스템, 메모리 모듈 및 메모리 모듈의 동작 방법 | |
US11256568B2 (en) | Memory management systems and methods | |
JP2006309757A (ja) | メモリーに送るコマンドの選択方法、メモリーコントローラー、コンピュータシステム | |
CN108139994B (zh) | 内存访问方法及内存控制器 | |
JP2008210088A (ja) | メモリコントローラ、半導体メモリのアクセス制御方法およびシステム | |
US20170147230A1 (en) | Memory device and memory system having heterogeneous memories | |
JP7420472B2 (ja) | ページサイズ認識スケジューリング方法及び非一時的なコンピュータ読取可能記録媒体 | |
JP5464527B2 (ja) | 不揮発性メモリの読み出し動作変更 | |
KR101861647B1 (ko) | 메모리 시스템 및 그 리프레시 제어 방법 | |
US20230410875A1 (en) | Memory device and defense method thereof | |
US20180005672A1 (en) | Memory apparatus and operating method thereof | |
CN108027765B (zh) | 一种内存访问方法以及计算机系统 | |
US20190096459A1 (en) | Memory devices for performing multiple write operations and operating methods thereof | |
Khalifa et al. | A novel memory controller architecture | |
JP5676169B2 (ja) | フラッシュromエミュレータおよびデータ制御方法 | |
KR20230082529A (ko) | 리프레쉬 동작에서 파워 노이즈를 감소시킨 메모리 장치 및 그 동작방법 | |
CN117789785A (zh) | 存储器件及其操作方法 | |
M'zah et al. | Refresh-aware DDR3 barrel memory controller with deterministic functionality | |
US20160124797A1 (en) | Memory Bus Error Signal |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220119 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220119 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20221128 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20221206 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230306 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230620 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230919 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20231212 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240111 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7420472 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |