CN110097898B - 页面大小感知调度方法和非暂时性计算机可读记录介质 - Google Patents

页面大小感知调度方法和非暂时性计算机可读记录介质 Download PDF

Info

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
Application number
CN201910049654.6A
Other languages
English (en)
Other versions
CN110097898A (zh
Inventor
牛迪民
张牧天
林璇渶
郑宏忠
金寅东
李栽坤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN110097898A publication Critical patent/CN110097898A/zh
Application granted granted Critical
Publication of CN110097898B publication Critical patent/CN110097898B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1684Details of memory controller using multiple buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/034Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7208Multiple 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联盟存储器以及非易失性双列直插式存储器模块电可擦可编程只读存储器。
CN201910049654.6A 2018-01-29 2019-01-18 页面大小感知调度方法和非暂时性计算机可读记录介质 Active CN110097898B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (7)

* Cited by examiner, † Cited by third party
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