CN110097898B - 页面大小感知调度方法和非暂时性计算机可读记录介质 - Google Patents
页面大小感知调度方法和非暂时性计算机可读记录介质 Download PDFInfo
- Publication number
- CN110097898B CN110097898B CN201910049654.6A CN201910049654A CN110097898B CN 110097898 B CN110097898 B CN 110097898B CN 201910049654 A CN201910049654 A CN 201910049654A CN 110097898 B CN110097898 B CN 110097898B
- Authority
- CN
- China
- Prior art keywords
- media page
- memory
- page size
- size
- media
- 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
Images
Classifications
-
- 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
- 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
- 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
Abstract
本公开提供一种页面大小感知调度的方法和一种已在其上记录用于执行页面大小感知调度方法的计算机程序的非暂时性计算机可读存储介质。方法包含:确定媒体页面的大小;确定媒体页面是打开还是关闭的;如果确定媒体页面是打开的,那么由存储器控制器进行推测性读取操作;以及如果确定媒体页面是关闭的,那么由存储器控制器进行常规读取操作。
Description
优先权
本申请要求2018年1月29日在美国专利商标局申请的且指定为第62/623,295号的美国临时专利申请的优先权,所述申请的全部内容以引用的方式并入本文中。
技术领域
本公开大体上涉及一种方法和一种装置,所述方法和所述装置用于确定媒体页面大小和存储器调度,且更特定地说,涉及一种用于确定非易失性双列直插式存储器模块(non-volatile dual in-line memory module;NVDIMM)的媒体页面大小和NVDIMM调度的方法和装置。
背景技术
下一代存储器接口的趋势包含作为主存储器的非易失性存储器(non-volatilememory;NVM)的基于交易的接口、可变读取/写入时序以及来自双列直插式存储器模块(dual in-line memory module;DIMM)的反馈信息。举例来说,可能需要NVDIMM-P、混合存储立方体(hybrid memory cube;HMC)、惠普(Hewlett-Packard;HP)存储器以及GenZ联盟(GenZ Consortium)存储器,NVDIMM-P是电子器件工程联合委员会(Joint ElectronDevice Engineering Council;JEDEC)固态技术协会的标准。
在未来存储器系统中,NVM(例如NVDIMM)和动态随机存取存储器(dynamic randomaccess memory;DRAM)(例如DIMM)可作为分层存储器在同一基于交易的存储器信道上共存(例如,在同一组(rank)或同一信道内、在不同信道中等等)。
然而,双倍数据速率(double data rate;DDR)随机存取存储器(random accessmemory;RAM)(例如第四代DDR(DDR4))具有基于行和地址限制的固定页面大小。NVDIMM-P不具有这种限制,但却依赖于整个底层媒体页面的大小。举例来说,DDR可具有固定数目的列地址,例如x4器件的512字节页面大小、x8器件的1千字节页面大小以及x16器件的2千字节页面大小。
在NVDIMM-P中,不存在行地址和列地址的概念。因此,主机无法利用数据的空间局部性。
新的协议支持不同类型的媒体(例如后端媒体)。然而,主机和存储器控制器无法得知媒体的实际页面大小。因此,主机和存储器控制器可能不能受益于得知媒体页面大小来进行页面感知调度、最佳总线利用等。
因此,需要机制以允许NVDIMM与主机存储器控制器共享媒体页面的大小。
发明内容
根据一个实施例,提供一种页面大小感知调度的方法。方法包含:确定媒体页面的大小;确定媒体页面是打开还是关闭的;如果确定媒体页面是打开的,那么由存储器控制器进行推测性读取操作;以及如果确定媒体页面是关闭的,那么由存储器控制器进行常规读取操作。
根据实施例,提供一种已在其上记录用于执行页面大小感知调度方法的计算机程序的非暂时性计算机可读记录介质。方法包含:确定媒体页面的大小;确定媒体页面是打开还是关闭的;如果确定媒体页面是打开的,那么由存储器控制器进行推测性读取操作;以及如果确定媒体页面是关闭的,那么由存储器控制器进行常规读取操作。
附图说明
通过以下结合附图进行的详细描述,本公开的某些实施例的上述和其它方面、特性以及优点将更加显而易见,其中:
图1是示出根据一个实施例的存储在DIMM中的页面大小的框图。
图2是根据一个实施例的存储在模式寄存器中的媒体页面大小的图示。
图3是根据一个实施例的存储在消息数据中的媒体页面大小的图示。
图4和图5是根据一个实施例的页面大小感知调度的图示。
图6是根据一个实施例的常规读取操作的图示。
图7是根据一个实施例的常规读取操作和推测性读取操作的图示。
图8是根据一个实施例的页面大小感知调度的方法的流程图。
图9是根据一个实施例的页面大小感知调度的方法的流程图。
图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:步骤。
具体实施方式
下文中,参考附图来详细地描述本公开的实施例。应注意,相同元件由相同附图标号指定,尽管所述相同元件示出于不同附图中。在以下描述中,例如详细设置和组件的具体细节仅提供来帮助总体理解本公开的实施例。因此,对本领域的普通技术人员显而易见的是,可在不脱离本公开的范围的情况下对本文中所描述的实施例作出各种改变和修改。另外,出于清楚和简洁起见,省略对熟知功能和构造的描述。下文所描述的术语是考虑到本公开中的功能而定义的术语,且可根据用户、用户的意图或习惯而不同。因此,术语的定义应基于整个说明书中的内容来确定。
本公开可具有各种修改和各种实施例,在所述公开中,参考附图在下文详细描述实施例。然而,应理解,本公开不限于所述实施例,但包含本公开的范围内的所有修改、等效物以及替代物。
尽管包含例如第一和第二等等的序数的术语可用于描述各种元件,但结构元件不受术语限制。术语仅用于将一个元件与另一元件区分开来。举例来说,在不脱离本公开的范围的情况下,第一结构元件可称为第二结构元件。类似地,第二结构元件也可称作第一结构元件。如本文中所使用,术语“和/或”包含一个或多个相关联项目的任何和所有组合。
本文中所使用的术语仅用于描述本公开的各种实施例但并不意欲限制本公开。除非上下文另外明确指示,否则单数形式意欲包含复数形式。在本公开中,应理解,术语“包含(include)”或“具有(have)”指示特征、数目、步骤、操作、结构元件、部件或其组合的存在,且不排除一个或多个其它特征、数目、步骤、操作、结构元件、部件或其组合的存在或附加所述一个或多个其它特征、数目、步骤、操作、结构元件、部件或其组合的机率。
除非以不同方式定义,否则本文中所使用的所有术语具有与本公开所属的本领域的普通技术人员理解的那些术语相同的含义。例如一般所使用的词典中所定义的那些术语的术语将解释为具有与相关技术领域中的上下文含义相同的含义,且除非在本公开中清楚地定义,否则将不解释为具有理想或过度正式的含义。
本公开涉及一种机制,存储器控制器可通过所述机制确定存储器(例如NVDIMM-P存储器)的底层媒体页面大小,且所述机制使用媒体页面大小来改进存储器的调度。
存储器信道上方的NVM(例如NVDIMM)的页面大小同步机制包含通过下文所描述的三个方法中的一个来识别NVM(例如NVDIMM)的后端媒体的页面大小的存储器控制器。
第一方法包含在系统启动期间经由存储器的串行存在检测(serial presencedetect;SPD)读出来识别媒体页面大小。第二方法包含经由模式寄存器读取命令来识别媒体页面大小,且第三方法包含通过消息包交换来识别媒体页面大小。
存储器控制器可利用在存储器调度期间得知媒体页面的大小来进行页面大小感知存储器调度且更好地利用总线来改进系统性能。
图1是示出根据一个实施例的存储在DIMM中的媒体页面大小的框图。
参考图1,主机100包含存储器控制器101、第一DIMM(例如DIMM 0)105以及第二DIMM(例如DIMM 1)103。媒体页面大小作为SPD数据存储在第一DIMM 105和第二DIMM 103中。存储器控制器101连接到第一DIMM105和第二DIMM 103。
本公开的第一方法是存储器控制器101在系统启动期间经由SPD读出来读取媒体页面大小,其中SPD数据包含媒体页面大小。存储器控制器可在启动时间经由系统管理总线(system management bus;SMBus)从NVDIMM电可擦可编程存储器(electrically-erasableprogrammable memory;EEPROM)读取媒体页面大小。举例来说,存储器控制器101可在系统启动期间通过分别读取存储在第一DIMM 105和第二DIMM 103中的SPD数据来读取第一DIMM105和第二DIMM 103的媒体页面大小。
图2是根据一个实施例的存储在模式寄存器中的媒体页面大小的图示。
参考图2,模式寄存器可以是根据DDR4静态动态随机存取存储器(static dynamicrandom access memory;SDRAM)的JEDEC标准JESD79-4的模式寄存器。
本公开的第二方法是将媒体页面大小存储在模式寄存器(例如模式寄存器1(moderegister 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的方法可在非暂时性计算机可读介质中实施。
尽管本公开的某些实施例已描述于本公开的具体实施方式中,但本公开可以各种形式修改而不脱离本公开的范围。因此,本公开的范围不应仅基于所描述实施例确定,而应基于所附权利要求书和其等效物确定。
Claims (14)
1.一种页面大小感知调度的方法,包括:
确定媒体页面的媒体页面大小;
确定所述媒体页面是打开还是关闭的,其中确定所述媒体页面是打开的由以下构成:确定所述媒体页面在从所述媒体页面的上次活动的时间范围内是打开的,其中确定所述媒体页面是关闭的由以下构成:至少部分地基于所述媒体页面空闲一段阈值时间来确定;
如果确定所述媒体页面是打开的,那么由存储器控制器进行推测性读取操作;以及
如果确定所述媒体页面是关闭的,那么由所述存储器控制器进行常规读取操作以打开所述媒体页面,其中所述常规读取操作的数据输出晚于所述推测性读取操作的数据输出,
其中确定所述媒体页面的所述媒体页面大小包括:
将所述媒体页面大小的资讯配置在非易失性存储器的消息包中;以及
由所述存储器控制器与所述非易失性存储器进行消息包交换,以使所述存储器控制器从所述非易失性存储器的所述消息包中识别出所述媒体页面大小,
其中从所述非易失性存储器的所述消息包中识别出的所述媒体页面大小是用来确定所述媒体页面的上次活动时间与所述媒体页面的空闲时间。
2.根据权利要求1所述的方法,其中确定所述媒体页面的所述媒体页面大小还包括:
将所述媒体页面大小以串行存在检测数据存储在存储器中;以及
在系统启动期间由所述存储器控制器从存储在所述存储器中的所述串行存在检测数据读取所述媒体页面大小。
3.根据权利要求2所述的方法,其中读取所述媒体页面大小由以下构成:经由系统管理总线由所述存储器控制器读取所述媒体页面大小。
4.根据权利要求1所述的方法,其中确定所述媒体页面的所述媒体页面大小还包括:
将所述媒体页面大小存储在模式寄存器中;以及
由所述存储器控制器从所述模式寄存器读取所述媒体页面大小。
5.根据权利要求4所述的方法,其中从所述模式寄存器读取所述媒体页面大小由以下构成:使用模式寄存器设置命令从所述模式寄存器读取所述媒体页面大小。
6.根据权利要求4所述的方法,其中将所述媒体页面大小存储在所述模式寄存器中由以下构成:将所述媒体页面大小存储在所述模式寄存器中的保留以供将来使用的地址中。
7.根据权利要求1所述的方法,其中所述非易失性存储器是以下中的一个:非易失性双列直插式存储器模块、电子器件工程联合委员会固态技术协会的非易失性双列直插式存储器模块-P标准的非易失性双列直插式存储器模块、混合存储立方体、惠普存储器、GenZ联盟存储器以及非易失性双列直插式存储器模块电可擦可编程只读存储器。
8.一种已在其上记录用于执行页面大小感知调度的方法的计算机程序的非暂时性计算机可读记录介质,所述方法包括:
确定媒体页面的媒体页面大小;
确定所述媒体页面是打开还是关闭的,其中确定所述媒体页面是打开的由以下构成:确定所述媒体页面在从所述媒体页面的上次活动的时间范围内是打开的,其中确定所述媒体页面是关闭的由以下构成:至少部分地基于所述媒体页面空闲一段阈值时间来确定;
如果确定所述媒体页面是打开的,那么由存储器控制器进行推测性读取操作;以及
如果确定所述媒体页面是关闭的,那么由所述存储器控制器进行常规读取操作以打开所述媒体页面,其中所述常规读取操作的数据输出晚于所述推测性读取操作的数据输出,
其中确定所述媒体页面的所述媒体页面大小包括:
将所述媒体页面大小的资讯配置在非易失性存储器的消息包中;以及
由所述存储器控制器与所述非易失性存储器进行消息包交换,以使所述存储器控制器从所述非易失性存储器的所述消息包中识别出所述媒体页面大小,
其中从所述非易失性存储器的所述消息包中识别出的所述媒体页面大小是用来确定所述媒体页面的上次活动时间与所述媒体页面的空闲时间。
9.根据权利要求8所述的非暂时性计算机可读记录介质,其中确定所述媒体页面的所述媒体页面大小还包括:
将所述媒体页面大小以串行存在检测数据存储在存储器中;以及
在系统启动期间由所述存储器控制器从存储在所述存储器中的所述串行存在检测数据读取所述媒体页面大小。
10.根据权利要求9所述的非暂时性计算机可读记录介质,其中读取所述媒体页面大小由以下构成:经由系统管理总线由所述存储器控制器读取所述媒体页面大小。
11.根据权利要求8所述的非暂时性计算机可读记录介质,其中确定所述媒体页面的所述媒体页面大小还包括:
将所述媒体页面大小存储在模式寄存器中;以及
由所述存储器控制器从所述模式寄存器读取所述媒体页面大小。
12.根据权利要求11所述的非暂时性计算机可读记录介质,其中从所述模式寄存器读取所述媒体页面大小由以下构成:使用模式寄存器设置命令从所述模式寄存器读取所述媒体页面大小。
13.根据权利要求11所述的非暂时性计算机可读记录介质,其中将所述媒体页面大小存储在所述模式寄存器中由以下构成:将所述媒体页面大小存储在所述模式寄存器中的保留以供将来使用的地址中。
14.根据权利要求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 |
---|---|
CN110097898A CN110097898A (zh) | 2019-08-06 |
CN110097898B true CN110097898B (zh) | 2022-10-18 |
Family
ID=67392159
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910049654.6A Active CN110097898B (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 (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 |
---|---|---|---|---|
JP2006244696A (ja) * | 1996-08-08 | 2006-09-14 | Ricoh Co Ltd | 光学式記録ディスクドライブ装置に用いるデータ処理装置 |
CN102265343A (zh) * | 2008-12-22 | 2011-11-30 | 意法爱立信(法国)有限公司 | 用于在虚拟存储机构中存储和传送分页数据、特别是分页代码的方法和设备 |
CN103425589A (zh) * | 2012-05-17 | 2013-12-04 | 索尼公司 | 控制装置、存储装置以及存储控制方法 |
CN105474180A (zh) * | 2013-06-13 | 2016-04-06 | 微软技术许可有限责任公司 | 基于页面的压缩存储管理 |
CN105900069A (zh) * | 2014-01-07 | 2016-08-24 | 苹果公司 | 对被存储在闪存存储器中的数据的推测性预取 |
US9767903B2 (en) * | 2015-09-11 | 2017-09-19 | Samsung Electronics Co., Ltd. | Nonvolatile memory module having dual-port DRAM |
CN107422983A (zh) * | 2016-05-24 | 2017-12-01 | 三星电子株式会社 | 用于租户感知存储共享平台的方法和装置 |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
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 |
KR101184953B1 (ko) | 2007-12-21 | 2012-10-02 | 램버스 인코포레이티드 | 플래시 메모리 타이밍 사전-특성화 |
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 |
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 |
JP2014053058A (ja) * | 2012-09-06 | 2014-03-20 | Toshiba Corp | 半導体記憶装置 |
US8882229B2 (en) | 2013-02-28 | 2014-11-11 | Hewlett-Packard Development Company, L.P. | Media width-based calibration pattern placement |
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 |
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 |
WO2017066601A1 (en) * | 2015-10-16 | 2017-04-20 | Huang Yiren Ronnie | Method and apparatus for providing hybrid mode to access ssd drive |
US10101935B2 (en) * | 2016-06-03 | 2018-10-16 | Samsung Electronics Co., Ltd. | System and method for providing expandable and contractible memory overprovisioning |
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 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 |
---|---|---|---|---|
JP2006244696A (ja) * | 1996-08-08 | 2006-09-14 | Ricoh Co Ltd | 光学式記録ディスクドライブ装置に用いるデータ処理装置 |
CN102265343A (zh) * | 2008-12-22 | 2011-11-30 | 意法爱立信(法国)有限公司 | 用于在虚拟存储机构中存储和传送分页数据、特别是分页代码的方法和设备 |
CN103425589A (zh) * | 2012-05-17 | 2013-12-04 | 索尼公司 | 控制装置、存储装置以及存储控制方法 |
CN105474180A (zh) * | 2013-06-13 | 2016-04-06 | 微软技术许可有限责任公司 | 基于页面的压缩存储管理 |
CN105900069A (zh) * | 2014-01-07 | 2016-08-24 | 苹果公司 | 对被存储在闪存存储器中的数据的推测性预取 |
US9767903B2 (en) * | 2015-09-11 | 2017-09-19 | Samsung Electronics Co., Ltd. | Nonvolatile memory module having dual-port DRAM |
CN107422983A (zh) * | 2016-05-24 | 2017-12-01 | 三星电子株式会社 | 用于租户感知存储共享平台的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
KR102390156B1 (ko) | 2022-04-25 |
US20190235788A1 (en) | 2019-08-01 |
CN110097898A (zh) | 2019-08-06 |
JP2019133657A (ja) | 2019-08-08 |
TW201933118A (zh) | 2019-08-16 |
TWI761655B (zh) | 2022-04-21 |
KR20190092239A (ko) | 2019-08-07 |
JP7420472B2 (ja) | 2024-01-23 |
US11029879B2 (en) | 2021-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109074333A (zh) | 非确定性存储器协议 | |
CN113010446A (zh) | 具有内部操作管理机制的设备 | |
US10957413B2 (en) | Shared error check and correct logic for multiple data banks | |
KR20160122483A (ko) | 메모리 시스템, 메모리 모듈 및 메모리 모듈의 동작 방법 | |
JP2007527592A (ja) | Dramの部分的リフレッシュのための方法及び装置 | |
US11256568B2 (en) | Memory management systems and methods | |
US10073744B2 (en) | Power-down interrupt of nonvolatile dual in-line memory system | |
US20170147230A1 (en) | Memory device and memory system having heterogeneous memories | |
KR20230069234A (ko) | Dram을 위한 리프레시 관리 목록 | |
CN110097898B (zh) | 页面大小感知调度方法和非暂时性计算机可读记录介质 | |
CN108139993B (zh) | 内存装置、内存控制器、数据缓存装置及计算机系统 | |
CN108139879B (zh) | 一种数据访问的方法及内存控制器 | |
US20220374168A1 (en) | Memory with memory-initiated command insertion, and associated systems, devices, and methods | |
CN107369473B (zh) | 存储系统及其操作方法 | |
US20180005672A1 (en) | Memory apparatus and operating method thereof | |
EP2851802B1 (en) | Memory scheduling method and memory controller | |
US20140359181A1 (en) | Delaying Bus Activity To Accomodate Memory Device Processing Time | |
CN108027765B (zh) | 一种内存访问方法以及计算机系统 | |
WO2016126264A1 (en) | Refreshing an identified partial array | |
CN110968451A (zh) | 内存访问技术及计算机系统 | |
US11625343B2 (en) | Memory with a communications bus for device-to-controller communication, and associated systems, devices, and methods | |
EP4273707A1 (en) | Memory device including address table and operating method for memory controller | |
US20230297277A1 (en) | Combining Operations During Reset | |
WO2024054275A1 (en) | Optimization of non-aligned host writes | |
KR101285883B1 (ko) | 다수의 프로세서 신호를 하나의 메모리로 전송하기 위한신호 처리 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |