CN105612505A - Cpu调度的方法和装置 - Google Patents

Cpu调度的方法和装置 Download PDF

Info

Publication number
CN105612505A
CN105612505A CN201480036990.2A CN201480036990A CN105612505A CN 105612505 A CN105612505 A CN 105612505A CN 201480036990 A CN201480036990 A CN 201480036990A CN 105612505 A CN105612505 A CN 105612505A
Authority
CN
China
Prior art keywords
storage medium
latency type
time delay
determined
type
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.)
Granted
Application number
CN201480036990.2A
Other languages
English (en)
Other versions
CN105612505B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN105612505A publication Critical patent/CN105612505A/zh
Application granted granted Critical
Publication of CN105612505B publication Critical patent/CN105612505B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/10Program control for peripheral devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

提供一种调度CPU内核的方法和装置,该方法包括:获取当前访问操作的访问地址(210);根据访问地址确定访问操作访问的存储介质(220);确定存储介质的时延类型(230);在确定存储介质的时延类型为第一时延类型的情况下,中止运行访问操作的进程(240);在确定存储介质的时延类型为第二时延类型的情况下,继续执行访问操作的进程(250)。该方法是当确定存储介质的时延类型为时延较大的类型时,中止执行访问操作的进程,实现进程切换,当确定存储介质的为时延较小的类型时,继续等待执行访问进程,根据这种方式,可以在一定程度上减少访问操作的等待时间,提高进程处理效率,从而能够减小CPU资源的浪费,降低系统的开销。

Description

