TWI761655B - 頁面大小感知調度方法和非暫時性電腦可讀記錄媒體 - Google Patents
頁面大小感知調度方法和非暫時性電腦可讀記錄媒體 Download PDFInfo
- Publication number
- TWI761655B TWI761655B TW108102083A TW108102083A TWI761655B TW I761655 B TWI761655 B TW I761655B TW 108102083 A TW108102083 A TW 108102083A TW 108102083 A TW108102083 A TW 108102083A TW I761655 B TWI761655 B TW I761655B
- Authority
- TW
- Taiwan
- Prior art keywords
- media page
- memory
- size
- page size
- media
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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)
Abstract
本揭露提供一種頁面大小感知調度的方法和一種已在其上記錄用於執行頁面大小感知調度方法的電腦程式的非暫時性電腦可讀儲存媒體。方法包含:確定媒體頁面的大小;確定媒體頁面是打開還是關閉的;如果確定媒體頁面是打開的,那麼由記憶體控制器進行推測性讀取操作;以及如果確定媒體頁面是關閉的,那麼由記憶體控制器進行常規讀取操作。
Description
本揭露大體上涉及一種方法和一種裝置,所述方法和所述裝置用於確定媒體頁面大小和記憶體調度,且更特定地說,涉及一種用於確定非揮發性雙列直插式記憶體模組(non-volatile dual in-line memory module;NVDIMM)的媒體頁面大小和NVDIMM調度的方法和裝置。
下一代記憶體介面的趨勢包含作為主記憶體的非揮發性記憶體(non-volatile memory;NVM)的基於交易的介面、可變讀取/寫入時序以及來自雙列直插式記憶體模組(dual in-line memory module;DIMM)的回饋資訊。舉例來說,可能需要NVDIMM-P、混合儲存立方體(hybrid memory cube;HMC)、惠普(Hewlett-Packard;HP)記憶體以及GenZ聯盟(GenZ Consortium)記憶體,NVDIMM-P是電子器件工程聯合委員會(Joint Electron Device Engineering Council;JEDEC)固態技術協會的標準。
在未來記憶體系統中,NVM(例如NVDIMM)和動態隨機存取記憶體(dynamic random access memory;DRAM)(例如DIMM)可作為分層記憶體在同一基於交易的記憶體通道上共存(例如,在同一組(rank)或同一通道內、在不同通道中等等)。
然而,雙倍資料速率(double data rate;DDR)隨機存取記憶體(random access memory;RAM)(例如第四代DDR(DDR4))具有基於列和位址限制的固定頁面大小。NVDIMM-P不具有這種限制,但卻依賴於整個底層媒體頁面的大小。舉例來說,DDR可具有固定數目的行位址,例如x4器件的512位元組頁面大小、x8器件的1千位元組頁面大小以及x16器件的2千位元組頁面大小。
在NVDIMM-P中,不存在列位址和行位址的概念。因此,主機無法利用資料的空間局部性。
新的協定支援不同類型的媒體(例如後端媒體)。然而,主機和記憶體控制器無法得知媒體的實際頁面大小。因此,主機和記憶體控制器可能不能受益于得知媒體頁面大小來進行頁面感知調度、最佳匯流排利用等。
因此,需要機制以允許NVDIMM與主機記憶體控制器共用媒體頁面的大小。
根據一個實施例,提供一種頁面大小感知調度的方法。方法包含:確定媒體頁面的大小;確定媒體頁面是打開還是關閉的;如果確定媒體頁面是打開的,那麼由記憶體控制器進行推測性讀取操作;以及如果確定媒體頁面是關閉的,那麼由記憶體控制器進行常規讀取操作。
根據實施例,提供一種已在其上記錄用於執行頁面大小感知調度方法的電腦程式的非暫時性電腦可讀記錄媒體。方法包含:確定媒體頁面的大小;確定媒體頁面是打開還是關閉的;如果確定媒體頁面是打開的,那麼由記憶體控制器進行推測性讀取操作;以及如果確定媒體頁面是關閉的,那麼由記憶體控制器進行常規讀取操作。
下文中,參考附圖來詳細地描述本揭露的實施例。應注意,相同元件由相同附圖標號指定,儘管所述相同元件繪示於不同附圖中。在以下描述中,例如詳細設置和元件的具體細節僅提供來幫助總體理解本揭露的實施例。因此,對本領域的普通技術人員顯而易見的是,可在不脫離本揭露的範圍的情況下對本文中所描述的實施例作出各種改變和修改。另外,出於清楚和簡潔起見,省略對熟知功能和構造的描述。下文所描述的術語是考慮到本揭露中的功能而定義的術語,且可根據使用者、使用者的意圖或習慣而不同。因此,術語的定義應基於整個說明書中的內容來確定。
本揭露可具有各種修改和各種實施例,在所述揭露中,參考附圖在下文詳細描述實施例。然而,應理解,本揭露不限於所述實施例,但包含本揭露的範圍內的所有修改、等效物以及替代物。
儘管包含例如第一和第二等等的序數的術語可用於描述各種元件,但結構元件不受術語限制。術語僅用於將一個元件與另一元件區分開來。舉例來說,在不脫離本揭露的範圍的情況下,第一結構元件可稱為第二結構元件。類似地,第二結構元件也可稱作第一結構元件。如本文中所使用,術語“和/或”包含一個或多個相關聯專案的任何和所有組合。
本文中所使用的術語僅用於描述本揭露的各種實施例但並不意欲限制本揭露。除非上下文另外明確指示,否則單數形式意欲包含複數形式。在本揭露中,應理解,術語“包含(include)”或“具有(have)”指示特徵、數目、步驟、操作、結構元件、部件或其組合的存在,且不排除一個或多個其它特徵、數目、步驟、操作、結構元件、部件或其組合的存在或附加所述一個或多個其它特徵、數目、步驟、操作、結構元件、部件或其組合的機率。
除非以不同方式定義,否則本文中所使用的所有術語具有與本揭露所屬的本領域的普通技術人員理解的那些術語相同的含義。例如一般所使用的詞典中所定義的那些術語的術語將解釋為具有與相關技術領域中的上下文含義相同的含義,且除非在本揭露中清楚地定義,否則將不解釋為具有理想或過度正式的含義。
本揭露涉及一種機制,記憶體控制器可通過所述機制確定記憶體(例如NVDIMM-P記憶體)的底層媒體頁面大小,且所述機制使用媒體頁面大小來改進記憶體的調度。
記憶體通道上方的NVM(例如NVDIMM)的頁面大小同步機制包含通過下文所描述的三個方法中的一個來識別NVM(例如NVDIMM)的後端媒體的頁面大小的記憶體控制器。
第一方法包含在系統啟動期間經由記憶體的串列存在檢測(serial presence detect;SPD)讀出來識別媒體頁面大小。第二方法包含經由模式暫存器讀取命令來識別媒體頁面大小,且第三方法包含通過消息封包交換來識別媒體頁面大小。
記憶體控制器可利用在記憶體調度期間得知媒體頁面的大小來進行頁面大小感知記憶體調度且更好地利用匯流排來改進系統性能。
圖1是示出根據一個實施例的儲存在DIMM中的媒體頁面大小的框圖。
參考圖1,主機100包含記憶體控制器101、第一DIMM(例如DIMM 0)105以及第二DIMM(例如DIMM 1)103。媒體頁面大小作為SPD資料儲存在第一DIMM 105和第二DIMM 103中。記憶體控制器101連接到第一DIMM 105和第二DIMM 103。
本揭露的第一方法是記憶體控制器101在系統啟動期間經由SPD讀出來讀取媒體頁面大小,其中SPD資料包含媒體頁面大小。記憶體控制器可在啟動時間經由系統管理匯流排(system management bus;SMBus)從NVDIMM電子可擦除可程式化記憶體(electrically-erasable programmable memory;EEPROM)讀取媒體頁面大小。舉例來說,記憶體控制器101可在系統啟動期間通過分別讀取儲存在第一DIMM 105和第二DIMM 103中的SPD資料來讀取第一DIMM 105和第二DIMM 103的媒體頁面大小。
圖2是根據一個實施例的儲存在模式暫存器中的媒體頁面大小的圖示。
參考圖2,模式暫存器可以是根據DDR4靜態動態隨機存取記憶體(static dynamic random access memory;SDRAM)的JEDEC標準JESD79-4的模式暫存器。
本揭露的第二方法是將媒體頁面大小儲存在模式暫存器(例如模式暫存器1(mode register 1;MR1))中。可將媒體頁面大小儲存在模式暫存器中,在保留以供將來使用(reserved for future use;RFU)的位址(例如,位址BG1、位址A17、位址A13、位址A5以及位址A6)中的任一個處。可使用編碼來考慮模式暫存器中可用的有限位元數。記憶體控制器可接著使用模式暫存器設置(mode register set;MRS)命令來讀取儲存在模式暫存器中的媒體頁面大小以確定媒體頁面大小。
圖3是根據一個實施例的儲存在消息資料中的媒體頁面大小的圖示。
參考圖3,示出記憶體控制器的常規讀取(READ)操作(例如,如XREAD操作的常規讀取操作等),所述常規讀取操作包含:記憶體控制器將請求消息資料訊號301(例如常規讀取訊號)傳輸到記憶體;記憶體控制器從記憶體接收消息資料就緒DIMM訊號303(例如就緒(READY)訊號);記憶體控制器將讀取消息資料訊號305(例如發送(SEND)訊號)傳輸到記憶體;以及記憶體控制器從記憶體接收消息資料(MESSAGE DATA)307,其中MESSAGE DATA 307包含記憶體的頁面大小。
本揭露的第三方法是在消息封包(例如,NVDIMM-P消息封包)中包含媒體頁面大小欄位。接著記憶體控制器從消息封包讀取媒體大小。
圖4和圖5是根據一個實施例的頁面大小感知調度的圖示。
參考圖4和圖5,本揭露提供一種頁面大小感知調度操作。記憶體控制器首先使用上文所描述的三個方法中的一個來確定媒體的頁面大小。接著記憶體控制器跟蹤媒體頁面(而不只是DRAM頁面)是打開還是關閉的。得知媒體頁面是打開還是關閉後,記憶體控制器可接著更好地利用通道頻寬。
舉例來說,記憶體控制器可使用媒體頁面大小來基於交易數目和/或自上次交易所經過的時間來跟蹤媒體頁面的打開狀態和關閉狀態。
舉例來說,在實施例中,可確定媒體頁面在從媒體頁面的上次活動的時間範圍內是打開的,且當媒體頁面空閒一段時間時可確定媒體頁面是關閉的。
圖4和圖5示出在對媒體頁面進行讀取操作(例如401、407、409、411、415、501、507和509)和寫入操作(例如405、413和505)時確定媒體頁面是打開的(例如403和503),且在一段時間內未對媒體頁面進行讀取操作或寫入操作(例如閒置時間417和511)之後確定媒體頁面是關閉的(例如419和513)。
NVDIMM-P中存在兩個可能的讀取選項:常規讀取操作和推測性讀取操作(例如SREAD操作)。
常規讀取操作要求交握通訊、使用非確定性時序、具有低匯流排利用率以及具有高讀取延遲。
推測性讀取操作將確定性時序用於第一回應,在資料無效(例如發生未命中)時等待讀取就緒響應,具有高匯流排利用率且具有高讀取延遲或低讀取延遲。
記憶體控制器可以或可以不完全跟蹤頁面打開/關閉狀態。如果記憶體控制器感知NVDIMM內部的頁面管理,那麼記憶體控制器可完全跟蹤打開/關閉狀態。然而,內部DIMM組織/機制上的資訊可能是不可獲得的。如果記憶體控制器未得知NVDIMM內部的頁面管理,那麼記憶體控制器可通過使用例如存取模式、存取時序資訊等的資訊來預測頁面打開/關閉狀態。也就是說,記憶體控制器可通過跟蹤媒體頁面是打開還是關閉的來進行頁面大小感知調度,且使用媒體頁面的打開狀態或關閉狀態來調度以實現更好的匯流排利用率和更好的系統性能。舉例來說,記憶體控制器可傳輸打開的媒體頁面中的資料的推測性讀取訊號,且傳輸關閉的媒體頁面中的資料的常規讀取訊號。推測性讀取操作和常規讀取操作是NVDIMM-P標準的部分,但所述推測性讀取操作和常規讀取操作的使用不與記憶體頁面大小和打開/關閉狀態一致。在實施例中,確定媒體頁面在從媒體頁面的上次活動的時間範圍內是打開的。在實施例中,當媒體頁面空閒一段時間時確定頁面媒體是關閉的。頁面打開/關閉狀態被誤跟蹤(mistracked)了,但這不會影響主機上資料的正確性。這只是性能損失。然而,總體性能還是比一次只使用一個讀取操作更好。
圖6是根據一個實施例的常規讀取操作的圖示。
參考圖6,由記憶體控制器將第一常規讀取訊號601傳輸到記憶體。由記憶體控制器從記憶體接收與第一常規讀取訊號601相關聯的第一READY訊號603。接著記憶體控制器將與第一READY訊號603相關聯的第一SEND訊號605傳輸到記憶體,且記憶體控制器從記憶體接收與第一SEND訊號605相關聯的第一資料(DATA)607。
由記憶體控制器將第二常規讀取訊號609傳輸到記憶體。由記憶體控制器從記憶體接收與第二常規讀取訊號609相關聯的第二READY訊號611。接著記憶體控制器將與第二READY訊號611相關聯的第二SEND訊號613傳輸到記憶體,且記憶體控制器從記憶體接收與第二SEND訊號613相關聯的第二DATA 615。
由記憶體控制器將第三常規讀取訊號617傳輸到記憶體。由記憶體控制器從記憶體接收與第三常規讀取訊號617相關聯的第三READY訊號619。接著記憶體控制器將與第三READY訊號619相關聯的第三SEND訊號621傳輸到記憶體,且記憶體控制器從記憶體接收與第三SEND訊號621相關聯的第三DATA 623。
圖7是根據一個實施例的常規讀取操作和推測性讀取操作的圖示。
參考圖7,由記憶體控制器將常規讀取訊號701傳輸到記憶體。由記憶體控制器從記憶體接收與常規讀取訊號701相關聯的READY訊號703。接著記憶體控制器將與READY訊號703相關聯的SEND訊號705傳輸到記憶體,且記憶體控制器從記憶體接收與SEND訊號705相關聯的第一DATA 707。
由記憶體控制器將第一推測性讀取訊號709傳輸到記憶體。由於確定媒體頁面是打開的,所以記憶體控制器從記憶體接收第二DATA 711而不必從記憶體接收READY訊號或不必在從記憶體接收READY訊號之後將SEND訊號發送到記憶體。因此,提高了匯流排利用率和系統性能。
由記憶體控制器將第二推測性讀取訊號713傳輸到記憶體。由於確定媒體頁面是打開的,所以記憶體控制器從記憶體接收第三DATA 715而不必從記憶體接收READY訊號或不必在從記憶體接收READY訊號之後將SEND訊號發送到記憶體。因此,提高了匯流排利用率和系統性能。
圖8是根據一個實施例的頁面大小感知調度的方法的流程圖。
參考圖8,在步驟801處,將媒體頁面的大小作為SPD資料儲存在記憶體中。
在步驟803處,在系統啟動期間由記憶體控制器從儲存在記憶體中的SPD資料讀取媒體頁面大小。
在步驟805處,確定媒體頁面是打開還是關閉的。
在步驟807處,如果確定媒體頁面是打開的,那麼進行推測性讀取操作。
在步驟809處,如果確定媒體頁面是關閉的,那麼進行常規讀取操作。
在實施例中,圖8的方法可在非暫時性電腦可讀媒體中實施。
圖9是根據一個實施例的頁面大小感知調度的方法的流程圖。
參考圖9,在步驟901處,將媒體頁面的大小儲存在記憶體暫存器中。
在步驟903處,由記憶體控制器使用模式暫存器設置命令從記憶體暫存器讀取媒體頁面大小。
在步驟905處,確定媒體頁面是打開還是關閉的。
在步驟907處,如果確定媒體頁面是打開的,那麼進行推測性讀取操作。
在步驟909處,如果確定媒體頁面是關閉的,那麼進行常規讀取操作。
在實施例中,圖9的方法可在非暫時性電腦可讀媒體中實施。
圖10是根據一個實施例的頁面大小感知調度的方法的流程圖。
參考圖10,在步驟1001處,將媒體頁面的大小包含在消息封包中。
在步驟1003處,由記憶體控制器從消息封包讀取媒體頁面大小。
在步驟1005處,確定媒體頁面是打開還是關閉的。
在步驟1007處,如果確定媒體頁面是打開的,那麼進行推測性讀取操作。
在步驟1009處,如果確定媒體頁面是關閉的,那麼進行常規讀取操作。
在實施例中,圖10的方法可在非暫時性電腦可讀媒體中實施。
儘管本揭露的某些實施例已描述於本揭露的具體實施方式中,但本揭露可以各種形式修改而不脫離本揭露的範圍。因此,本揭露的範圍不應僅基於所描述實施例確定,而應基於所附權利要求書和其等效物確定。
100‧‧‧主機
101‧‧‧記憶體控制器
103‧‧‧第二雙列直插式記憶體模組
105‧‧‧第一雙列直插式記憶體模組
301‧‧‧請求消息資料訊號
303‧‧‧消息資料就緒雙列直插式記憶體模組訊號
305‧‧‧消息資料訊號
307‧‧‧消息資料
401、407、409、411、415、501、507、509‧‧‧讀取操作
403、503‧‧‧頁面打開
405、413、505‧‧‧寫入操作
417、511‧‧‧閒置時間
419、513‧‧‧頁面關閉
601‧‧‧第一常規讀取訊號
603‧‧‧第一就緒訊號
605‧‧‧第一發送訊號
607、707‧‧‧第一資料
609‧‧‧第二常規讀取訊號
611‧‧‧第二就緒訊號
613‧‧‧第二發送訊號
615、711‧‧‧第二資料
617‧‧‧第三常規讀取訊號
619‧‧‧第三就緒訊號
621‧‧‧第三發送訊號
623、715‧‧‧第三資料
701‧‧‧常規讀取訊號
703‧‧‧就緒訊號
705‧‧‧發送訊號
709‧‧‧第一推測性讀取訊號
713‧‧‧第二推測性讀取訊號
801、803、805、807、809、901、903、905、907、909、1001、1003、1005、1007、1009‧‧‧步驟
通過以下結合附圖進行的詳細描述,本揭露的某些實施例的上述和其它方面、特性以及優點將更加顯而易見,其中:
圖1是示出根據一個實施例的儲存在DIMM中的頁面大小的框圖。
圖2是根據一個實施例的儲存在模式暫存器中的媒體頁面大小的圖示。
圖3是根據一個實施例的儲存在消息資料中的媒體頁面大小的圖示。
圖4和圖5是根據一個實施例的頁面大小感知調度的圖示。
圖6是根據一個實施例的常規讀取操作的圖示。
圖7是根據一個實施例的常規讀取操作和推測性讀取操作的圖示。
圖8是根據一個實施例的頁面大小感知調度的方法的流程圖。
圖9是根據一個實施例的頁面大小感知調度的方法的流程圖。
圖10是根據一個實施例的頁面大小感知調度的方法的流程圖。
100‧‧‧主機
101‧‧‧記憶體控制器
103‧‧‧第二雙列直插式記憶體模組
105‧‧‧第一雙列直插式記憶體模組
Claims (14)
- 一種在記憶體裝置中頁面大小感知調度的方法,包括:確定媒體頁面的大小,其中所述媒體頁面的所述大小是小於所述記憶體裝置的大小;將媒體頁面大小儲存在模式暫存器中的所述模式暫存器中保留以供將來使用的位址;從所述媒體頁面的上次活動的預定時間範圍內,由記憶體控制器對所述媒體頁面進行推測性讀取操作;以及當所述媒體頁面空閒預定閾值時間段時,由所述記憶體控制器對所述媒體頁面進行非推測性讀取操作,其中所述媒體頁面的所述上次活動及所述媒體頁面的空閒時間從所述媒體頁面大小來確定。
- 如申請專利範圍第1項所述的方法,其中確定所述媒體頁面大小由以下構成:將所述媒體頁面大小以串列存在檢測資料儲存在所述記憶體裝置中;以及在系統啟動的預定時間間隔內,由所述記憶體控制器從儲存在所述記憶體裝置中的所述串列存在檢測資料讀取所述媒體頁面大小。
- 如申請專利範圍第2項所述的方法,其中讀取所述媒體頁面由以下構成:經由系統管理匯流排由所述記憶體控制器讀取所述媒體頁面。
- 如申請專利範圍第1項所述的方法,其中確定所述媒體頁面大小由以下構成:由所述記憶體控制器從所述模式暫存器讀取所述媒體頁面大小。
- 如申請專利範圍第4項所述的方法,其中從所述模式暫存器讀取所述媒體頁面大小由以下構成:使用模式暫存器設置命令從所述模式暫存器讀取所述媒體頁面大小。
- 如申請專利範圍第1項所述的方法,其中確定所述媒體頁面大小由以下構成:由所述記憶體裝置將所述媒體頁面大小包含在消息封包中;以及由所述記憶體控制器從所述消息封包讀取所述媒體頁面大小。
- 如申請專利範圍第1項所述的方法,其中記憶體是非揮發性記憶體,其中所述非揮發性記憶體是以下中的一個:非揮發性雙列直插式記憶體模組、電子器件工程聯合委員會固態技術協會的非揮發性雙列直插式記憶體模組-P標準的非揮發性雙列直插式記憶體模組、混合儲存立方體、惠普記憶體、GanZ聯盟記憶體以及非揮發性雙列直插式記憶體模組電子可擦除可程式化唯讀記憶體。
- 一種已在其上記錄用於執行在記憶體裝置中頁面大小感知調度的方法的電腦程式的非暫時性電腦可讀記錄媒體,所述方法包括:確定媒體頁面的大小,其中所述媒體頁面的所述大小是小於所述記憶體裝置的大小;將媒體頁面大小儲存在模式暫存器中的所述模式暫存器中保留以供將來使用的位址;從所述媒體頁面的上次活動的預定時間範圍內,由記憶體控制器對所述媒體頁面進行推測性讀取操作;以及當所述媒體頁面空閒預定閾值時間段時,由所述記憶體控制器對所述媒體頁面進行非推測性讀取操作,其中所述媒體頁面的所述上次活動及所述媒體頁面的空閒時間從所述媒體頁面大小來確定。
- 如申請專利範圍第8項所述的非暫時性電腦可讀記錄媒體,其中確定所述媒體頁面大小由以下構成:將所述媒體頁面大小以串列存在檢測資料儲存在所述記憶體裝置中;以及在系統啟動的預定時間間隔內,由所述記憶體控制器從儲存在所述記憶體裝置中的所述串列存在檢測資料讀取所述媒體頁面大小。
- 如申請專利範圍第9項所述的非暫時性電腦可讀記錄媒體,其中讀取所述媒體頁面由以下構成:經由系統管理匯流排由所述記憶體控制器讀取所述媒體頁面。
- 如申請專利範圍第8項所述的非暫時性電腦可讀記錄媒體,其中確定所述媒體頁面大小由以下構成:由所述記憶體控制器從所述模式暫存器讀取所述媒體頁面大小。
- 如申請專利範圍第11項所述的非暫時性電腦可讀記錄媒體,其中從所述模式暫存器讀取所述媒體頁面大小由以下構成:使用模式暫存器設置命令從所述模式暫存器讀取所述媒體頁面大小。
- 如申請專利範圍第8項所述的非暫時性電腦可讀記錄媒體,其中確定所述媒體頁面大小由以下構成:由所述記憶體裝置將所述媒體頁面大小包含在消息封包中;以及由所述記憶體控制器從所述消息封包讀取所述媒體頁面大小。
- 如申請專利範圍第8項所述的非暫時性電腦可讀記錄媒體,其中記憶體是非揮發性記憶體,其中所述非揮發性記憶體是以下中的一個:非揮發性雙列直插式記憶體模組、電子器件工程聯合委員會固態技術協會的非揮發性雙列直插式記憶體模組-P標準的非揮發性雙列直插式記憶體模組、混合儲存立方體、惠普 記憶體、GenZ聯盟記憶體以及非揮發性雙列直插式記憶體模組電子可擦除可程式化唯讀記憶體。
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 (2)
| Publication Number | Publication Date |
|---|---|
| TW201933118A TW201933118A (zh) | 2019-08-16 |
| TWI761655B true TWI761655B (zh) | 2022-04-21 |
Family
ID=67392159
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW108102083A TWI761655B (zh) | 2018-01-29 | 2019-01-18 | 頁面大小感知調度方法和非暫時性電腦可讀記錄媒體 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US11029879B2 (zh) |
| JP (1) | JP7420472B2 (zh) |
| KR (1) | KR102390156B1 (zh) |
| CN (1) | CN110097898B (zh) |
| TW (1) | TWI761655B (zh) |
Families Citing this family (2)
| 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 |
| US12008248B2 (en) * | 2021-07-13 | 2024-06-11 | Samsung Electronics Co., Ltd. | Systems, methods, and devices for utilization aware memory allocation |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20040064649A1 (en) * | 2002-09-30 | 2004-04-01 | Volpe Thomas A. | Prefetch buffer method and apparatus |
| US20110252184A1 (en) * | 2010-04-09 | 2011-10-13 | Samsung Electronics Co., Ltd. | Method of storing data in storage media, data storage device using the same, and system including the same |
| US20140068154A1 (en) * | 2012-09-06 | 2014-03-06 | Kabushiki Kaisha Toshiba | Semiconductor memory device |
| TW201729105A (zh) * | 2015-10-16 | 2017-08-16 | 希耐克斯實驗室公司 | 混合模式存取固態硬碟驅動器之方法及裝置 |
| US9767903B2 (en) * | 2015-09-11 | 2017-09-19 | Samsung Electronics Co., Ltd. | Nonvolatile memory module having dual-port DRAM |
| TW201741889A (zh) * | 2016-05-24 | 2017-12-01 | 三星電子股份有限公司 | 租戶感知儲存共享平台之方法與裝置 |
| TW201743216A (zh) * | 2016-06-03 | 2017-12-16 | 三星電子股份有限公司 | 提供可擴展與可收縮記憶體超容量快取的模組、系統與方法 |
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 |
| US7020762B2 (en) * | 2002-12-24 | 2006-03-28 | Intel Corporation | Method and apparatus for determining a dynamic random access memory page management implementation |
| US7184327B2 (en) | 2005-04-14 | 2007-02-27 | Micron Technology, Inc. | System and method for enhanced mode register definitions |
| US7562271B2 (en) | 2005-09-26 | 2009-07-14 | Rambus Inc. | Memory system topologies including a buffer device and an integrated circuit memory device |
| JP2007323113A (ja) | 2006-05-30 | 2007-12-13 | Oki Electric Ind Co Ltd | メモリ制御回路 |
| 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 |
| US7761656B2 (en) | 2007-08-22 | 2010-07-20 | Advanced Micro Devices, Inc. | Detection of speculative precharge |
| JP5603778B2 (ja) | 2007-12-21 | 2014-10-08 | ラムバス・インコーポレーテッド | フラッシュメモリタイミングの事前特徴付け |
| 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 |
| 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 |
| JP2015056171A (ja) | 2013-09-13 | 2015-03-23 | 株式会社東芝 | メモリシステムおよび情報処理装置 |
| US9763903B2 (en) * | 2013-10-22 | 2017-09-19 | Steven Hoffman | Compositions and methods for treating intestinal hyperpermeability |
| US9582204B2 (en) | 2014-01-07 | 2017-02-28 | Apple Inc. | Speculative prefetching of data stored in flash memory |
| 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 | 삼성전자주식회사 | 백업 기능을 갖는 메모리 모듈 |
| US10031674B2 (en) | 2015-10-07 | 2018-07-24 | Samsung Electronics Co., Ltd. | DIMM SSD addressing performance techniques |
| US10810144B2 (en) | 2016-06-08 | 2020-10-20 | Samsung Electronics Co., Ltd. | System and method for operating a DRR-compatible asynchronous memory module |
| 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 Active
-
2019
- 2019-01-18 CN CN201910049654.6A patent/CN110097898B/zh active Active
- 2019-01-18 TW TW108102083A patent/TWI761655B/zh active
- 2019-01-24 JP JP2019010095A patent/JP7420472B2/ja active Active
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20040064649A1 (en) * | 2002-09-30 | 2004-04-01 | Volpe Thomas A. | Prefetch buffer method and apparatus |
| US20110252184A1 (en) * | 2010-04-09 | 2011-10-13 | Samsung Electronics Co., Ltd. | Method of storing data in storage media, data storage device using the same, and system including the same |
| US20140068154A1 (en) * | 2012-09-06 | 2014-03-06 | Kabushiki Kaisha Toshiba | Semiconductor memory device |
| US9767903B2 (en) * | 2015-09-11 | 2017-09-19 | Samsung Electronics Co., Ltd. | Nonvolatile memory module having dual-port DRAM |
| TW201729105A (zh) * | 2015-10-16 | 2017-08-16 | 希耐克斯實驗室公司 | 混合模式存取固態硬碟驅動器之方法及裝置 |
| TW201741889A (zh) * | 2016-05-24 | 2017-12-01 | 三星電子股份有限公司 | 租戶感知儲存共享平台之方法與裝置 |
| TW201743216A (zh) * | 2016-06-03 | 2017-12-16 | 三星電子股份有限公司 | 提供可擴展與可收縮記憶體超容量快取的模組、系統與方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN110097898B (zh) | 2022-10-18 |
| CN110097898A (zh) | 2019-08-06 |
| JP7420472B2 (ja) | 2024-01-23 |
| KR102390156B1 (ko) | 2022-04-25 |
| JP2019133657A (ja) | 2019-08-08 |
| US20190235788A1 (en) | 2019-08-01 |
| KR20190092239A (ko) | 2019-08-07 |
| TW201933118A (zh) | 2019-08-16 |
| US11029879B2 (en) | 2021-06-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10678441B2 (en) | Non-deterministic memory protocol | |
| JP6986369B2 (ja) | メモリモジュール、これを含むシステム及びその動作方法 | |
| US8862973B2 (en) | Method and system for error management in a memory device | |
| US12153529B2 (en) | Memory system and computing system including the same | |
| JP7749662B2 (ja) | Dramのリフレッシュ管理リスト | |
| US9158616B2 (en) | Method and system for error management in a memory device | |
| CN108139994B (zh) | 内存访问方法及内存控制器 | |
| US20190310784A1 (en) | Memory module and memory system including memory module | |
| CN114902198B (zh) | 用于异构存储器系统的信令 | |
| JP2016520233A (ja) | メモリシステム、メモリアクセス要求を処理するための方法、およびコンピュータシステム | |
| CN106462520A (zh) | 用于与非易失性双列直插式存储器模块的控制器通信的技术 | |
| CN101123113A (zh) | 同步动态随机访问存储器的访问方法及控制装置 | |
| CN108139879B (zh) | 一种数据访问的方法及内存控制器 | |
| US20110225465A1 (en) | Managing Memory Refreshes | |
| CN114265794A (zh) | 具有数据缓存功能的混合存储器模块、数据缓存器和方法 | |
| US20160299719A1 (en) | Memory device and method for data exchanging thereof | |
| TWI761655B (zh) | 頁面大小感知調度方法和非暫時性電腦可讀記錄媒體 | |
| US9442658B2 (en) | Apparatuses and methods including selectively providing a single or separate chip select signals | |
| KR20230004912A (ko) | 효율적인 메모리 버스 관리 | |
| WO2022216344A1 (en) | Enhanced d3-c0ld and faster recovery | |
| US7336551B2 (en) | Semiconductor memory devices and systems, and methods of using having reduced timers and registers | |
| US20230297277A1 (en) | Combining Operations During Reset | |
| US10318208B2 (en) | Memory apparatus for executing multiple memory operations by one command and operating method thereof | |
| CN119597203A (zh) | 内存芯片访问控制方法、装置、存储介质和电子设备 |