CN113031868A - 一种存储器的控制方法及装置 - Google Patents
一种存储器的控制方法及装置 Download PDFInfo
- Publication number
- CN113031868A CN113031868A CN202110316842.8A CN202110316842A CN113031868A CN 113031868 A CN113031868 A CN 113031868A CN 202110316842 A CN202110316842 A CN 202110316842A CN 113031868 A CN113031868 A CN 113031868A
- Authority
- CN
- China
- Prior art keywords
- storage area
- memory
- state
- data
- task
- 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
Links
Images
Classifications
-
- 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
-
- 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/0625—Power saving in storage systems
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- 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/0653—Monitoring storage devices or systems
-
- 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]
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请公开了一种存储器的控制方法及装置,用以提升存储器的存储速度。所述存储器具有第一存储区域和第二存储区域,所述第一存储区域的存储速度快于所述第二存储区域,所述方法包括:在设备即将从第一状态进入第二状态的情况下,建立所述存储器与设备内引导系统的连接,其中,所述第二状态的功耗低于第一状态,所述引导系统用于引导所述设备操作系统的启动;基于所述引导系统将所述第一存储区域的数据迁移到第二存储区域中。采用本申请所提供的方案,减少由于存储速度最快的存储区域写满而导致存储器存储速度变慢的情况出现,提升了存储器的存储速度。
Description
技术领域
本申请涉及计算机领域,特别涉及一种存储器的控制方法及装置。
背景技术
在存储区域内设置不同存储速度的存储区域成为存储器领域的一种发展趋势,例如SSD(Solid State Drive,固态硬盘),是一种被动的设备,会有SLC(Single-Level Cell,单层式存储器)、MLC(Multi-Level Cell,双层式存储器)和TLC(Trinary-Level Cell,三层式存储器)等不同的存储区域设计,不同存储区域的存储速度不同,由于各个存储区域的存储空间有限,尤其是存储速度最快的SLC,其存储空间更加宝贵,而类似SSD这样的存储器,后台清除任务要在其处于空闲状态执行。
现有技术中,为了降低整机功耗,操作系统在没任务时会让存储器进入低功耗模式,从而导致留给存储器做后台清除任务的时间非常有限,只能小部分分批完成。因此,亟需提供一种方案,用以触发存储器的后台清除任务,用以释放存储区域的存储空间,进而减少由于存储速度最快的存储区域写满而导致存储器存储速度变慢的情况出现,提升存储器的存储速度。
发明内容
本申请实施例的目的在于提供一种存储器的控制方法及装置,用以提升存储器的存储速度。
为了解决上述技术问题,本申请的实施例采用了如下技术方案:一种存储器的控制方法,所述存储器具有第一存储区域和第二存储区域,所述第一存储区域的存储速度快于所述第二存储区域,所述方法包括:
在设备即将从第一状态进入第二状态的情况下,建立所述存储器与设备内引导系统的连接,其中,所述第二状态的功耗低于第一状态,所述引导系统用于引导所述设备操作系统的启动;
基于所述引导系统将所述第一存储区域的数据迁移到第二存储区域中。
本申请的有益效果在于:在设备即将由高功耗状态进入低功耗状态的情况下,通过引导系统接管存储器的控制权,避免存储器跟随设备操作系统进入低功耗模式而导致存储器无法继续进行后台清除任务,从而为存储器预留更多的时间来释放存储空间,减少由于存储速度最快的存储区域写满而导致存储器存储速度变慢的情况出现,提升了存储器的存储速度。
在一个实施例中,通过以下方式建立所述存储器与设备内引导系统的连接:
所述引导系统提供特定接口给所述存储器;
所述存储器基于所述特定接口与所述引导系统建立连接,以使所述引导系统得到对所述存储器的控制权。
在一个实施例中,所述基于所述引导系统将所述第一存储区域的数据迁移到第二存储区域中,包括:
基于所述引导系统向所述存储器发送存储空间清除指令;
生成与所述清除指令对应的目标任务;
将所述目标任务发送给所述存储器,以使所述存储器基于所述目标任务将所述第一存储区域将数据迁移到第二存储区域中。
在一个实施例中,生成与所述清除指令对应的目标任务,还包括:
判断所述存储器是否正在执行系统任务;
在所述存储器正在执行系统任务的情况下,将所述存储器正在执行的系统任务和所述目标任务进行排序。
在一个实施例中,将所述存储器正在执行的系统任务和对所述目标任务进行排序,包括:
确定所述系统任务和所述目标任务的优先级;
根据所述优先级对所述系统任务和所述目标任务进行排序。
在一个实施例中,所述方法还包括:
在设备运行参数用于表征第一存储区域的存储空间小于预设值的情况下,判断设备是否处于第一状态;
在设备处于第一状态的情况下,根据操作系统将所述第一存储区域的数据迁移到第二存储区域;
在设备处于第二状态的情况下,根据引导系统将所述第一存储区域的数据迁移到第二存储区域。
在一个实施例中,所述方法还包括:
在设备运行参数用于表征操作系统接收到的写指令任务数量大于第一特定值和/或写指令任务对应的数据总量大于第二特定值的情况下,根据所述操作系统对所述第一存储区域进行存储空间清除操作。
在一个实施例中,所述方法还包括:
监测所述第一存储区域所存储的数据总量;
在所述第一存储区域所存储的数据总量达到第三特定值的情况下,根据操作系统或引导系统将所述第一存储区域的数据迁移到第二存储区域。
在一个实施例中,在将所述第一存储区域的数据迁移到第二存储区域之后,还包括:
对所述第一存储区域进行擦除操作。
本申请还提供一种存储器的控制装置,包括:
建立模块,用于在设备即将从第一状态进入第二状态的情况下,建立所述存储器与设备内引导系统的连接,其中,所述第二状态的功耗低于第一状态,所述引导系统用于引导所述设备操作系统的启动;
迁移模块,用于基于所述引导系统将所述第一存储区域的数据迁移到第二存储区域中。
在一个实施例中,通过以下方式建立所述存储器与设备内引导系统的连接:
所述引导系统提供特定接口给所述存储器;
所述存储器基于所述特定接口与所述引导系统建立连接,以使所述引导系统得到对所述存储器的控制权。
在一个实施例中,所述迁移模块,包括:
第一发送子模块,用于基于所述引导系统向所述存储器发送存储空间清除指令;
生成子模块,用于生成与所述清除指令对应的目标任务;
第二发送子模块,用于将所述目标任务发送给所述存储器,以使所述存储器基于所述目标任务将所述第一存储区域将数据迁移到第二存储区域中。
在一个实施例中,生成子模块还用于:
判断所述存储器是否正在执行系统任务;
在所述存储器正在执行系统任务的情况下,将所述存储器正在执行的系统任务和所述目标任务进行排序。
在一个实施例中,将所述存储器正在执行的系统任务和对所述目标任务进行排序,包括:
确定所述系统任务和所述目标任务的优先级;
根据所述优先级对所述系统任务和所述目标任务进行排序。
在一个实施例中,所述装置还包括:
判断模块,用于在设备运行参数用于表征第一存储区域的存储空间小于预设值的情况下,判断设备是否处于第一状态;
第一数据迁移模块,用于在设备处于第一状态的情况下,根据操作系统将所述第一存储区域的数据迁移到第二存储区域;
第二数据迁移模块,用于在设备处于第二状态的情况下,根据引导系统将所述第一存储区域的数据迁移到第二存储区域。
在一个实施例中,所述装置还包括:
清除子模块,用于在设备运行参数用于表征操作系统接收到的写指令任务数量大于第一特定值和/或写指令任务对应的数据总量大于第二特定值的情况下,根据所述操作系统对所述第一存储区域进行存储空间清除操作。
在一个实施例中,所述装置还包括:
监测模块,用于监测所述第一存储区域所存储的数据总量;
第三数据迁移模块,用于在所述第一存储区域所存储的数据总量达到第三特定值的情况下,根据操作系统或引导系统将所述第一存储区域的数据迁移到第二存储区域。
在一个实施例中,所述装置还包括:
擦除模块,用于在将所述第一存储区域的数据迁移到第二存储区域之后,对所述第一存储区域进行擦除操作。
附图说明
图1为本申请一实施例中一种存储器的控制方法的流程图;
图2为本申请另一实施例中一种存储器的控制方法的流程图;
图3为本申请又一实施例中一种存储器的控制方法的流程图;
图4为本申请一实施例中对第一存储区域进行清除的流程示意图;
图5为本申请实施例的一种存储器的控制装置的框图。
具体实施方式
此处参考附图描述本申请的各种方案以及特征。
应理解的是,可以对此处申请的实施例做出各种修改。因此,上述说明书不应该视为限制,而仅是作为实施例的范例。本领域的技术人员将想到在本申请的范围和精神内的其他修改。
包含在说明书中并构成说明书的一部分的附图示出了本申请的实施例,并且与上面给出的对本申请的大致描述以及下面给出的对实施例的详细描述一起用于解释本申请的原理。
通过下面参照附图对给定为非限制性实例的实施例的优选形式的描述,本申请的这些和其它特性将会变得显而易见。
还应当理解,尽管已经参照一些具体实例对本申请进行了描述,但本领域技术人员能够确定地实现本申请的很多其它等效形式。
当结合附图时,鉴于以下详细说明,本申请的上述和其他方面、特征和优势将变得更为显而易见。
此后参照附图描述本申请的具体实施例;然而,应当理解,所申请的实施例仅仅是本申请的实例,其可采用多种方式实施。熟知和/或重复的功能和结构并未详细描述以避免不必要或多余的细节使得本申请模糊不清。因此,本文所申请的具体的结构性和功能性细节并非意在限定,而是仅仅作为权利要求的基础和代表性基础用于教导本领域技术人员以实质上任意合适的详细结构多样地使用本申请。
本说明书可使用词组“在一种实施例中”、“在另一个实施例中”、“在又一实施例中”或“在其他实施例中”,其均可指代根据本申请的相同或不同实施例中的一个或多个。
图1为本申请实施例的一种存储器的控制方法的流程图,存储器具有第一存储区域和第二存储区域,第一存储区域的存储速度快于第二存储区域,该方法包括以下步骤S11-S12:
在步骤S11中,在设备即将从第一状态进入第二状态的情况下,建立存储器与设备内引导系统的连接,其中,第二状态的功耗低于第一状态,引导系统用于引导设备操作系统的启动;
在步骤S12中,基于引导系统将第一存储区域的数据迁移到第二存储区域中。
本实施例中,在设备即将从第一状态进入第二状态的情况下,建立存储器与设备内引导系统的连接,其中,第二状态的功耗低于第一状态,引导系统用于引导设备操作系统的启动;
具体的,设备可以是诸如笔记本电脑、台式电脑等安装有存储器的设备,存储器可以是如固态硬盘这类可以设置多个存储速度不同的存储区域的存储设备。第一状态可以是指设备的正常工作状态,而第二状态可以是指设备的休眠状态,即设备操作系统的休眠状态。而设备内引导系统是用于引导设备操作系统启动的系统,例如,该引导系统可以是BIOS系统(Basic Input Output System,基本输入输出系统)。
设备从正常工作状态进入休眠状态、睡眠状态等低功耗状态是指设备的操作系统从正常工作状态进入低功耗状态,在设备的操作系统从正常工作状态进入休眠状态之前,会通知设备。由于设备在进入低功耗之后,存储器也会进入低功耗状态,如果存储器也进入低功耗状态,则无法建立与引导系统的连接,因此,需要在设备接收到操作系统即将进入低功耗状态的通知之后,设备进入低功耗之前,建立存储器与引导系统之间的连接。
本实施例中,可以通过以下方式建立存储器与设备内引导系统的连接:引导系统提供特定接口给存储器;存储器基于特定接口与引导系统建立连接,以使引导系统得到对存储器的控制权。具体的,当引导系统提供MOF(Microsoft Operations Framework)接口给存储器,存储器基于该MOF接口与引导系统建立连接,使得引导系统得到存储器的控制前,引导系统可以通过ACPI(Advanced Configuration and Power Interface)接口向存储器发送控制命令,从而完成对存储器的控制。具体的,在引导系统向存储器发送存储空间清除指令后,生成与清除指令对应的目标任务;将目标任务发送给存储器,以使存储器基于目标任务将第一存储区域将数据迁移到第二存储区域中。
生成与清除指令对应的目标任务的完整步骤为:判断存储器是否正在执行系统任务;在存储器正在执行系统任务的情况下,将存储器正在执行的系统任务和目标任务进行排序。即需要将目标任务与存储器正在执行的系统任务进行排序之后才认为该生成与清除指令对应的目标任务完成。
在将目标任务与存储器正在执行的系统任务进行排序时,基于任务的优先级进行排序,具体的,确定系统任务和目标任务的优先级;根据优先级对系统任务和目标任务进行排序。可以结合实际的使用场景设置系统任务和目标任务的优先级,例如,基于前台运行的进程判断用户处于工作状态,那么,当存在文档数据的写入任务时,则可以赋予该文档数据的写入任务高于目标任务的优先级。又例如,基于前台运行的进程判断用户处于游戏状态,那么,当存在游戏应用运行日志的写入任务时,则可以赋予该游戏应用运行日志的写入任务高于目标任务的优先级。基于前台运行的进程判断当前设备处于未使用状态,那么,可以认为存储器正在进行的系统任务的优先级低于目标任务。
前面介绍了在设备即将进入低功耗状态时引导系统接管存储器控制权对存储器进行清除操作的方案,而除了设备即将进入低功耗状态时的情况之外,在一些其他状态下,也可能触发对存储器进行清除的操作,例如,在第一存储区域的存储空间过小的情况下,或者在操作系统接收到的写指令任务数量较大的情况下,或者写任务对应的数据总量较大的情况下,也会触发对存储器进行清除的操作,具体如下:
在设备运行参数用于表征第一存储区域的存储空间小于预设值的情况下,判断设备是否处于第一状态;在设备处于第一状态的情况下,根据操作系统将第一存储区域的数据迁移到第二存储区域;在设备处于第二状态的情况下,根据引导系统将第一存储区域的数据迁移到第二存储区域。例如,预先设置第一存储区域的存储空间不得低于总量的20%,可以理解的是,这里的存储空间是指第一存储区域的剩余存储空间。可以查看设备的运行参数,当设备的运行参数表征第一存储区域的存储空间小于20%的情况下,判断设备是否处于第一状态,如果设备处于第一状态,即正常工作状态,则根据操作系统将第一存储区域的数据迁移到第二存储区域,在设备处于第二状态,即休眠或睡眠状态的情况下,根据引导系统将第一存储区域的数据迁移到第二存储区域。
在设备运行参数用于表征操作系统接收到的写指令任务数量大于第一特定值和/或写指令任务对应的数据总量大于第二特定值的情况下,根据操作系统对第一存储区域进行存储空间清除操作。例如,设备运行参数表征操作系统接收到的写指令任务数量大于10条时,则存储器剩余存储空间可能无法满足写指令要求,或者可以统计所有写指令任务对应的数据总量,如果写指令任务对应的数据总量大于100M,则存储器剩余存储空间可能无法满足写指令要求。在存储器可能无法满足写指令要求的情况下,根据操作系统对第一存储区域进行存储空间清除操作。需要说明的是,设备运行参数用于表征操作系统接收到的写指令任务数量大于第一特定值和/或写指令任务对应的数据总量大于第二特定值的情况通常是发生在操作系统正常工作的情况下,所以操作系统对第一存储区域进行存储空间清除操作。
另外,在第一存储区域所存储的数据总量达到第三特定值的情况下,也可以操作系统或引导系统将第一存储区域的数据迁移到第二存储区域。
有些存储器中的存储区域在进行数据迁移之后,需要进行擦除操作,否则无法写入,因此,针对这样的存储器,在通过上述任意情况将第一存储区域的数据迁移到第二存储区域之后,都可以对第一存储区域进行擦除操作。
本申请的有益效果在于:在设备即将由高功耗状态进入低功耗状态的情况下,通过引导系统接管存储器的控制权,避免存储器跟随设备操作系统进入低功耗模式而导致存储器无法继续进行后台清除任务,从而为存储器预留更多的时间来释放存储空间,减少由于存储速度最快的存储区域写满而导致存储器存储速度变慢的情况出现,提升了存储器的存储速度。
在一个实施例中,通过以下步骤A1-A2建立存储器与设备内引导系统的连接:
在步骤A1中,引导系统提供特定接口给存储器;
在步骤A2中,存储器基于特定接口与引导系统建立连接,以使引导系统得到对存储器的控制权。
本实施例中,引导系统提供特定接口给存储器;存储器基于特定接口与引导系统建立连接,以使引导系统得到对存储器的控制权。具体的,当引导系统提供MOF(MicrosoftOperations Framework)接口给存储器,存储器基于该MOF接口与引导系统建立连接,使得引导系统得到存储器的控制前,引导系统可以通过ACPI(Advanced Configuration andPower Interface)接口向存储器发送控制命令,从而完成对存储器的控制。
在一个实施例中,如图2所示,上述步骤S12可被实施为以下步骤S21-S23:
在步骤S21中,基于引导系统向存储器发送存储空间清除指令;
在步骤S22中,生成与清除指令对应的目标任务;
在步骤S23中,将目标任务发送给存储器,以使存储器基于目标任务将第一存储区域将数据迁移到第二存储区域中。
本实施例中,在引导系统与存储器建立连接,且向存储器发送存储空间清除指令后,生成与清除指令对应的目标任务;将目标任务发送给存储器,以使存储器基于目标任务将第一存储区域将数据迁移到第二存储区域中。
在一个实施例中,上述步骤S22可被实施为以下步骤B1-B2:
在步骤B1中,判断存储器是否正在执行系统任务;
在步骤B2中,在存储器正在执行系统任务的情况下,将存储器正在执行的系统任务和目标任务进行排序。
在一个实施例中,上述步骤B2可被实施为以下步骤C1-C2:
在步骤C1中,确定系统任务和目标任务的优先级;
在步骤C2中,根据优先级对系统任务和目标任务进行排序。
需要将目标任务与存储器正在执行的系统任务进行排序之后才认为该生成与清除指令对应的目标任务完成。
在将目标任务与存储器正在执行的系统任务进行排序时,基于任务的优先级进行排序,具体的,确定系统任务和目标任务的优先级;根据优先级对系统任务和目标任务进行排序。可以结合实际的使用场景设置系统任务和目标任务的优先级,例如,基于前台运行的进程判断用户处于工作状态,那么,当存在文档数据的写入任务时,则可以赋予该文档数据的写入任务高于目标任务的优先级。又例如,基于前台运行的进程判断用户处于游戏状态,那么,当存在游戏应用运行日志的写入任务时,则可以赋予该游戏应用运行日志的写入任务高于目标任务的优先级。基于前台运行的进程判断当前设备处于未使用状态,那么,可以认为存储器正在进行的系统任务的优先级低于目标任务。
在一个实施例中,如图3所示,方法还可被实施为以下步骤S31-S32:
在步骤S31中,在设备运行参数用于表征第一存储区域的存储空间小于预设值的情况下,判断设备是否处于第一状态;
在步骤S32中,在设备处于第一状态的情况下,根据操作系统将第一存储区域的数据迁移到第二存储区域;
在步骤S33中,在设备处于第二状态的情况下,根据引导系统将第一存储区域的数据迁移到第二存储区域。
本实施例中,在设备运行参数用于表征第一存储区域的存储空间小于预设值的情况下,判断设备是否处于第一状态;在设备处于第一状态的情况下,根据操作系统将第一存储区域的数据迁移到第二存储区域;在设备处于第二状态的情况下,根据引导系统将第一存储区域的数据迁移到第二存储区域。
距离而言,预先设置第一存储区域的存储空间不得低于总量的20%,可以理解的是,这里的存储空间是指第一存储区域的剩余存储空间。可以查看设备的运行参数,当设备的运行参数表征第一存储区域的存储空间小于20%的情况下,判断设备是否处于第一状态,如果设备处于第一状态,即正常工作状态,则根据操作系统将第一存储区域的数据迁移到第二存储区域,在设备处于第二状态,即休眠或睡眠状态的情况下,根据引导系统将第一存储区域的数据迁移到第二存储区域。
在一个实施例中,方法还可被实施为以下步骤:
在设备运行参数用于表征操作系统接收到的写指令任务数量大于第一特定值和/或写指令任务对应的数据总量大于第二特定值的情况下,根据操作系统对第一存储区域进行存储空间清除操作。
本实施例适用于操作系统处于第一状态(例如,可以是正常工作状态),如图4所示,获取设备的运行参数,然后根据设备运行参数表征操作系统接收到的写指令任务数量大于第一特定值和/或写指令任务对应的数据总量大于第二特定值的情况下,根据操作系统对第一存储区域进行存储空间清除操作。该第二特定值可以预先设定,也可以是是第一存储区域的剩余存储空间,在清除之后,可以触发第一存储区域的擦除机制,对第一存储区域进行擦除操作。擦除之后,生成相应的日志。
可以理解的是,操作系统接收到的写指令任务数量大于第一特定值或写指令任务对应的数据总量大于第二特定值这两个条件只需满足二者之一或者二者都满足的情况下,可以进行存储空间清除操作。图4所公开的情况只是一种示例。
例如,设备运行参数表征操作系统接收到的写指令任务数量大于10条时,则存储器剩余存储空间可能无法满足写指令要求,或者可以统计所有写指令任务对应的数据总量,如果写指令任务对应的数据总量大于100M,则存储器剩余存储空间可能无法满足写指令要求。在存储器可能无法满足写指令要求的情况下,根据操作系统对第一存储区域进行存储空间清除操作。需要说明的是,设备运行参数用于表征操作系统接收到的写指令任务数量大于第一特定值和/或写指令任务对应的数据总量大于第二特定值的情况通常是发生在操作系统正常工作的情况下,所以操作系统对第一存储区域进行存储空间清除操作。
在一个实施例中,方法还可被实施为以下步骤D1-D2:
在步骤D1中,监测第一存储区域所存储的数据总量;
在步骤D2中,在第一存储区域所存储的数据总量达到第三特定值的情况下,根据操作系统或引导系统将第一存储区域的数据迁移到第二存储区域。
在存储器的分区设计中,通常情况下存储速度最快的存储器的存储空间都不会太大,例如固态硬盘中的SLC,其单层式设计,导致同样硬件配置的基础上,其存储能力会更低,因此,如果第一存储区域所存储的数据总量达到第三特定值的情况下,根据操作系统或引导系统将第一存储区域的数据迁移到第二存储区域。该第三特定值可以基于第一存储区域的存储空间总量来设置。
在一个实施例中,在将第一存储区域的数据迁移到第二存储区域之后,方法还可被实施为以下步骤:
对第一存储区域进行擦除操作。
有些存储器中的存储区域在进行数据迁移之后,需要进行擦除操作,否则无法写入,因此,若将本申请所提供的方案应用于这样的存储器上,在通过上述任意实施例将第一存储区域的数据迁移到第二存储区域之后,都可以对第一存储区域进行擦除操作。
图5为本申请实施例的一种存储器的控制装置的框图,存储器具有第一存储区域和第二存储区域,第一存储区域的存储速度快于第二存储区域,该装置包括以下模块:
建立模块51,用于在设备即将从第一状态进入第二状态的情况下,建立存储器与设备内引导系统的连接,其中,第二状态的功耗低于第一状态,引导系统用于引导设备操作系统的启动;
迁移模块52,用于基于引导系统将第一存储区域的数据迁移到第二存储区域中。
在一个实施例中,通过以下方式建立存储器与设备内引导系统的连接:
引导系统提供特定接口给存储器;
存储器基于特定接口与引导系统建立连接,以使引导系统得到对存储器的控制权。
在一个实施例中,迁移模块,包括:
第一发送子模块,用于基于引导系统向存储器发送存储空间清除指令;
生成子模块,用于生成与清除指令对应的目标任务;
第二发送子模块,用于将目标任务发送给存储器,以使存储器基于目标任务将第一存储区域将数据迁移到第二存储区域中。
在一个实施例中,生成子模块还用于:
判断存储器是否正在执行系统任务;
在存储器正在执行系统任务的情况下,将存储器正在执行的系统任务和目标任务进行排序。
在一个实施例中,将存储器正在执行的系统任务和对目标任务进行排序,包括:
确定系统任务和目标任务的优先级;
根据优先级对系统任务和目标任务进行排序。
在一个实施例中,装置还包括:
判断模块,用于在设备运行参数用于表征第一存储区域的存储空间小于预设值的情况下,判断设备是否处于第一状态;
第一数据迁移模块,用于在设备处于第一状态的情况下,根据操作系统将第一存储区域的数据迁移到第二存储区域;
第二数据迁移模块,用于在设备处于第二状态的情况下,根据引导系统将第一存储区域的数据迁移到第二存储区域。
在一个实施例中,装置还包括:
清除子模块,用于在设备运行参数用于表征操作系统接收到的写指令任务数量大于第一特定值和/或写指令任务对应的数据总量大于第二特定值的情况下,根据操作系统对第一存储区域进行存储空间清除操作。
在一个实施例中,装置还包括:
监测模块,用于监测第一存储区域所存储的数据总量;
第三数据迁移模块,用于在第一存储区域所存储的数据总量达到第三特定值的情况下,根据操作系统或引导系统将第一存储区域的数据迁移到第二存储区域。
在一个实施例中,装置还包括:
擦除模块,用于在将第一存储区域的数据迁移到第二存储区域之后,对第一存储区域进行擦除操作。
以上实施例仅为本申请的示例性实施例,不用于限制本申请,本申请的保护范围由权利要求书限定。本领域技术人员可以在本申请的实质和保护范围内,对本申请做出各种修改或等同替换,这种修改或等同替换也应视为落在本申请的保护范围内。
Claims (10)
1.一种存储器的控制方法,所述存储器具有第一存储区域和第二存储区域,所述第一存储区域的存储速度快于所述第二存储区域,所述方法包括:
在设备即将从第一状态进入第二状态的情况下,建立所述存储器与设备内引导系统的连接,其中,所述第二状态的功耗低于第一状态,所述引导系统用于引导所述设备操作系统的启动;
基于所述引导系统将所述第一存储区域的数据迁移到第二存储区域中。
2.如权利要求1所述的方法,通过以下方式建立所述存储器与设备内引导系统的连接:
所述引导系统提供特定接口给所述存储器;
所述存储器基于所述特定接口与所述引导系统建立连接,以使所述引导系统得到对所述存储器的控制权。
3.如权利要求1所述的方法,所述基于所述引导系统将所述第一存储区域的数据迁移到第二存储区域中,包括:
基于所述引导系统向所述存储器发送存储空间清除指令;
生成与所述清除指令对应的目标任务;
将所述目标任务发送给所述存储器,以使所述存储器基于所述目标任务将所述第一存储区域将数据迁移到第二存储区域中。
4.如权利要求1所述的方法,生成与所述清除指令对应的目标任务,还包括:
判断所述存储器是否正在执行系统任务;
在所述存储器正在执行系统任务的情况下,将所述存储器正在执行的系统任务和所述目标任务进行排序。
5.如权利要求4所述的方法,将所述存储器正在执行的系统任务和对所述目标任务进行排序,包括:
确定所述系统任务和所述目标任务的优先级;
根据所述优先级对所述系统任务和所述目标任务进行排序。
6.如权利要求1所述的方法,所述方法还包括:
在设备运行参数用于表征第一存储区域的存储空间小于预设值的情况下,判断设备是否处于第一状态;
在设备处于第一状态的情况下,根据操作系统将所述第一存储区域的数据迁移到第二存储区域;
在设备处于第二状态的情况下,根据引导系统将所述第一存储区域的数据迁移到第二存储区域。
7.如权利要求1所述的方法,所述方法还包括:
在设备运行参数用于表征操作系统接收到的写指令任务数量大于第一特定值和/或写指令任务对应的数据总量大于第二特定值的情况下,根据所述操作系统对所述第一存储区域进行存储空间清除操作。
8.如权利要求1所述的方法,所述方法还包括:
监测所述第一存储区域所存储的数据总量;
在所述第一存储区域所存储的数据总量达到第三特定值的情况下,根据操作系统或引导系统将所述第一存储区域的数据迁移到第二存储区域。
9.如权利要求1-8任意一项所述的方法,在将所述第一存储区域的数据迁移到第二存储区域之后,还包括:
对所述第一存储区域进行擦除操作。
10.一种存储器的控制装置,包括:
建立模块,用于在设备即将从第一状态进入第二状态的情况下,建立所述存储器与设备内引导系统的连接,其中,所述第二状态的功耗低于第一状态,所述引导系统用于引导所述设备操作系统的启动;
迁移模块,用于基于所述引导系统将所述第一存储区域的数据迁移到第二存储区域中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110316842.8A CN113031868B (zh) | 2021-03-24 | 2021-03-24 | 一种存储器的控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110316842.8A CN113031868B (zh) | 2021-03-24 | 2021-03-24 | 一种存储器的控制方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113031868A true CN113031868A (zh) | 2021-06-25 |
CN113031868B CN113031868B (zh) | 2023-07-21 |
Family
ID=76473699
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110316842.8A Active CN113031868B (zh) | 2021-03-24 | 2021-03-24 | 一种存储器的控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113031868B (zh) |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101937376A (zh) * | 2009-06-30 | 2011-01-05 | 联想(北京)有限公司 | 一种数据管理方法及数据存储装置 |
US20110271071A1 (en) * | 2010-04-28 | 2011-11-03 | Hitachi, Ltd. | Storage apparatus and hierarchical data management method for storage apparatus |
CN103389948A (zh) * | 2012-05-10 | 2013-11-13 | 索尼公司 | 存储器管理装置和方法以及电子设备 |
CN104572511A (zh) * | 2013-10-14 | 2015-04-29 | 联想(北京)有限公司 | 具有混合架构的存储装置和计算机系统 |
CN105205015A (zh) * | 2015-09-29 | 2015-12-30 | 联想(北京)有限公司 | 一种数据存储方法及存储设备 |
CN106201912A (zh) * | 2015-05-08 | 2016-12-07 | 华为技术有限公司 | 一种内存访问方法与计算机系统 |
CN107168740A (zh) * | 2017-05-15 | 2017-09-15 | 广东虹勤通讯技术有限公司 | 一种终端及其操作系统的控制方法 |
US10007462B1 (en) * | 2016-03-31 | 2018-06-26 | EMC IP Holding Company LLC | Method and system for adaptive data migration in solid state memory |
CN108804344A (zh) * | 2018-05-18 | 2018-11-13 | 记忆科技(深圳)有限公司 | 带文件系统的闪存存储方法及装置 |
CN110765035A (zh) * | 2018-07-25 | 2020-02-07 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN111142949A (zh) * | 2019-12-26 | 2020-05-12 | 联想(北京)有限公司 | 一种信息处理方法和电子设备 |
CN111309363A (zh) * | 2020-03-07 | 2020-06-19 | 重庆邮电大学 | 基于Contiki操作系统的在线升级方法及装置 |
CN111562880A (zh) * | 2019-02-14 | 2020-08-21 | 英韧科技(上海)有限公司 | 一种数据存储装置、系统及数据写入方法 |
CN111913753A (zh) * | 2020-07-10 | 2020-11-10 | 江苏安超云软件有限公司 | 一种windows系统云迁移中启动方式的变更方法及系统 |
CN112306714A (zh) * | 2020-10-30 | 2021-02-02 | 联想(北京)有限公司 | 控制方法及装置 |
-
2021
- 2021-03-24 CN CN202110316842.8A patent/CN113031868B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101937376A (zh) * | 2009-06-30 | 2011-01-05 | 联想(北京)有限公司 | 一种数据管理方法及数据存储装置 |
US20110271071A1 (en) * | 2010-04-28 | 2011-11-03 | Hitachi, Ltd. | Storage apparatus and hierarchical data management method for storage apparatus |
CN103389948A (zh) * | 2012-05-10 | 2013-11-13 | 索尼公司 | 存储器管理装置和方法以及电子设备 |
CN104572511A (zh) * | 2013-10-14 | 2015-04-29 | 联想(北京)有限公司 | 具有混合架构的存储装置和计算机系统 |
CN106201912A (zh) * | 2015-05-08 | 2016-12-07 | 华为技术有限公司 | 一种内存访问方法与计算机系统 |
CN105205015A (zh) * | 2015-09-29 | 2015-12-30 | 联想(北京)有限公司 | 一种数据存储方法及存储设备 |
US10007462B1 (en) * | 2016-03-31 | 2018-06-26 | EMC IP Holding Company LLC | Method and system for adaptive data migration in solid state memory |
CN107168740A (zh) * | 2017-05-15 | 2017-09-15 | 广东虹勤通讯技术有限公司 | 一种终端及其操作系统的控制方法 |
CN108804344A (zh) * | 2018-05-18 | 2018-11-13 | 记忆科技(深圳)有限公司 | 带文件系统的闪存存储方法及装置 |
CN110765035A (zh) * | 2018-07-25 | 2020-02-07 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN111562880A (zh) * | 2019-02-14 | 2020-08-21 | 英韧科技(上海)有限公司 | 一种数据存储装置、系统及数据写入方法 |
CN111142949A (zh) * | 2019-12-26 | 2020-05-12 | 联想(北京)有限公司 | 一种信息处理方法和电子设备 |
CN111309363A (zh) * | 2020-03-07 | 2020-06-19 | 重庆邮电大学 | 基于Contiki操作系统的在线升级方法及装置 |
CN111913753A (zh) * | 2020-07-10 | 2020-11-10 | 江苏安超云软件有限公司 | 一种windows系统云迁移中启动方式的变更方法及系统 |
CN112306714A (zh) * | 2020-10-30 | 2021-02-02 | 联想(北京)有限公司 | 控制方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113031868B (zh) | 2023-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11093384B2 (en) | User device including a nonvolatile memory device and a data write method thereof | |
CN110503999B (zh) | 用于管理存储器访问操作的方法和系统 | |
US8671241B2 (en) | Systems and methods for using reserved solid state nonvolatile memory storage capacity for system reduced power state | |
JP5481453B2 (ja) | メモリデバイス | |
US7711918B2 (en) | Apparatus and method for operating flash memory according to priority order | |
US10241701B2 (en) | Solid state memory system with power management mechanism and method of operation thereof | |
KR101505395B1 (ko) | 플래시 메모리 시스템에서 페이징된 가비지 수집과 하우스 키핑 동작 | |
CN102375788A (zh) | 为具有非易失性存储器的系统动态地分配功率预算的方法及装置 | |
US8914587B2 (en) | Multi-threaded memory operation using block write interruption after a number or threshold of pages have been written in order to service another request | |
US10261918B2 (en) | Process running method and apparatus | |
US11693567B2 (en) | Memory performance optimization method, memory control circuit unit and memory storage device | |
CN111400201B (zh) | 快闪存储器的数据整理方法、存储装置及控制电路单元 | |
CN109491592B (zh) | 存储设备及其数据写入方法、存储装置 | |
US8966212B2 (en) | Memory management method, computer system and computer readable medium | |
JP2021125248A (ja) | コントローラ、コントローラの動作方法及びそれを含む保存装置 | |
JP7443418B2 (ja) | 情報処理装置の製造方法、及び情報処理装置 | |
CN117891410B (zh) | 一种存储器系统及闪存存储器的数据处理方法 | |
KR20230060817A (ko) | 스토리지 장치 및 스토리지 장치의 동작 방법 | |
CN113031868B (zh) | 一种存储器的控制方法及装置 | |
JP2016045563A (ja) | Nandバックグラウンド処理制御装置 | |
EP3745263A1 (en) | Electronic device and method for controlling same | |
US11797228B2 (en) | Efficient handling of background operations for improving sustained performance of host reads and writes | |
US9229798B2 (en) | Error handling method, memory storage device and memory controlling circuit unit | |
CN113345500A (zh) | 用来进行恢复管理的方法及设备 | |
CN112684984A (zh) | 一种控制方法和装置 |
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 |