CPU调度的方法和装置 技术领域
本发明实施例涉及计算机领域,并且更具体地,涉及一种CPU调度的方法和装置。
背景技术
通过内存总线连接到中央处理器(Central Processing Unit,CPU)的存储设备可能包括不同类型的存储介质。而对于不同类型的存储介质,CPU的访问时延不同。当CPU通过统一的路径和指令访问不同类型的存储设备时,并不能区分要访问的存储介质的类型,所以,当CPU选择等待当前运行的进程时,访问时延长的存储介质会长时间占用内核资源,造成CPU资源的浪费;当CPU选择挂起当前运行的进程时,则对访问时延短的存储介质而言,系统的开销过大。
因此,当CPU通过统一的路径和指令访问包括不同类型的存储介质的存储设备时,由于不能区分要访问的存储介质的时延类型,从而造成CPU资源的浪费和系统开销较大的问题。
发明内容
本发明实施例提供一种CPU调度的方法和装置,能够减小CPU资源的浪费,降低系统的开销。
第一方面,提供一种CPU调度的方法,该方法应用于一体化存储设备中,其中一体化存储设备包含有多种不同类型的存储介质,该方法包括:获取当前访问操作的访问地址;根据访问地址确定访问操作访问的存储介质;确定存储介质的时延类型;在确定存储介质的时延类型为第一时延类型的情况下,中止运行访问操作的进程;在确定存储介质的时延类型为第二时延类型的情况下,继续执行访问操作的进程,其中,第一时延类型的存储介质的访问时延大于第二时延类型的存储介质的访问时延。
结合第一方面,在第一方面的第一种可能的实现方式中,所述确定所述存储介质的时延类型包括:获取存储介质的访问时延;若存储介质的访问时延大于预设值,确定存储介质的时延类型为第一时延类型;若存储介质的访问时延不大于预设值,确定存储介质的时延类型为第二时延类型。
结合第一方面,在第一方面的第二种可能的实现方式中,所述确定所述存储介质的时延类型包括:获取预设的存储介质与存储介质的时延类型之间的对应关系;根据对应关系,确定存储介质的时延类型。
结合第一方面或上述可能的实现方式中的任一种,在第一方面的第三种可能的实现方式中,在确定存储介质的时延类型之前,该方法还包括:确定访问操作的待访问数据是否存储在缓存中;确定访存地址对应的存储介质的时延类型包括:在确定待访问数据未存储在缓存中的情况下,确定存储介质的时延类型。
结合第一方面或上述可能的实现方式中的任一种,在第一方面的第四种可能的实现方式中,第一时延类型的存储介质包括硬盘驱动器HDD、固态硬盘SSD和非易失性闪存NAND Flash中的至少一种存储介质,第二时延类型的存储介质包括动态随机存储器DRAM和非易失固态存储器NVM中的至少一种存储介质。
第二方面,提供一种CPU调度的装置,该装置应用于一体化存储设备中,其中一体化存储设备包含有多种不同类型的存储介质,该装置包括:获取模块,用于获取当前访问操作的访问地址;第一确定模块,用于根据获取模块获取的访问地址确定访问操作访问的存储介质;第二确定模块,用于确定存储介质的时延类型;执行模块,用于在第二确定模块确定的存储介质的时延类型为第一时延类型时,中止运行访问操作的进程;在第二确定模块确定的存储介质的时延类型为第二时延类型时,继续执行访问操作的进程,其中,第一时延类型的存储介质的访问时延大于第二时延类型的存储介质的访问时延。
结合第二方面,在第二方面的第一种可能的实现中,第二确定模块具体用于:获取存储介质的访问时延;若存储介质的访问时延大于预设值,确定存储介质的时延类型为第一时延类型;若存储介质的访问时延不大于预设值,确定存储介质的时延类型为第二时延类型。
结合第二方面,在第二方面的第二种可能的实现方式中,第二确定模块包括:获取单元,用于获取预设的存储介质与存储介质的时延类型之间的对应关系;确定单元,用于根据获取单元获取的对应关系,确定存储介质的时延类型。
结合第二方面或上述可能的实现方式中的任一种,在第二方面的第三种 可能的实现方式中,该装置还包括:第三确定模块,用于确定访问操作的待访问数据是否存储在缓存中,其中,第二确定模块,具体用于在第三确定模块确定待访问数据未存储在缓存中的情况下,确定访存储介质的时延类型。
结合第二方面或上述可能的实现方式中的任一种,在第二方面的第四种可能的实现方式中,第一时延类型的存储介质包括硬盘驱动器HDD、固态硬盘SSD和非易失性闪存NAND Flash中的至少一种存储介质,第二时延类型的存储介质包括动态随机存储器DRAM和非易失固态存储器NVM中的至少一种存储介质。
第三方面,提供一种存储设备,该存储设备包括控制器以及多种不同类型的存储介质。其中,存储介质,用于存储数据;控制器用于:获取当前访问操作的访问地址;根据访问地址确定访问操作访问的存储介质;确定存储介质的时延类型;在确定存储介质的时延类型为第一时延类型的情况下,中止运行访问操作的进程;在确定存储介质的时延类型为第二时延类型的情况下,继续执行访问操作的进程,其中,第一时延类型的存储介质的访问时延大于第二时延类型的存储介质的访问时延。
结合第三方面,在第三方面的第一种可能的实现中,控制器具体用于:获取存储介质的访问时延;若存储介质的访问时延大于预设值,确定存储介质的时延类型为第一时延类型;若存储介质的访问时延不大于预设值,确定存储介质的时延类型为第二时延类型。
结合第三方面,在第三方面的第二种可能的实现方式中,控制器具体用于:获取预设的存储介质与存储介质的时延类型之间的对应关系;根据对应关系,确定存储介质的时延类型。
结合第三方面或上述可能的实现方式中的任一种,在第三方面的第三种可能的实现方式中,控制器还用于:在确定存储介质的时延类型之前,确定访问操作的待访问数据是否存储在缓存中;在确定待访问数据未存储在缓存中的情况下,确定存储介质的时延类型。
结合第三方面或上述可能的实现方式中的任一种,在第三方面的第四种可能的实现方式中,第一时延类型的存储介质包括硬盘驱动器HDD、固态硬盘SSD和非易失性闪存NAND Flash中的至少一种存储介质,第二时延类型的存储介质包括动态随机存储器DRAM和非易失固态存储器NVM中的至少一种存储介质。
因此,根据本发明实施例的CPU调度的方法,通过获取当前访问操作的访问地址,根据访问地址确定当前访问操作访问的存储介质,进而确定的存储介质的时延类型。当确定存储介质的时延类型为时延较大的类型时,中止执行当前访问操作的进程,实现进程切换。当确定存储介质的为访问较小的类型时,继续等待执行当前访问进程。根据这种方式,可以在一定程度上减少访问操作的等待时间,提高进程处理效率,从而能够减小CPU资源的浪费,降低系统的开销。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据本发明实施例的应用场景示意图。
图2示出了根据本发明一个实施例的CPU调度的方法的示意性流程图。
图3示出了根据本发明另一实施例的CPU调度的方法的示意性流程图。
图4示出了根据本发明另一实施例的CPU调度的方法的示意性流程图。
图5示出了根据本发明另一实施例的CPU调度的方法的示意性流程图。
图6示出了根据本发明另一实施例的CPU调度的方法的示意性交互过程图。
图7示出了根据本发明一个实施例的CPU调度的装置的示意性框图。
图8示出了根据本发明另一实施例的CPU调度的装置的示意性框图。
图9示出了根据本发明一个实施例的存储设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1示出了根据本发明实施例的应用场景示意图。如图1所示,系统包括中央处理器(Central Processing Unit,CPU)(100)和存储设备(106)可 以通过内存总线连接。CPU中集成了CPU内核(101)、内存管理单元(Memory Management Unit,MMU)(102)、转换查询缓存(Translation Lookaside Buffer,TLB)(103)、高速缓冲存储器(cache)(104)和消息式内存控制器(Message Memory Controller,MMC)(105)。需要说明的是,图中虽然只示出了1个CPU内核和1个存储设备的情况,但本发明实施例的方法并不局限于此,还可以是多个CPU内核和多个存储设备的情况。图中示出的存储设备包括3种不同类型的存储介质,但本发明实施例的方法并不局限于此,还可以是1种、2种或者多于3种类型的存储介质的情况。应理解,图1所示的存储设备可以是一体化存储设备(Unified Access Storage,UAS),UAS包含控制器和多种类型的存储介质,UAS包含的多种存储介质可以通过相同的内存访问接口被访问。
如图1所示,CPU内核要将待访问数据写入存储设备或者从存储设备中读取待访问数据的过程可以包括以下步骤:
步骤①,CPU内核发起当前访问操作的访问请求,该访问请求中包括当前访问操作的待访问数据对应的虚拟地址。步骤②,MMU根据虚拟地址查询TLB。步骤③,TLB向MMU反馈与虚拟地址对应的物理地址。步骤④,MMU向CPU内核反馈待访问数据对应的物理地址。步骤⑤,CPU内核根据物理地址访问cache。步骤⑥,当cache中未存储待访问数据时,即:在cache不命中的情况下,CPU内核将物理地址发送给MMC。步骤⑦,MMC根据物理地址在存储设备中对应的存储介质中写入或读取待访问数据。步骤⑧,存储设备向MMC反馈待访问数据已写入或已读取。步骤⑨,MMC将读取的待访问数据替换到cache中。步骤⑩,CPU内核从cache中读取待访问的数据或表示CPU内核接收MMC反馈的待访问数据已写入的消息。
由于当CPU通过统一的路径和指令访问存储介质时,并不能区分要访问的存储介质的类型,所以不能根据存储介质的访问时延特性降低系统的开销。
需要说明的是,在步骤⑤中,CPU内核根据该物理地址访问高速缓冲存储器cache,当cache中存储待访问数据时,即:在cache命中的情况下,如果CPU内核要写入物理地址的数据已存储在cache中,CPU内核可以将存储在cache中的数据进行更新,或者CPU内核要读取的与物理地址对应的数据已存储在cache中,CPU内核根据物理地址可以直接从cache中读取该 数据。也就是说,在cache命中的情况下,CPU内核并不需要去访问存储介质,访存请求可以在cache内快速完成,所以不会出现因存储介质的类型不同而造成的访问时延不同的问题。
还需要说明的是,在步骤⑤中,CPU内核根据该物理地址访问高速缓冲存储器cache包括:CPU内核向cache发送物理地址;cache接收CPU内核发送的物理地址,并根据该物理地址,确定cache中是否存储了待访问数据。
为了方便理解本发明实施例,首先在此介绍本发明实施例描述中会引入的几个要素。
进程是指正在运行的程序(指令和数据)的执行过程。
存储介质的访问时延是指CPU对存储介质进行一次读操作所需的时间。
图2示出了根据本发明一个实施例的CPU调度的方法200的示意性流程图。图2的方法200可以应用于一体化存储设备中,其中一体化存储设备包含有多种不同类型的存储介质,该方法200包括:
步骤210,获取当前访问操作的访问地址。
具体地,在本发明实施例中,访问地址可以包括虚拟地址、物理地址或其他访问地址,其中,虚拟地址是虚拟地址空间中的非物理的访问地址,物理地址是物理地址空间中的实际的访问地址,即:指CPU要写入数据的实际的访问地址,或者CPU要读取数据的实际的访问地址。当前访问操作可以包括读操作、写操作或其他操作。
步骤220,根据步骤210中获取的访问地址确定当前访问操作访问的存储介质。
在本发明实施例中,在步骤210中获取的是物理地址时,可以根据物理地址确定与该物理地址对应的存储介质,在步骤210中获取的是虚拟地址时,可以根据虚拟地址确定与该虚拟地址对应的存储介质。
具体地,可以通过查询本地或存储设备中存储的存储介质的访问地址与存储介质的对应关系,确定访问地址对应的存储介质。换句话说,当访问地址在某个存储介质对应的一段地址空间范围之内时,就可以确定该访问地址对应的存储介质为这个存储介质,例如:在步骤210中获取的访问地址为物理地址,且该物理地址在0-4GB的物理地址空间范围之内,而存储介质DRAM的物理地址空间对应于0-4GB的物理地址空间,则可以确定该物理地址对应的存储介质为DRAM。类似地,当步骤210中获取的访问地址为虚 拟地址时,也可以根据这种方法确定该虚拟地址对应的存储介质,为了简便,在此不再赘述。
步骤230,根据步骤220中确定存储介质确定存储介质的时延类型。
在本发明实施例中,可以根据该存储介质与存储介质的时延类型的对应关系确定该存储介质的时延类型。或者,也可以根据访存地址与存储介质的时延类型的对应关系确定该访存地址对应的存储介质的时延类型。
步骤240,在确定存储介质的时延类型为第一时延类型的情况下,中止运行当前访问操作的进程。
在本发明实施例中,中止运行当前访问操作的进程是指可以挂起当前访问操作的进程,使当前访问操作的进程进入休眠状态,从而可以释放当前访问操作的进程占用的CUP资源,便于待运行的其他进程来占用CPU资源,从而实现进程切换。
步骤250,在确定存储介质的时延类型为第二时延类型的情况下,继续执行访问操作的进程,其中,第一时延类型的存储介质的访问时延大于第二时延类型的存储介质的访问时延。
因此,本发明实施例提供的CPU调度的方法,通过获取当前访问操作的访问地址,根据访问地址确定当前访问操作访问的存储介质,进而确定的存储介质的时延类型,当确定存储介质的时延类型为时延较大的类型时,中止执行当前访问操作的进程,实现进程切换。当确定存储介质的时延较小时,继续等待执行当前访问进程。根据这种方式,可以在一定程度上减少访问操作的等待时间,提高进程处理效率,从而能够减小CPU资源的浪费,降低系统的开销。
可选地,作为一个实施例,在步骤230中,可以获取存储介质的访问时延;若存储介质的访问时延大于预设值,确定存储介质的时延类型为第一时延类型;若存储介质的访问时延不大于预设值,确定存储介质的时延类型为第二时延类型。
具体地,可以通过比较存储介质的访问时延与预设值的大小关系,根据比较结果确定该存储介质的时延类型为第一时延类型,还是为第二时延类型,这里,第一时延类型的存储介质的访问时延大于第二时延类型的存储介质的访问时延。需要说明的是,这个比较过程可以只进行一次,并将比较结果,即:存储介质与存储介质的时延类型的对应关系存储到本地或存储设备 中,当CPU内核再次发起访存请求时,可以直接到本地或者存储设备中查找存储的对应关系,确定存储介质的时延类型,但本发明实施例并不仅限于此,例如:也可以在CPU内核每次发起访存请求时,执行这个比较过程。还应理解,在本发明实施例中,预设值可以根据CPU内核对存储介质进行一次读操作所需的时间来确定,并可以进行预先的配置。
可替换地,作为另一实施例,在步骤230中,还可以根据存储介质的访问时延与CPU进行进程切换的时间资源开销之间的相对比例关系,确定存储介质的时延类型为第一时延类型,还是为第二时延类型。例如:当存储介质的访问时延超过CPU进行进程切换的时间资源开销的4倍,则确定存储介质的时延类型为第一时延类型,否则,确定存储介质的时延类型为第二时延类型。需要说明的是,存储介质的访问时延与CPU进行进程切换的时间资源开销之间的相对比例关系并不仅限于4倍,还可以增大或减小,这里仅是以举例的方式对本发明实施例的技术方法进行说明,并不对本发明实施例构成任何限定。
还应理解,在本发明实施例中,根据存储介质的访问时延与CPU进行进程切换的时间资源开销之间的相对比例关系,确定存储介质的时延类型为第一时延类型还是为第二时延类型的过程也可以只进行一次,将确定的结果,即:存储介质与存储介质的时延类型的对应关系存储到本地或存储设备中,当CPU内核再次发起访存请求时,可以直接到本地或者存储设备中查找存储的对应关系,确定存储介质的时延类型,但本发明实施例并不仅限于此。
根据本发明实施例,当存储介质的访问时延大于预设值时,可以确定该存储介质的时延类型为第一时延类型;当存储介质的访问时延不大于预设值时,可以确定该存储介质的时延类型为第二时延类型。
应理解,在本发明实施例中,第一时延类型的存储介质可以包括硬盘驱动器(Hard Disk Drive,HDD)、固态硬盘(Solid State Disk,SSD)和非易失性闪存(NAND Flash)中的至少一种存储介质,第二时延类型的存储介质可以包括动态随机存储器(Dynamic Random Access Memory,DRAM)和非易失固态存储器(Non-violate Memory,NVM)中的至少一种存储介质。
需要说明的是,非易失固体存储器NVM可以包括相变内存器(Phase Change Memory,PCM)、磁性存储器(Magnetic Random Access Memory, MRAM)和忆阻存储器(Resistive Random Access Memory,RRAM)中的至少一种存储器,或者,NVM也可以包括其他新型的存储器,本发明实施例并不仅限于此。
可选地,作为另一实施例,在步骤230中,可以获取预设的存储介质与该存储介质的时延类型之间的对应关系,再根据获取的对应关系,确定该存储介质的时延类型为第一时延类型或第二时延类型,其中,第一时延类型的存储介质的访问时延大于第二时延类型的存储介质的访问时延。应理解,预设的的存储介质与该存储介质的时延类型之间的对应关系可以是预先存储在本地或存储设备中的存储介质与该存储介质的时延类型之间的对应关系。
可选地,作为另一实施例,如图3所示,在步骤230之前,所述方法200还包括:
步骤260,确定当前访问操作的待访问数据是否存储在缓存中,
其中,步骤230,在步骤260中确定该待访问数据未存储在缓存中的情况下,确定该存储介质的时延类型。
具体地,在本发明实施例中,缓存可以包括CPU内的各级高速缓存cache、消息式内存控制器MMC内的缓存或软件管理器内的缓存中的任一级缓存,并且当存储设备为一体换存储设备UAS时,还包括UAS的控制器内的缓存。例如:在步骤260中,可以根据访存地址依次确定待访问数据是否存储在CPU内的各级cache、MMC内的缓存和UAS的控制器内的缓存中的任一级缓存中,当步骤260中确定待访问数据未存储在这些缓存中的任一级缓存中时,在步骤230中确定存储介质的时延类型。
需要说明的是,在本发明实施例中,在确定待访问数据已存储在缓存中时,可以根据现有技术来实现,即:直接从该缓存中读取待访问数据或者将待访问数据更新到该缓存。
需要说明的是,在本发明实施例中,在确定待访问数据已存储在缓存中时,可以根据现有技术来实现,即:直接从该缓存中读取待访问数据或者将待访问数据更新到该缓存。
下面,结合具体的实施例,对本发明实施例的方法进行详细的描述。
图4示出了根据本发明另一实施例的CPU调度的方法300的示意性流程图。图4所示的方法300以访问地址为物理地址为例对本发明实施例的方案进行详细的说明,如图4所示,
步骤310,获取当前访问操作的访问地址,该访问地址为物理地址。
步骤320,根据步骤310中获取的物理地址,确定该物理地址对应的存储介质。
步骤330,根据步骤320中确定的存储介质,确定该存储介质的时延类型。
具体地,可以通过比较存储介质的访问时延与预设值的大小关系,根据比较结果确定该存储介质的时延类型,例如:当存储介质的访问时延大于预设值时,可以确定该存储介质的时延类型为第一时延类型;当存储介质的访问时延不大于预设值时,可以确定该存储介质的时延类型为第二时延类型。
应理解,在本发明实施例中,预设值可以根据内核对存储介质进行一次读操作所需的时间来确定,例如:第一预设值可以设置成100μs-1ms,例如:第一预设值可以设置成500μs,CPU对HDD进行一次读操作的时间为4ms,大于第一预设值500μs,所以HDD的时延类型为第一时延类型,即:HDD为第一时延类型的存储介质。再如:第二预设值可以设置成600ns-1μs,例如:第二预设值可以设置成800ns,CPU对DRAM进行一次读操作的时间为600ns,小于第二预设值800ns,所以DRAM的时延类型为第二时延类型,即:DRAM为第二时延类型的存储介质。
应理解,第一预设值与第二预设值可以设置成相同的数值,例如:可以设置成1μs-100μs,例如:可以设置成60μs,CPU对NVM进行一次读操作的时间为300ns,小于预设值60μs,所以NVM的时延类型为第二时延类型,即:NVM为第二时延类型的存储介质;CPU对SSD进行一次读操作的时间为70μs,大于预设值60μs,所以SSD的时延类型为第一时延类型,即:SSD为第一时延类型的存储介质。
应理解,也可以获取本地或存储设备中存储的存储介质与该存储介质的时延类型之间的对应关系,确定该存储介质的时延类型。例如:可以通过查询本地或存储设备中存储的存储介质与该存储介质的时延类型之间的对应关系的对应关系表或文档,获取存储介质与该存储介质的时延类型之间的对应关系,进而确定该存储介质的时延类型。或者,还可以通过查询本地或存储设备中存储的存储介质的物理地址与该存储介质的时延类型之间的对应关系的对应关系表或文档,获取存储介质与该存储介质的时延类型之间的对应关系,进而确定该存储介质的时延类型。
应理解,在本发明实施例中,对应关系表可以包括:存储介质和存储介质的时延类型。例如:对应关系表可以如表1所示,
表1
存储介质 DRAM HDD SSD NVM
时延类型 0 1 1 0
其中,“0”可以表示第二时延类型,“1”可以表示第一时延类型。例如:当物理地址对应的存储介质为HDD时,该HDD的时延类型为第一时延类型。当物理地址对应的存储介质为NVM时,该NVM的时延类型为第二时延类型。
应理解,表1所示的情况只是本发明实施例的一个例子,并不对本发明实施例构成限定,也可以有其他的表示方式,例如:可以用“Y”表示第二时延类型存储介质,“X”表示第一时延类型存储介质,或者,直接表示为“第二时延类型”和“第一时延类型”等等。
需要说明的是,在本发明实施例中,可以在获取存储介质与该存储介质的时延类型之间的对应关系前,获取存储介质与存储介质的物理地址空间范围的对应关系,例如:可以是如表2所示的对应关系表。
表2
起始物理地址 0 4GB 20GB 532GB
结束物理地址 4GB 20GB 532GB 2580GB
存储介质 DRAM NVM SSD HDD
例如:存储介质DRAM对应的物理地址空间为0-4GB的范围,应理解,DRAM的地址空间可能是连续的,也可能是离散的,本发明实施例对应并不做限定。当物理地址在物理地址空间为0-4GB的范围内时,该物理地址对应的存储介质为DRAM,再根据表1的对应关系,确定DRAM的时延类型为第二时延类型。
还应理解,在本发明实施例中,对应关系表还可以包括:存储介质的起始物理地址、结束物理地址,例如:包括多种不同时延的存储介质的存储设备的物理空间为64M,对应关系表可以如表3所示,
表3
起始物理地址 0 4GB 20GB 532GB
结束物理地址 4GB 20GB 532GB 2580GB
存储介质 DRAM NVM SSD HDD
时延类型 0 0 1 1
例如:当物理地址在物理地址空间为0-4GB的范围内时,该物理地址对应的存储介质为DRAM,而该DRAM的时延类型为第二时延类型。或者,当物理地址在物理地址空间为0-4GB的范围内时,该物理地址对应的存储介质的时延类型为第二时延类型。因此,可以直接根据物理地址与存储介质的时延类型的对应关系,确定物理地址对应的存储介质的时延类型。
应理解,表2和表3所示的存储介质的物理地址的划分可以根据实际情况而定,这里仅是为了说明本发明实施例的技术方案,并不对本发明实施例构成限定,但需要指出的是:存储介质DRAM、HDD、SSD、NVM等对应的物理地址空间是不重叠的物理地址空间。
还应理解,在本发明实施例中,仅以物理地址为例进行了详细说明,但本发明实施例并不仅限于此,类似地,对应关系表也可以包括:虚拟地址、存储介质和时延类型,其中,虚拟地址可以包括存储介质的起始虚拟地址、结束虚拟地址。为了简洁,在此不再赘述。
当在步骤330中确定存储介质的时延类型为第一时延类型,且当前访问操作为读操作时,执行以下步骤:
步骤341a,挂起当前访问操作的进程,并从该存储介质中读取当前访问操作的待访问数据。
具体地,在本发明实施例中,MMC可以向CPU内核发送中断请求,该中断请求触发CPU内核挂起当前正在运行的进程,即:CPU内核可以释放当前运行的进程所占用的CPU资源,以便其他待运行的进程占用该CPU资源。
步骤342a,当待访问数据的读取完成时,恢复运行之前挂起的进程。
具体地,在本发明实施例中,对待访问数据进行读操作,则要将从物理地址对应的存储介质中读取的待访问数据反馈并存储到cache中,才意味着待访问数据的读取完成,此时,MMC可以向CPU内核发送恢复请求,该恢复请求触发CPU内核恢复运行之前挂起的进程。
应理解,恢复运行之前挂起的进程,可以是将该进程重新调入就绪队列中进行排队,或者,可以直接以插队的方式,优先运行该进程。
当在步骤330中确定存储介质的时延类型为第二时延类型,且当前访问 操作为读操作时,执行以下步骤:
步骤341b,从该存储介质中读取待访问数据。
步骤342b,当待访问数据的读取完成时,继续运行当前访问操作的进程。
具体地,在本发明实施例中,由于物理地址对应的存储介质的访问时延短,无需向CPU内核发送中断请求,只需在待访问数据的读取完成时,向CPU内核发送第三请求消息,例如:可以向CPU内核发送触发请求,该触发请求触发CPU内核运行当前等待的进程。需要说明的是:当前等待的进程是指占用着CPU内核资源,但是没有运行的进程。而当CPU内核收到触发消息时,例如:收到第三请求消息时,就会运行该进程。
因此,本发明实施例提供的CPU调度的方法,通过获取当前访问操作的访问地址,根据访问地址确定当前访问操作访问的存储介质,进而确定的存储介质的时延类型,当确定存储介质的时延类型为时延较大的类型时,中止执行当前访问操作的进程,实现进程切换,当确定存储介质的为时延较小的类型时,继续等待执行当前访问进程,根据这种方式,可以在一定程度上减少访问操作的等待时间,提高进程处理效率,从而能够减小CPU资源的浪费,降低系统的开销。
应理解,在本发明实施例中,当前访问操作为写操作时,可以根据现有技术来实现,即:可以不判断访存地址对应的存储介质的时延类型,将待访问数据写入存储介质。也可以根据本发明实施例中的流程来实现,即:在步骤320中确定存储介质的时延类型为第一时延类型,且对待访问数据进行写操作时,可以调度CPU内核挂起当前运行的进程,并将待访问数据写入该存储介质中;当待访问数据的写入完成时,调度CPU内核恢复运行之前挂起的进程,本发明实施例并不仅限于此。
还应理解,在本发明实施例中,仅是以物理地址空间为例对本发明实施例的技术方案进行了详细的说明,不应对本发明实施例的技术方案构成任何限定,类似地,也可以是虚拟地址空间,为了简洁,在此不再赘述。
还应理解,本发明实施例中的技术方案还可以支持超线程技术,基于这种技术能够利用特殊的硬件支持,把两个逻辑内核模拟成两个物理核,让单个处理器都能使用线程级并行计算的特点,对于第二时延类型的存储介质,可以直接在CPU的多套寄存器之间进行线程或进程的快速切换,无需从第 二时延类型的存储介质中加载线程或进程的上下文,且这种切换的开销相对于访问第二时延类型的存储介质的开销要小得多,所以不用CPU等待;而对于第一时延类型的存储介质,由于其访问时延较长,CPU等待就会导致开销过大,需要从第一时延类型的存储介质中加载线程或进程的上下文,这就需要CPU执行进程切换,从而降低开销。
图5示出了根据本发明另一实施例的CPU调度的方法500的示意性流程图。如图5所示,
步骤510,获取当前访问操作的访问地址。
步骤520,根据步骤510中获取的访问地址,确定当前访问操作的待访问数据是否存储在缓存中。
具体地,在本发明实施例中,缓存可以为如图1中CPU100内的各级高速缓存cache。
步骤530a,当在步骤520中确定待访问数据未存储在缓存中时,根据步骤510中获取的访问地址,确定该访问地址对应的存储介质。
步骤540a,根据步骤530a中确定的存储介质,确定该存储介质的时延类型。
当在步骤540a中确定存储介质的时延类型为第一时延类型时,且当前访问操作为读操作时,执行以下步骤:
步骤541a,挂起当前运行的进程,并从该存储介质中读取待访问数据。
步骤542a,当待访问数据的读取完成时,调度CPU内核恢复运行之前挂起的进程。
当在步骤540a中确定存储介质的时延类型为第二时延类型时或当在步骤520中确定待访问数据已存储在缓存中时,执行以下步骤:
步骤541b,控制从该存储介质中读取待访问数据。
步骤542b,当待访问数据的读取完成时,调度CPU内核运行当前等待的进程。
因此,本发明实施例提供的CPU调度的方法,通过获取当前访问操作的访问地址,根据访问地址确定访问操作的待访问数据未存储在缓存中时,确定访问地址对应的存储介质,进而确定的存储介质的时延类型,当确定存储介质的时延类型为时延较大的类型时,中止执行当前访问操作的进程,实现进程切换,当确定存储介质的为时延较小的类型时,继续等待执行当前访 问进程,根据这种方式,可以在一定程度上减少访问操作的等待时间,提高进程处理效率,从而能够进一步减小CPU资源的浪费,降低系统的开销。
应理解,在本发明实施例中,除步骤520之外的其他步骤的具体实现方法分别与图4中的各个步骤的具体实现方法类似,为了简洁,在此不再赘述。
图6示出了根据本发明另一实施例的CPU调度的方法600的示意性交互过程图。图6的方法可以由CPU执行,其中,可以由CPU内的消息式内存控制器MMC来确定物理地址对应的存储介质的时延类型。图6所示的方法600为图2、图4或图5的一个例子,如图6所示,
步骤610,CPU内核向MMC发送当前访问操作的物理地址。
步骤620,MMC接收CPU内核发送的物理地址。
步骤630,确定当前访问操作的待访问数据未存储在MMC内的缓存中。
步骤640,MMC通过查询本地存储的存储介质与存储介质类型的对应关系,确定物理地址对应的存储介质的时延类型为第一时延类型。
具体地,MMC也可以通过比较物理地址对应的存储介质的访问时延与预设值的大小关系,确定物理地址对应的存储介质的时延类型为第一时延类型。第一时延类型的存储介质可以是HDD、SSD或NAND Flash。
步骤650,MMC向CPU内核发送中断请求,该中断请求用于指示CPU内核挂起当前正在运行的进程。
步骤660,CPU内核接收MMC发送的中断请求,并根据该中断请求的指示挂起当前正在运行的进程。
步骤670,MMC将从物理地址对应的存储介质中读取待访问数据。
步骤660,MMC向CPU内核发送恢复请求,该恢复请求用于指示CPU内核恢复之前挂起的进程。
具体地,当前访问操作为读操作时,MMC需要将从物理地址对应的存储介质中读取的待访问数据存储到cache中,才可以执行步骤660。
步骤690、CPU内核接收MMC发送的恢复请求,并根据该恢复请求的指示恢复运行之前挂起的进程。
因此,本发明实施例提供的CPU调度的方法,通过获取当前访问操作的物理地址,根据物理地址确定访问操作的待访问数据未存储在缓存中时,确定物理地址对应的存储介质,进而确定的存储介质的时延类型,当确定存储介质的时延类型为时延较大的类型时,中止执行当前访问操作的进程,实 现进程切换,从而能够进一步减小CPU资源的浪费,降低系统的开销。
应理解,在本发明实施例中,步骤640可以包括:MMC通过接收UAS的控制器反馈的物理地址对应的存储介质的时延类型为第一时延类型的指示消息,确定存储介质的时延类型为第一时延类型。
需要说明的是,在本发明实施例中,还可以包括以下几种情况:
1、若步骤630中确定待访问数据已存储在MMC内的缓存中时,直接从该缓存中读取待访问数据,并将其存储到cache中,不再执行步骤640及其之后的步骤。
2、若步骤640中MMC通过查询本地存储的存储介质与存储介质类型的对应关系,确定物理地址对应的存储介质的时延类型为第二时延类型,则执行MMC向CPU内核发送触发请求,该请求用于指示CPU内核恢复运行当前等待的进程,以及CPU内核接收MMC发送的触发请求,并根据该触发请求的指示恢复运行当前等待的进程,即:继续执行当前访问操作的进程。
3、存储设备为UAS,且UAS的控制器内有缓存。则在步骤640之后步骤650之前还要执行以下步骤:
步骤641(图中未示出)、MMC向UAS的控制器发送物理地址。
步骤642(图中未示出)、UAS的控制器根据物理地址,确定待访问数据是否存储在UAS的控制器内的缓存中。
步骤643a、(图中未示出)、在UAS的控制器确定待访问数据未存储在UAS的控制器内的缓存中时,执行步骤650及其之后的步骤;
步骤643b(图中未示出)、在MMC确定待访问数据已存储在UAS的控制器内的缓存中时,直接从该缓存中读取待访问数据,并将其存储到cache中,不再执行步骤650及其之后的步骤。
上文中结合图2至图6,详细描述了根据本发明实施例的CPU调度的方法,下面将结合图7和图8,详细描述根据本发明实施例的CPU调度的装置。
图7示出了根据本发明实施例的CPU调度的装置700的示意性框图。如图7所示,该装置700应用于一体化存储设备中,其中一体化存储设备包含有多种不同类型的存储介质,该装置700包括获取模块710、第一确定模块720、第二确定模块730和执行模块740,其中:
获取模块710,用于获取当前访问操作的访存地址。
第一确定模块720,用于确定获取模块710获取的访问地址确定访问操 作访问的存储介质。
第二确定模块730,用于确定第一确定模块720确定的存储介质的时延类型。
执行模块740,用于在第二确定模块730确定的存储介质的时延类型为第一时延类型时,中止运行访问操作的进程;在第二确定模块730确定的存储介质的时延类型为第二时延类型时,继续执行访问操作的进程,其中,第一时延类型的存储介质的访问时延大于第二时延类型的存储介质的访问时延。
因此,本发明实施例提供的调度CPU内核的装置,通过获取当前访问操作的访问地址,根据访问地址确定当前访问操作访问的存储介质,进而确定的存储介质的时延类型,当确定存储介质的时延类型为时延较大的类型时,中止执行当前访问操作的进程,实现进程切换,当确定存储介质的为时延较小的类型时,继续等待执行当前访问进程,根据这种方式,可以在一定程度上减少访问操作的等待时间,提高进程处理效率,从而能够减小CPU资源的浪费,降低系统的开销。
可选地,在一种情形下,第二确定模块730具体用于获取存储介质的访问时延;若存储介质的访问时延大于预设值时,确定该存储介质的时延类型为第一时延类型;若存储介质的访问时延不大于预设值时,确定该存储介质的时延类型为所述第二时延类型。
可选地,在另一种情形下,第二确定模块730具体用于获取预设的存储介质与该存储介质的时延类型之间的对应关系,并根据获取单元获取的对应关系,确定存储介质的时延类型。
在本发明实施例中,第一时延类型的存储介质可以包括硬盘驱动器(Hard Disk Drive,HDD)、固态硬盘(Solid State Disk,SSD)和非易失性闪存(NAND Flash)中的至少一种存储介质,第二时延类型的存储介质可以包括动态随机存储器(Dynamic Random Access Memory,DRAM)和非易失固态存储器(Non-violate Memory,NVM)中的至少一种存储介质。
可选地,作为另一实施例,如图8所示,该装置700还包括:
第三确定模块750,用于确定访问操作的待访问数据是否存储在缓存中,
其中,第二确定模块730,具体用于在第三确定模块750确定待访问数据未存储在所述缓存中时,确定存储介质的时延类型。
应理解,在本发明实施例中,根据本发明实施例的CPU调度内的装置700,可对应于根据本发明实施例的方法的执行主体,并且该CPU调度的装置700中的各个模块的上述和其它操作和/或功能分别为了实现图2至图6中的各个方法的相应流程,为了简洁,在此不再赘述。
因此,本发明实施例提供的CPU调度的装置,通过获取当前访问操作的访问地址,根据访问地址确定当前访问操作访问的存储介质,进而确定的存储介质的时延类型,当确定存储介质的时延类型为时延较大的类型时,中止执行当前访问操作的进程,实现进程切换,当确定存储介质的为时延较小的类型时,继续等待执行当前访问进程,根据这种方式,可以在一定程度上减少访问操作的等待时间,提高进程处理效率,从而能够减小CPU资源的浪费,降低系统的开销。
图9示出了根据本发明实施例的存储设备900的示意性框图。如图9所示,该存储设备900包括控制器910以及多种不同类型的存储介质920。其中,
存储介质920,用于存储数据。具体地,在本发明实施例中,存储介质920可以为一体化存储设备UAS,UAS包括多种不同类型的存储介质和UAS的控制器,这些存储介质可以通过同一个内存接口被访问。
控制器910用于:获取当前访问操作的访问地址;根据访问地址确定访问操作访问的存储介质;确定存储介质的时延类型;在确定存储介质的时延类型为第一时延类型的情况下,中止运行访问操作的进程;在确定存储介质的时延类型为第二时延类型的情况下,继续执行访问操作的进程,其中,第一时延类型的存储介质的访问时延大于第二时延类型的存储介质的访问时延。
具体地,在本发明实施例中,控制器910可以包括内核core 912、内存管理单元MMU 914、高速缓冲存储器cache 916以及消息式内存控制器MMC918。内核core 912用于获取当前访问操作的访问地址,MMU 914用于将虚拟地址转化为对应的物理地址,MMC918可以用于根据访问地址确定访问操作访问的存储介质,并确定存储介质的时延类型,内核core 912还用于在MMC 918确定存储介质的时延类型为第一时延类型的情况下,中止运行访问操作的进程;在MMC 918确定存储介质的时延类型为第二时延类型的情况下,继续执行访问操作的进程。
因此,根据本发明实施例的存储设备,可以通过获取当前访问操作的访问地址,根据访问地址确定当前访问操作访问的存储介质,进而确定的存储介质的时延类型,当确定存储介质的时延类型为时延较大的类型时,中止执行当前访问操作的进程,实现进程切换,当确定存储介质的为时延较小的类型时,继续等待执行当前访问进程,根据这种方式,可以在一定程度上减少访问操作的等待时间,提高进程处理效率,从而能够减小CPU资源的浪费,降低系统的开销。
应理解,在本发明实施例中,MMC 918还可以接收UAS的控制器反馈的存储介质的时延类型,内核core 912用于在MMC 918接收到UAS的控制器反馈的存储介质的时延类型为第一时延类型的情况下,中止运行访问操作的进程;在MMC 918接收到UAS的控制器反馈的存储介质的时延类型为第二时延类型的情况下,继续执行访问操作的进程。
可选地,在一种情形下控制器910具体用于:获取存储介质的访问时延;若存储介质的访问时延大于预设值,确定存储介质的时延类型为第一时延类型;若存储介质的访问时延不大于预设值,确定存储介质的时延类型为第二时延类型。
可选地,在又一种情形下控制器910具体用于:获取预设的存储介质与存储介质的时延类型之间的对应关系;根据对应关系,确定存储介质的时延类型。
可选地,在又一种情形下控制器910还用于:在确定存储介质的时延类型之前,确定当前访问操作的待访问数据是否存储在缓存中;在确定待访问数据未存储在缓存中的情况下,确定存储介质的时延类型。
在本发明实施例中,第一时延类型的存储介质包括硬盘驱动器HDD、固态硬盘SSD和非易失性闪存NAND Flash中的至少一种存储介质,第二时延类型的存储介质包括动态随机存储器DRAM和非易失固态存储器NVM中的至少一种存储介质。
本发明实施例的存储设备通过获取当前访问操作的访问地址,根据访问地址确定当前访问操作访问的存储介质,进而确定的存储介质的时延类型,当确定存储介质的时延类型为时延较大的类型时,中止执行当前访问操作的进程,实现进程切换,当确定存储介质的为时延较小的类型时,继续等待执行当前访问进程,根据这种方式,可以在一定程度上减少访问操作的等待时 间,提高进程处理效率,从而能够减小CPU资源的浪费,降低系统的开销。
还应理解,在本发明实施例中,根据本发明实施例的存储设备900的控制器910,可对应于根据本发明实施例的方法的执行主体,并且该存储设备900的控制器910可以实现图2至图6中的各个方法的相应流程,为了简洁,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (15)

  1. 一种CPU调度的方法,所述方法应用于一体化存储设备中,其中所述一体化存储设备包含有多种不同类型的存储介质,其特征在于,包括:
    获取当前访问操作的访问地址;
    根据所述访问地址确定所述访问操作访问的存储介质;
    确定所述存储介质的时延类型;
    在确定所述存储介质的时延类型为第一时延类型的情况下,中止运行所述访问操作的进程;
    在确定所述存储介质的时延类型为第二时延类型的情况下,继续执行所述访问操作的进程,
    其中,所述第一时延类型的存储介质的访问时延大于所述第二时延类型的存储介质的访问时延。
  2. 根据权利要求1所述的方法,其特征在于,所述确定所述存储介质的时延类型包括:
    获取所述存储介质的访问时延;
    若所述存储介质的访问时延大于预设值,确定所述存储介质的时延类型为所述第一时延类型;
    若所述存储介质的访问时延不大于所述预设值,确定所述存储介质的时延类型为所述第二时延类型。
  3. 根据权利要求1所述的方法,其特征在于,所述确定所述存储介质的时延类型包括:
    获取预设的所述存储介质与所述存储介质的时延类型之间的对应关系;
    根据所述对应关系,确定所述存储介质的时延类型。
  4. 根据权利要求1至3中任一项所述的方法,其特征在于,在所述确定所述存储介质的时延类型之前,所述方法还包括:
    确定所述访问操作的待访问数据是否存储在缓存中;
    所述确定所述访存地址对应的存储介质的时延类型包括:
    在确定所述待访问数据未存储在所述缓存中的情况下,确定所述存储介质的时延类型。
  5. 根据权利要求1至4中任一项所述的方法,其特征在于,所述第一时延类型的存储介质包括硬盘驱动器HDD、固态硬盘SSD和非易失性闪存 NAND Flash中的至少一种存储介质,所述第二时延类型的存储介质包括动态随机存储器DRAM和非易失固态存储器NVM中的至少一种存储介质。
  6. 一种CPU调度的装置,所述装置应用于一体化存储设备中,其中所述一体化存储设备包含有多种不同类型的存储介质,其特征在于,所述装置包括:
    获取模块,用于获取当前访问操作的访问地址;
    第一确定模块,用于根据所述获取模块获取的所述访问地址确定所述访问操作访问的存储介质;
    第二确定模块,用于确定所述存储介质的时延类型;
    执行模块,用于在所述第二确定模块确定的所述存储介质的时延类型为第一时延类型时,中止运行所述访问操作的进程;在所述第二确定模块确定的所述存储介质的时延类型为第二时延类型时,继续执行所述访问操作的进程,其中,所述第一时延类型的存储介质的访问时延大于所述第二时延类型的存储介质的访问时延。
  7. 根据权利要求6所述的装置,其特征在于,所述第二确定模块具体用于:
    获取所述存储介质的访问时延;
    若所述存储介质的访问时延大于预设值,确定所述存储介质的时延类型为所述第一时延类型;
    若所述存储介质的访问时延不大于所述预设值,确定所述存储介质的时延类型为所述第二时延类型。
  8. 根据权利要求6所述的装置,其特征在于,所述第二确定模块包括:
    获取单元,用于获取预设的所述存储介质与所述存储介质的时延类型之间的对应关系;
    确定单元,用于根据所述获取单元获取的所述对应关系,确定所述存储介质的时延类型。
  9. 根据权利要求6至8中任一项所述的装置,其特征在于,所述装置还包括:
    第三确定模块,用于确定所述访问操作的待访问数据是否存储在缓存中,
    其中,所述第二确定模块,具体用于在所述第三确定模块确定所述待访 问数据未存储在所述缓存中的情况下,确定所述存储介质的时延类型。
  10. 根据权利要求6至9中任一项所述的装置,其特征在于,所述第一时延类型的存储介质包括硬盘驱动器HDD、固态硬盘SSD和非易失性闪存NAND Flash中的至少一种存储介质,所述第二时延类型的存储介质包括动态随机存储器DRAM和非易失固态存储器NVM中的至少一种存储介质。
  11. 一种存储设备,所述存储设备包括控制器以及多种不同类型的存储介质,其特征在于:
    所述存储介质,用于存储数据;
    所述控制器,用于:
    获取当前访问操作的访问地址;
    根据所述访问地址确定所述访问操作访问的存储介质;
    确定所述存储介质的时延类型;
    在确定所述存储介质的时延类型为第一时延类型的情况下,中止运行所述访问操作的进程;
    在确定所述存储介质的时延类型为第二时延类型的情况下,继续执行所述访问操作的进程,
    其中,所述第一时延类型的存储介质的访问时延大于所述第二时延类型的存储介质的访问时延。
  12. 根据权利要求11所述的存储设备,其特征在于,所述控制器具体用于:
    获取所述存储介质的访问时延;
    若所述存储介质的访问时延大于预设值,确定所述存储介质的时延类型为所述第一时延类型;
    若所述存储介质的访问时延不大于所述预设值,确定所述存储介质的时延类型为所述第二时延类型。
  13. 根据权利要求11所述的存储设备,其特征在于,所述控制器具体用于:
    获取预设的所述存储介质与所述存储介质的时延类型之间的对应关系;
    根据所述对应关系,确定所述存储介质的时延类型。
  14. 根据权利要求11至13中任意一项所述的存储设备,其特征在于,所述控制器还用于:
    在所述确定所述存储介质的时延类型之前,确定所述访问操作的待访问数据是否存储在缓存中;
    在确定所述待访问数据未存储在所述缓存中的情况下,确定所述存储介质的时延类型。
  15. 根据权利要求11至14中任意一项所述的存储设备,其特征在于,所述第一时延类型的存储介质包括硬盘驱动器HDD、固态硬盘SSD和非易失性闪存NAND Flash中的至少一种存储介质,所述第二时延类型的存储介质包括动态随机存储器DRAM和非易失固态存储器NVM中的至少一种存储介质。
