CN108845959A - 一种内存数据处理方法、装置和电子设备 - Google Patents

一种内存数据处理方法、装置和电子设备 Download PDF

Info

Publication number
CN108845959A
CN108845959A CN201810661616.1A CN201810661616A CN108845959A CN 108845959 A CN108845959 A CN 108845959A CN 201810661616 A CN201810661616 A CN 201810661616A CN 108845959 A CN108845959 A CN 108845959A
Authority
CN
China
Prior art keywords
memory
data
offset address
switching equipment
memory pages
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
CN201810661616.1A
Other languages
English (en)
Other versions
CN108845959B (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.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing 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 Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN201810661616.1A priority Critical patent/CN108845959B/zh
Publication of CN108845959A publication Critical patent/CN108845959A/zh
Application granted granted Critical
Publication of CN108845959B publication Critical patent/CN108845959B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明公开了一种内存数据处理方法、装置及电子设备,该方法包括:侦测内存中多个内存页面数据的运行状态;当内存页面数据的运行状态符合第一预设条件时,获取内存页面数据对应的表示交换设备中存储空间位置的第一偏移地址,其中交换设备与内存相关联;根据第一偏移地址,将符合第一预设条件的内存页面数据,拷贝至交换设备中第一偏移地址对应的页面存储空间中。该方法能够对内存中长时间没有被调用的数据暂时转存在交换设备中,以节省内存空间,并且在存储过程中在交换设备上设置了第一偏移地址,使得在对交换设备写入数据时可以直接利用第一偏移地址进行写入操作,从而无需基于数据块进行数据处理,有效提高了数据读写效率。

Description

一种内存数据处理方法、装置和电子设备
技术领域
本发明涉及数据处理领域,特别涉及一种内存数据处理方法、装置和电子设备。
背景技术
计算机等电子设备在进行数据运行时需要长时间利用内存来数据处理,但是在这过程中可能会出现内存中的一些数据长时间没有被调用等现象,这样便会造成有限的内存空间被浪费的现象。而目前在处理该现象时并没有行之有效的方法,大多需要对内存中的数据进行复杂处理,如利用处理数据块的方式来处理内存中不符合规定的数据,这就需要调用相应设备的块设备层来对数据块进行处理,处理效率极低,增加了系统资源的负担。
发明内容
本发明实施例的目的在于提供一种内存数据处理方法、装置和电子设备,该方法能够对内存中符合第一预设条件的数据(如长时间没有被调用的数据)进行暂时转存在交换设备中的操作,以节省内存空间,并且在存储过程中利用了偏移地址,有效提高了数据转存时的存储效率。
为了解决上述技术问题,本发明的实施例采用了如下技术方案:一种内存数据处理方法,包括:
侦测内存中多个内存页面数据的运行状态;
当所述内存页面数据的运行状态符合第一预设条件时,获取所述内存页面数据对应的表示交换设备中存储空间位置的第一偏移地址,其中所述交换设备与所述内存相关联;
根据所述第一偏移地址,将符合所述第一预设条件的内存页面数据,拷贝至所述交换设备中所述第一偏移地址对应的页面存储空间中。
作为优选,所述的侦测内存中多个内存页面数据的运行状态包括:
侦测内存中对所述内存页面数据的访问状态,所述访问状态包括访问时间和/或访问频率。
作为优选,所述的获取所述内存页面数据对应的表示交换设备中存储空间位置的第一偏移地址包括:
判断所述交换设备的设备类型;
当所述设备类型为NVDIMM块设备时,获取所述NVDIMM块设备中所述页面数据对应的扇区地址;
根据所述扇区地址计算所述页面数据对应的所述第一偏移地址。
作为优选,所述方法还包括:根据所述内存页面数据存储在所述内存中时所具有的第二偏移地址设置所述第一偏移地址,以使所述第一偏移地址在形式上与所述第二偏移地址相对应。
作为优选,当所述交换设备为NVDIMM块设备时,所述方法还包括:根据所述内存页面数据在所述内存中的存储形式,预先设置所述NVDIMM块设备中的页面存储空间,以使所述页面存储空间与所述内存页面数据相对应。
本申请实施例还提供了一种内存数据处理装置,包括侦测模块、处理模块和写入模块;
所述侦测模块配置为侦测内存中多个内存页面数据的运行状态;
所述处理模块配置为当所述内存页面数据的运行状态符合第一预设条件时,获取所述内存页面数据对应的表示交换设备中存储空间位置的第一偏移地址,其中所述交换设备与所述内存相关联;
所述写入模块配置为根据所述第一偏移地址,将符合所述第一预设条件的内存页面数据,拷贝至所述交换设备中所述第一偏移地址对应的页面存储空间中。
作为优选,所述侦测模块进一步配置为侦测内存中对所述内存页面数据的访问状态,所述访问状态包括访问时间和/或访问频率。
作为优选,所述处理模块进一步配置为:判断所述交换设备的设备类型;当所述设备类型为NVDIMM块设备时,获取所述NVDIMM块设备中所述页面数据对应的扇区地址;根据所述扇区地址计算所述页面数据对应的所述第一偏移地址。
作为优选,所述装置还包括设置模块,所述设置模块配置为根据所述内存页面数据存储在所述内存中时所具有的第二偏移地址设置所述第一偏移地址,以使所述第一偏移地址在形式上与所述第二偏移地址相对应。
本申请实施例还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有可执行程序,所述处理器执行所述可执行程序以进行如下步骤:
侦测内存中多个内存页面数据的运行状态;
当所述内存页面数据的运行状态符合第一预设条件时,获取所述内存页面数据对应的表示交换设备中存储空间位置的第一偏移地址,其中所述交换设备与所述内存相关联;
根据所述第一偏移地址,将符合所述第一预设条件的内存页面数据,拷贝至所述交换设备中所述第一偏移地址对应的页面存储空间中。
本发明实施例的有益效果在于:该方法能够对内存中长时间没有被调用的数据暂时转存在交换设备中,以节省内存空间,并且在存储过程中在交换设备上设置了第一偏移地址,使得在对交换设备写入数据时可以直接利用第一偏移地址进行写入操作,从而无需基于数据块进行数据处理,避免了使用系统内核的块设备层,有效提高了数据读写效率。
附图说明
图1为本发明实施例的内存数据处理方法的流程图;
图2为本发明实施例图1中步骤S2的流程图;
图3为本发明实施例的内存数据处理装置的结构示意图;
图4为本发明实施例的将内存页面数据从内存转存到交换设备过程中的一个具体实施例。
具体实施方式
此处参考附图描述本发明的各种方案以及特征。
应理解的是,可以对此处发明的实施例做出各种修改。因此,上述说明书不应该视为限制,而仅是作为实施例的范例。本领域的技术人员将想到在本发明的范围和精神内的其他修改。
包含在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且与上面给出的对本发明的大致描述以及下面给出的对实施例的详细描述一起用于解释本发明的原理。
通过下面参照附图对给定为非限制性实例的实施例的优选形式的描述,本发明的这些和其它特性将会变得显而易见。
还应当理解,尽管已经参照一些具体实例对本发明进行了描述,但本领域技术人员能够确定地实现本发明的很多其它等效形式,它们具有如权利要求所述的特征并因此都位于借此所限定的保护范围内。
当结合附图时,鉴于以下详细说明,本发明的上述和其他方面、特征和优势将变得更为显而易见。
此后参照附图描述本发明的具体实施例;然而,应当理解,所发明的实施例仅仅是本发明的实例,其可采用多种方式实施。熟知和/或重复的功能和结构并未详细描述以避免不必要或多余的细节使得本发明模糊不清。因此,本文所发明的具体的结构性和功能性细节并非意在限定,而是仅仅作为权利要求的基础和代表性基础用于教导本领域技术人员以实质上任意合适的详细结构多样地使用本发明。
本说明书可使用词组“在一种实施例中”、“在另一个实施例中”、“在又一实施例中”或“在其他实施例中”,其均可指代根据本发明的相同或不同实施例中的一个或多个。
本发明实施例的一种内存数据处理方法,可以应用在计算机等电子设备的内存数据的处理上,使得处理数据时可以提高读写性能,减少读写延迟。在此,需要首先对内存和交换设备进行说明,计算机等电子设备在处理数据时需要先将数据调入到具有高速读写数据能力的内存中,然后在根据实际情况再使用这些数据,但是很多时候内存中的多个内存页面数据(也可以叫做内存页面)不符合预设的要求,如长时间没有被访问过,进而占用了内存空间。对此在本实施例中可以使用与该内存相关联的交换设备来进行处理,如可以将该长期没有被访问过的内存页面数据暂时存储在交换设备中,以便腾出占用的内存空间,如果使用这些内存页面数据时可以再将其从交换设备中调入到内存中使用。如图1所示,该方法包括如下步骤:
S1,侦测内存中多个内存页面数据的运行状态。计算机等电子设备的操作系统可以以内存页面数据为单位来管理内存中的数据,也可以将内存页面数据作为内存的最小数据分配单元使用等。内存页面数据的大小对系统性能有影响,需要先对内存页面数据的大小进行设置,使其适应于相应的硬件和软件。计算机等电子设备运行时需要使用内存调用内存中的内存页面数据,在此过程中侦测内存页面数据的运行状态,该运行状态包括了对内存页面数据的在内存的写入写出状态,如使用的间隔时间、使用的频率等信息。
S2,当内存页面数据的运行状态符合第一预设条件时,获取内存页面数据对应的表示交换设备中存储空间位置的第一偏移地址,其中交换设备与内存相关联。第一预设条件可以根据需要设定,如当内存页面数据使用时的一个或多个运行数值达到一范围时便认为该运行状态符合第一预设条件,例如当第一内存页面数据长时间没有被使用,且该持续时间达到了预设时间,则可以认为内存页面数据的运行状态符合第一预设条件。否则继续监测内存中的内存页面数据。第一偏移地址能够表示交换设备中存储空间位置,也就是说根据第一偏移地址能够找到该地址对应的交换设备中的数据存储空间,当然也可以对找到的数据空间进行操作,如在该数据空间上存储数据,或调用该数据空间中的已存储数据等。需要注意的是,本实施例中,第一偏移地址的使用可以使交换设备不再利用数据块的方式来进行数据处理,从而使系统的内核不再使用块设备层,进而能够克服使用块设备层带来的读写数据性能较低或者读写数据延迟的缺点。
S3,根据第一偏移地址,将符合第一预设条件的内存页面数据,拷贝至交换设备中第一偏移地址对应的页面存储空间中。交换设备中设置有多个页面存储空间,如可以设置与内存中内存页面数据(内存页面)数量相同的页面存储空间一方便存储,不同的页面存储空间具有不同的偏移地址,当然第一偏移地址在交换设备中也对应有页面存储空间(如第一页面存储空间),将符合第一预设条件的内存内面数据拷贝至第一偏移地址对应的第一页面存储空间中,这样在写入(存放)该内存页面数据时可以不再利用数据块的方式来进行数据写入(存放),而是直接通过第一偏移地址寻找到对应的页面存储空间,提高了数据写入的效率,降低了延迟时间。当然在读取该内存页面数据时也可以根据第一偏移地址在交换设备中寻找对应的第一页面存储空间,从而获取该内存页面数据,同样无需基于数据块的操作,提高了数据读取效率,降低了延迟时间。
作为优选,所述的侦测内存中多个内存页面数据的运行状态的步骤包括:侦测内存中对内存页面数据的访问状态,访问状态包括访问时间和/或访问频率。具体来说,侦测计算机等电子设备运行时对内存页面数据的访问时间和/或访问频率,并将获取的访问时间和/或访问频率与预先设置的时间和频率进行比对,如果发现当前访问时间与上次访问时间间隔较长,或者访问频率较低,则说明将该内存页面数据暂时存放在交换设备中,以腾出原本占用的内存空间。
在本申请的一个实施例中,如图2所示,所述的获取内存页面数据对应的表示交换设备中存储空间位置的第一偏移地址的步骤包括以下步骤:
S21,判断交换设备的设备类型。作为存储设备的交换设备可以为多种类型,如机械式硬盘、固态式硬盘、NVDIMM块设备或者其他可读存储器,不同类型的交换设备中页面存储空间的设置会有不同,而且读写数据的方式也会有所不同。
S22,当设备类型为NVDIMM块设备时,获取NVDIMM块设备中页面数据对应的扇区地址。NVDIMM(Nonvolatile Dual Inline Memory Modules),翻译为非易失性内存芯片,可以用来制造内存或其他存储设备(如本申请中的交换设备),具有在完全断电的情况下依然保存完整数据的特点,原本NVDIMM块设备是基于数据块来进行数据的操作的存储设备,但是在本实施例中并不基于数据块来进行数据的操作,而是要获取NVDIMM块设备中页面数据对应的扇区地址,并根据扇区地址获取第一偏移地址,从而不必使用系统的内核中的块设备层,进而能够克服使用块设备层带来的读写数据性能较低或者读写数据延迟的缺点。
S23,根据扇区地址计算页面数据对应的第一偏移地址。结合图4,具体来说,扇区地址是基于数据块的概念来设置的地址,如交换设备中页面存储空间对应了不同的扇区地址,如第一页面存储空间的扇区地址是0-7,第二页面存储空间的扇区地址是8-15,第三页面存储空间的扇区地址是16-23等等,在本实施例中需要将这些扇区地址转化为第一偏移地址,第一偏移地址是交换设备分段后,在段内某一地址相对于段首地址(段地址)的偏移量,从而避免了使用数据块的方式对数据进行处理,在此基于扇区地址计算第一偏移地址,如扇区地址0-7,扇区地址8-15,扇区地址16-23经过计算后得到的第一偏移地址分别为0,4K,8K。从而在寻找页面存储空间时可以直接根据0,4K,8K(也为偏移量)来寻找第一页面存储空间,第二页面存储空间,第三页面存储空间等,从而有效提高了读写速度。
在本申请的一个实施例中,该方法还包括:根据内存页面数据存储在内存中时所具有的第二偏移地址设置第一偏移地址,以使第一偏移地址在形式上与第二偏移地址相对应。结合图4,内存页面数据在内存中对应有第二偏移地址,如第一内存页面数据在内存中时其对应的第二偏移地址是0,第二内存页面数据在内存中时其对应的第二偏移地址是4K,第三内存页面数据在内存中时其对应的第二偏移地址是8K等等,根据第二偏移地址再设置交换设备中的第一偏移地址,如第一偏移地址的偏移量设置成与第二偏移地址的偏移量相同,即将交换设备中的第一页面存储空间的第一偏移地址设置为0,将交换设备中的第二页面存储空间的第一偏移地址设置为4K,将交换设备中的第三页面存储空间的第一偏移地址设置为8K等等。这样能够便于查找第一偏移地址(均是利用了偏移地址),便于将原本存储在内存中的内存页面数据快速准确的在交换设备中找到相对应的页面存储空间,如图4所示,将第二偏移地址为0的第一内存页面数据快速的写入到第一偏移地址为4K的第二页面存储空间中。
在本申请的一个实施例中,当交换设备为NVDIMM块设备时,该方法还包括:根据内存页面数据在内存中的存储形式,预先设置NVDIMM块设备中的页面存储空间,以使页面存储空间与内存页面数据相对应。具体来说,数据的储存形式包括多种相关的信息,如数据存储格式、占用的空间大小、对应硬件的类型等信息,为了使交换设备中的页面存储空间能够更好的适用于内存页面数据,提高存储时的速度或降低存储过程中出现错误的概率,预先设置NVDIMM块设备中的页面存储空间,如设置单个页面存储空间的大小,设置存储时的数据格式等,使其更加适用于内存页面数据。
本申请实施例还提供了一种内存数据处理装置,该装置可以应用在计算机等电子设备的内存数据的处理上,使得处理数据时可以提高读写性能,减少读写延迟。在此,需要首先对内存和交换设备进行说明,计算机等电子设备在处理数据时需要先将数据调入到具有高速读写数据能力的内存中,然后在根据实际情况再使用这些数据,但是很多时候内存中的多个内存页面数据(也可以叫做内存页面)不符合预设的要求,如长时间没有被访问过,进而占用了内存空间。对此在本实施例中该装置可以通过使用与该内存相关联的交换设备来进行处理,如可以将该长期没有被访问过的内存页面数据暂时存储在交换设备中,以便腾出占用的内存空间,如果使用这些内存页面数据时可以再将其从交换设备中调入到内存中使用。如图3所示,该装置包括侦测模块、处理模块和写入模块。
侦测模块配置为侦测内存中多个内存页面数据的运行状态。计算机等电子设备的操作系统可以以内存页面数据为单位来管理内存中的数据,也可以将内存页面数据作为内存的最小数据分配单元使用等。内存页面数据的大小对系统性能有影响,需要先对内存页面数据的大小进行设置,使其适应于相应的硬件和软件。计算机等电子设备运行时需要使用内存调用内存中的内存页面数据,在此过程中侦测模块侦测内存页面数据的运行状态,该运行状态包括了对内存页面数据的在内存的写入写出状态,如使用的间隔时间、使用的频率等信息。
处理模块配置为当内存页面数据的运行状态符合第一预设条件时,获取内存页面数据对应的表示交换设备中存储空间位置的第一偏移地址,其中交换设备与内存相关联。第一预设条件可以根据需要设定,如当内存页面数据使用时的一个或多个运行数值达到一范围时便认为该运行状态符合第一预设条件,例如当第一内存页面数据长时间没有被使用,且该持续时间达到了预设时间,则可以认为内存页面数据的运行状态符合第一预设条件。否则继续监测内存中的内存页面数据。第一偏移地址能够表示交换设备中存储空间位置,也就是说根据第一偏移地址能够找到该地址对应的交换设备中的数据存储空间,当然也可以对找到的数据空间进行操作,如在该数据空间上存储数据,或调用该数据空间中的已存储数据等。需要注意的是,本实施例中,第一偏移地址的使用可以使交换设备不再利用数据块的方式来进行数据处理,从而使系统的内核不再使用块设备层,进而能够克服使用块设备层带来的读写数据性能较低或者读写数据延迟的缺点。
写入模块配置为根据第一偏移地址,将符合第一预设条件的内存页面数据,拷贝至交换设备中第一偏移地址对应的页面存储空间中。交换设备中设置有多个页面存储空间,如可以设置与内存中内存页面数据(内存页面)数量相同的页面存储空间一方便存储,不同的页面存储空间具有不同的偏移地址,当然第一偏移地址在交换设备中也对应有页面存储空间(如第一页面存储空间),写入模块将符合第一预设条件的内存内面数据拷贝至第一偏移地址对应的第一页面存储空间中,这样在写入(存放)该内存页面数据时可以不再利用数据块的方式来进行数据写入(存放),而是直接通过第一偏移地址寻找到对应的页面存储空间,提高了数据写入的效率,降低了延迟时间。当然在读取模块读取该内存页面数据时也可以根据第一偏移地址在交换设备中寻找对应的第一页面存储空间,从而获取该内存页面数据,同样无需基于数据块的操作,提高了数据读取效率,降低了延迟时间。
在本申请的一个实施例中,侦测模块进一步配置为侦测内存中对内存页面数据的访问状态,访问状态包括访问时间和/或访问频率。具体来说,侦测模块侦测计算机等电子设备运行时对内存页面数据的访问时间和/或访问频率,并将获取的访问时间和/或访问频率与预先设置的时间和频率进行比对,如果发现当前访问时间与上次访问时间间隔较长,或者访问频率较低,则说明将该内存页面数据暂时存放在交换设备中,以腾出原本占用的内存空间。
在本申请的一个实施例中,处理模块进一步配置为:判断交换设备的设备类型;当设备类型为NVDIMM块设备时,获取NVDIMM块设备中页面数据对应的扇区地址;根据扇区地址计算页面数据对应的第一偏移地址。结合图4具体来说,作为存储设备的交换设备可以为多种类型,如机械式硬盘、固态式硬盘、NVDIMM块设备或者其他可读存储器,不同类型的交换设备中页面存储空间的设置会有不同,而且读写数据的方式也会有所不同。NVDIMM(Nonvolatile Dual Inline Memory Modules),翻译为非易失性内存芯片,可以用来制造内存或其他存储设备(如本申请中的交换设备),具有在完全断电的情况下依然保存完整数据的特点,原本NVDIMM块设备是基于数据块来进行数据的操作的存储设备,但是在本实施例中处理模块并不基于数据块来进行数据的操作,而是要获取NVDIMM块设备中页面数据对应的扇区地址,并根据扇区地址获取第一偏移地址,从而不必使用系统的内核中的块设备层,进而能够克服使用块设备层带来的读写数据性能较低或者读写数据延迟的缺点。扇区地址是基于数据块的概念来设置的地址,如交换设备中页面存储空间对应了不同的扇区地址,如第一页面存储空间的扇区地址是0-7,第二页面存储空间的扇区地址是8-15,第三页面存储空间的扇区地址是16-23等等,在本实施例中处理模块需要将这些扇区地址转化为第一偏移地址,第一偏移地址是交换设备分段后,在段内某一地址相对于段首地址(段地址)的偏移量,从而避免了使用数据块的方式对数据进行处理,在此基于扇区地址计算第一偏移地址,如扇区地址0-7,扇区地址8-15,扇区地址16-23经过计算后得到的第一偏移地址分别为0,4K,8K。从而在寻找页面存储空间时可以直接根据0,4K,8K(也为偏移量)来寻找第一页面存储空间,第二页面存储空间,第三页面存储空间等,从而有效提高了读写速度。
在本申请的一个实施例中,该装置还包括设置模块,设置模块配置为根据内存页面数据存储在内存中时所具有的第二偏移地址设置第一偏移地址,以使第一偏移地址在形式上与第二偏移地址相对应。内存页面数据在内存中对应有第二偏移地址,如第一内存页面数据在内存中时其对应的第二偏移地址是0,第二内存页面数据在内存中时其对应的第二偏移地址是4K,第三内存页面数据在内存中时其对应的第二偏移地址是8K等等,设置模块根据第二偏移地址再设置交换设备中的第一偏移地址,如第一偏移地址的偏移量设置成与第二偏移地址的偏移量相同,即将交换设备中的第一页面存储空间的第一偏移地址设置为0,将交换设备中的第二页面存储空间的第一偏移地址设置为4K,将交换设备中的第三页面存储空间的第一偏移地址设置为8K等等。这样能够便于查找第一偏移地址(均是利用了偏移地址),便于将原本存储在内存中的内存页面数据快速准确的在交换设备中找到相对应的页面存储空间,如图4所示,将第二偏移地址为0的第一内存页面数据快速的写入到第一偏移地址为4K的第二页面存储空间中。
本申请实施例还公开了一种电子设备,该电子设备可以为计算机等智能设备,包括存储器和处理器,存储器中存储有可执行程序,处理器执行可执行程序以进行如下步骤,如图1所示,:
S1,侦测内存中多个内存页面数据的运行状态。计算机等电子设备的操作系统可以以内存页面数据为单位来管理内存中的数据,也可以将内存页面数据作为内存的最小数据分配单元使用等。内存页面数据的大小对系统性能有影响,需要先对内存页面数据的大小进行设置,使其适应于相应的硬件和软件。计算机等电子设备运行时需要使用内存调用内存中的内存页面数据,在此过程中侦测内存页面数据的运行状态,该运行状态包括了对内存页面数据的在内存的写入写出状态,如使用的间隔时间、使用的频率等信息。
S2,当内存页面数据的运行状态符合第一预设条件时,获取内存页面数据对应的表示交换设备中存储空间位置的第一偏移地址,其中交换设备与内存相关联。第一预设条件可以根据需要设定,如当内存页面数据使用时的一个或多个运行数值达到一范围时便认为该运行状态符合第一预设条件,例如当第一内存页面数据长时间没有被使用,且该持续时间达到了预设时间,则可以认为内存页面数据的运行状态符合第一预设条件。否则继续监测内存中的内存页面数据。第一偏移地址能够表示交换设备中存储空间位置,也就是说根据第一偏移地址能够找到该地址对应的交换设备中的数据存储空间,当然也可以对找到的数据空间进行操作,如在该数据空间上存储数据,或调用该数据空间中的已存储数据等。需要注意的是,本实施例中,第一偏移地址的使用可以使交换设备不再利用数据块的方式来进行数据处理,从而使系统的内核不再使用块设备层,进而能够克服使用块设备层带来的读写数据性能较低或者读写数据延迟的缺点。
S3,根据第一偏移地址,将符合第一预设条件的内存页面数据,拷贝至交换设备中第一偏移地址对应的页面存储空间中。交换设备中设置有多个页面存储空间,如可以设置与内存中内存页面数据(内存页面)数量相同的页面存储空间一方便存储,不同的页面存储空间具有不同的偏移地址,当然第一偏移地址在交换设备中也对应有页面存储空间(如第一页面存储空间),将符合第一预设条件的内存内面数据拷贝至第一偏移地址对应的第一页面存储空间中,这样在写入(存放)该内存页面数据时可以不再利用数据块的方式来进行数据写入(存放),而是直接通过第一偏移地址寻找到对应的页面存储空间,提高了数据写入的效率,降低了延迟时间。当然在读取该内存页面数据时也可以根据第一偏移地址在交换设备中寻找对应的第一页面存储空间,从而获取该内存页面数据,同样无需基于数据块的操作,提高了数据读取效率,降低了延迟时间。
以上实施例仅为本发明的示例性实施例,不用于限制本发明,本发明的保护范围由权利要求书限定。本领域技术人员可以在本发明的实质和保护范围内,对本发明做出各种修改或等同替换,这种修改或等同替换也应视为落在本发明的保护范围内。

Claims (10)

1.一种内存数据处理方法,包括:
侦测内存中多个内存页面数据的运行状态;
当所述内存页面数据的运行状态符合第一预设条件时,获取所述内存页面数据对应的表示交换设备中存储空间位置的第一偏移地址,其中所述交换设备与所述内存相关联;
根据所述第一偏移地址,将符合所述第一预设条件的内存页面数据,拷贝至所述交换设备中所述第一偏移地址对应的页面存储空间中。
2.根据权利要求1所述的方法,所述的侦测内存中多个内存页面数据的运行状态包括:
侦测内存中对所述内存页面数据的访问状态,所述访问状态包括访问时间和/或访问频率。
3.根据权利要求1所述的方法,所述的获取所述内存页面数据对应的表示交换设备中存储空间位置的第一偏移地址包括:
判断所述交换设备的设备类型;
当所述设备类型为NVDIMM块设备时,获取所述NVDIMM块设备中所述页面数据对应的扇区地址;
根据所述扇区地址计算所述页面数据对应的所述第一偏移地址。
4.根据权利要求1所述的方法,所述方法还包括:根据所述内存页面数据存储在所述内存中时所具有的第二偏移地址设置所述第一偏移地址,以使所述第一偏移地址在形式上与所述第二偏移地址相对应。
5.根据权利要求1所述的方法,当所述交换设备为NVDIMM块设备时,所述方法还包括:根据所述内存页面数据在所述内存中的存储形式,预先设置所述NVDIMM块设备中的页面存储空间,以使所述页面存储空间与所述内存页面数据相对应。
6.一种内存数据处理装置,包括侦测模块、处理模块和写入模块;
所述侦测模块配置为侦测内存中多个内存页面数据的运行状态;
所述处理模块配置为当所述内存页面数据的运行状态符合第一预设条件时,获取所述内存页面数据对应的表示交换设备中存储空间位置的第一偏移地址,其中所述交换设备与所述内存相关联;
所述写入模块配置为根据所述第一偏移地址,将符合所述第一预设条件的内存页面数据,拷贝至所述交换设备中所述第一偏移地址对应的页面存储空间中。
7.根据权利要求6所述的装置,所述侦测模块进一步配置为侦测内存中对所述内存页面数据的访问状态,所述访问状态包括访问时间和/或访问频率。
8.根据权利要求6所述的装置,所述处理模块进一步配置为:判断所述交换设备的设备类型;当所述设备类型为NVDIMM块设备时,获取所述NVDIMM块设备中所述页面数据对应的扇区地址;根据所述扇区地址计算所述页面数据对应的所述第一偏移地址。
9.根据权利要求6所述的装置,所述装置还包括设置模块,所述设置模块配置为根据所述内存页面数据存储在所述内存中时所具有的第二偏移地址设置所述第一偏移地址,以使所述第一偏移地址在形式上与所述第二偏移地址相对应。
10.一种电子设备,包括存储器和处理器,所述存储器中存储有可执行程序,所述处理器执行所述可执行程序以进行如下步骤:
侦测内存中多个内存页面数据的运行状态;
当所述内存页面数据的运行状态符合第一预设条件时,获取所述内存页面数据对应的表示交换设备中存储空间位置的第一偏移地址,其中所述交换设备与所述内存相关联;
根据所述第一偏移地址,将符合所述第一预设条件的内存页面数据,拷贝至所述交换设备中所述第一偏移地址对应的页面存储空间中。
CN201810661616.1A 2018-06-25 2018-06-25 一种内存数据处理方法、装置和电子设备 Active CN108845959B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810661616.1A CN108845959B (zh) 2018-06-25 2018-06-25 一种内存数据处理方法、装置和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810661616.1A CN108845959B (zh) 2018-06-25 2018-06-25 一种内存数据处理方法、装置和电子设备

Publications (2)

Publication Number Publication Date
CN108845959A true CN108845959A (zh) 2018-11-20
CN108845959B CN108845959B (zh) 2023-06-23

Family

ID=64202583

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810661616.1A Active CN108845959B (zh) 2018-06-25 2018-06-25 一种内存数据处理方法、装置和电子设备

Country Status (1)

Country Link
CN (1) CN108845959B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110888821A (zh) * 2019-09-30 2020-03-17 华为技术有限公司 一种内存管理方法及装置

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5963983A (en) * 1996-04-15 1999-10-05 International Business Machines Corporation Method and apparatus for dynamically creating conversion tables to access a semiconductor memory device
JP2001350665A (ja) * 2000-06-06 2001-12-21 Hitachi Ltd ブロックアラインメント機能付き半導体記憶装置
US20070143567A1 (en) * 2005-12-21 2007-06-21 Gorobets Sergey A Methods for data alignment in non-volatile memories with a directly mapped file storage system
CN101441596A (zh) * 2007-11-21 2009-05-27 深圳市朗科科技股份有限公司 提高闪存介质读写速度的方法
CN102841819A (zh) * 2011-06-20 2012-12-26 富泰华工业(深圳)有限公司 电子装置及其防止数据丢失的方法
CN103092534A (zh) * 2013-02-04 2013-05-08 中国科学院微电子研究所 一种内存结构的调度方法和装置
CN103176752A (zh) * 2012-07-02 2013-06-26 晶天电子(深圳)有限公司 带有耐用转换层及临时文件转移功能从而实现闪速存储器磨损降低的超耐用固态驱动器
CN105183392A (zh) * 2015-09-18 2015-12-23 广州日滨科技发展有限公司 一种定长数据在flash的存储方法
CN105283855A (zh) * 2014-04-25 2016-01-27 华为技术有限公司 一种寻址方法及装置
CN105786721A (zh) * 2014-12-25 2016-07-20 研祥智能科技股份有限公司 一种内存地址映射管理方法及处理器
TW201635168A (zh) * 2015-03-27 2016-10-01 宏碁股份有限公司 電子裝置及其資料暫存方法
CN106528441A (zh) * 2016-10-26 2017-03-22 珠海格力电器股份有限公司 仿真eeprom的数据处理方法、装置及电子设备

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5963983A (en) * 1996-04-15 1999-10-05 International Business Machines Corporation Method and apparatus for dynamically creating conversion tables to access a semiconductor memory device
JP2001350665A (ja) * 2000-06-06 2001-12-21 Hitachi Ltd ブロックアラインメント機能付き半導体記憶装置
US20070143567A1 (en) * 2005-12-21 2007-06-21 Gorobets Sergey A Methods for data alignment in non-volatile memories with a directly mapped file storage system
CN101441596A (zh) * 2007-11-21 2009-05-27 深圳市朗科科技股份有限公司 提高闪存介质读写速度的方法
CN102841819A (zh) * 2011-06-20 2012-12-26 富泰华工业(深圳)有限公司 电子装置及其防止数据丢失的方法
CN103176752A (zh) * 2012-07-02 2013-06-26 晶天电子(深圳)有限公司 带有耐用转换层及临时文件转移功能从而实现闪速存储器磨损降低的超耐用固态驱动器
CN103092534A (zh) * 2013-02-04 2013-05-08 中国科学院微电子研究所 一种内存结构的调度方法和装置
CN105283855A (zh) * 2014-04-25 2016-01-27 华为技术有限公司 一种寻址方法及装置
CN105786721A (zh) * 2014-12-25 2016-07-20 研祥智能科技股份有限公司 一种内存地址映射管理方法及处理器
TW201635168A (zh) * 2015-03-27 2016-10-01 宏碁股份有限公司 電子裝置及其資料暫存方法
CN105183392A (zh) * 2015-09-18 2015-12-23 广州日滨科技发展有限公司 一种定长数据在flash的存储方法
CN106528441A (zh) * 2016-10-26 2017-03-22 珠海格力电器股份有限公司 仿真eeprom的数据处理方法、装置及电子设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
王青山: "一种灵活的FLASH MEMORY数据管理方案设计", 信息安全与技术 *
程建华;袁永平;: "多通道温度自动测量存储系统的设计与实现", 传感器与微系统 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110888821A (zh) * 2019-09-30 2020-03-17 华为技术有限公司 一种内存管理方法及装置
CN110888821B (zh) * 2019-09-30 2023-10-20 华为技术有限公司 一种内存管理方法及装置

Also Published As

Publication number Publication date
CN108845959B (zh) 2023-06-23

Similar Documents

Publication Publication Date Title
US7613870B2 (en) Efficient memory usage in systems including volatile and high-density memories
US8650379B2 (en) Data processing method for nonvolatile memory system
US8375191B2 (en) Non-volatile memory, page dynamic allocation apparatus and page mapping apparatus therefor, and page dynamic allocation method and page mapping method therefor
US7970806B2 (en) Methods and apparatus for file management using partitioned file metadata
RU2661280C2 (ru) Контроллер массива, твердотельный диск и способ для управления твердотельным диском для записи данных
US8423709B2 (en) Controller
EP2665065A2 (en) Electronic device employing flash memory
US20080016267A1 (en) Memory controller, flash memory system having memory controller, and method for controlling flash memory
CN101645043B (zh) 写数据的方法、读数据的方法及存储设备
KR20150095781A (ko) 메모리 리클레임 방법 및 장치
KR20130079007A (ko) 저장 장치의 데이터 관리 방법
CN114356248B (zh) 一种数据处理方法和装置
US9600209B2 (en) Flash storage devices and methods for organizing address mapping tables in flash storage devices
US20110320689A1 (en) Data Storage Devices and Data Management Methods for Processing Mapping Tables
JP2007220107A (ja) 不揮発性メモリのマッピング情報管理装置及び方法
JP2005222534A (ja) フラッシュメモリのデータ管理装置及び方法
US20060206668A1 (en) Data processing system and data decompression method
CN102867046B (zh) 基于固态硬盘的数据库优化方法及系统
CN104077241A (zh) 缓存淘汰算法切换处理方法及装置
CN108268391B (zh) 半导体系统及其控制方法
AU2015203828B2 (en) Implementing enhanced performance with read before write to phase change memory to avoid write cancellations
KR102321346B1 (ko) 대용량 ssd 장치를 위한 데이터 저널링 방법
CN108845959A (zh) 一种内存数据处理方法、装置和电子设备
CN111324289B (zh) 一种存储器
JP4703753B2 (ja) 情報処理装置、半導体記憶装置、及びプログラム

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