CN201480036990.2A 2014-09-17 2014-09-17 Cpu调度的方法和装置 Active CN105612505B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/086702 WO2016041156A1 (zh) 2014-09-17 2014-09-17 Cpu调度的方法和装置

Publications (2)

Publication Number Publication Date
CN105612505A true CN105612505A (zh) 2016-05-25
CN105612505B CN105612505B (zh) 2018-12-14

Family

ID=55532444

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480036990.2A Active CN105612505B (zh) 2014-09-17 2014-09-17 Cpu调度的方法和装置

Country Status (2)

Country Link
CN (1) CN105612505B (zh)
WO (1) WO2016041156A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114402282A (zh) * 2019-09-17 2022-04-26 美光科技公司 存取存储的元数据以识别存储数据的存储器装置

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11269780B2 (en) 2019-09-17 2022-03-08 Micron Technology, Inc. Mapping non-typed memory access to typed memory access
US11494311B2 (en) 2019-09-17 2022-11-08 Micron Technology, Inc. Page table hooks to memory types
US10963396B1 (en) 2019-09-17 2021-03-30 Micron Technology, Inc. Memory system for binding data to a memory namespace

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1465013A (zh) * 2001-05-22 2003-12-31 皇家菲利浦电子有限公司 访问公共存储器的方法和系统
US20080168241A1 (en) * 2007-01-09 2008-07-10 Ram Raghavan Reducing memory access latency for hypervisor- or supervisor-initiated memory access requests
CN103412884A (zh) * 2013-07-18 2013-11-27 华中科技大学 一种异构存储介质下嵌入式数据库的管理方法
CN103838853A (zh) * 2014-03-17 2014-06-04 华中科技大学 一种基于不同存储介质的混合文件系统
US20140207827A1 (en) * 2011-09-30 2014-07-24 Huawei Technologies Co., Ltd. Method and system for configuring storage device in hybrid storage environment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1465013A (zh) * 2001-05-22 2003-12-31 皇家菲利浦电子有限公司 访问公共存储器的方法和系统
US20080168241A1 (en) * 2007-01-09 2008-07-10 Ram Raghavan Reducing memory access latency for hypervisor- or supervisor-initiated memory access requests
US20140207827A1 (en) * 2011-09-30 2014-07-24 Huawei Technologies Co., Ltd. Method and system for configuring storage device in hybrid storage environment
CN103412884A (zh) * 2013-07-18 2013-11-27 华中科技大学 一种异构存储介质下嵌入式数据库的管理方法
CN103838853A (zh) * 2014-03-17 2014-06-04 华中科技大学 一种基于不同存储介质的混合文件系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114402282A (zh) * 2019-09-17 2022-04-26 美光科技公司 存取存储的元数据以识别存储数据的存储器装置
CN114402282B (zh) * 2019-09-17 2024-04-09 美光科技公司 存取存储的元数据以识别存储数据的存储器装置

Also Published As

Publication number Publication date
WO2016041156A1 (zh) 2016-03-24
CN105612505B (zh) 2018-12-14

Similar Documents

Publication Publication Date Title
US10379746B2 (en) Information processing apparatus, storage device, and computer program product
EP3121731B1 (en) Memory management method and device
US10860244B2 (en) Method and apparatus for multi-level memory early page demotion
US20160085585A1 (en) Memory System, Method for Processing Memory Access Request and Computer System
US8627040B2 (en) Processor-bus-connected flash storage paging device using a virtual memory mapping table and page faults
US10621097B2 (en) Application and processor guided memory prefetching
US20130326113A1 (en) Usage of a flag bit to suppress data transfer in a mass storage system having non-volatile memory
KR20100132244A (ko) 메모리 시스템 및 메모리 시스템 관리 방법
EP2784683B1 (en) Storage control program, storage control method, storage system and hierarchy control apparatus thereof
US20210064535A1 (en) Memory system including heterogeneous memories, computer system including the memory system, and data management method thereof
WO2016206529A1 (zh) 一种存储器的控制方法、装置及计算机存储介质
JP2019531546A (ja) 高度dramメモリコントローラの内部キャッシュをバイパスするための方法および装置
US10769074B2 (en) Computer memory content movement
US20180095884A1 (en) Mass storage cache in non volatile level of multi-level system memory
EP3252595A1 (en) Method and device for running process
US11157342B2 (en) Memory systems and operating methods of memory systems
CN105612505A (zh) Cpu调度的方法和装置
US20200272512A1 (en) Hardware for supporting os driven observation and anticipation based on more granular, variable sized observation units
CN110597742A (zh) 用于具有持久系统存储器的计算机系统的改进存储模型
CN108139983B (zh) 用于在多级系统存储器中固定存储器页面的方法和设备
US10684964B1 (en) System and method for reducing read latency in storage devices
EP3702911B1 (en) Hardware for supporting os driven load anticipation based on variable sized load units
CN110515861B (zh) 处理刷写命令的存储设备及其方法
CN112654965A (zh) 动态模块的外部分页和交换
US10169235B2 (en) Methods of overriding a resource retry

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant