CN115910170A - 一种固态硬盘的掉电保护方法、装置及存储介质 - Google Patents

一种固态硬盘的掉电保护方法、装置及存储介质 Download PDF

Info

Publication number
CN115910170A
CN115910170A CN202211620936.5A CN202211620936A CN115910170A CN 115910170 A CN115910170 A CN 115910170A CN 202211620936 A CN202211620936 A CN 202211620936A CN 115910170 A CN115910170 A CN 115910170A
Authority
CN
China
Prior art keywords
data
energy storage
power supply
time
solid state
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.)
Pending
Application number
CN202211620936.5A
Other languages
English (en)
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.)
Shenzhen Micrun Innovation Industrial Co ltd
Original Assignee
Shenzhen Micrun Innovation Industrial 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 Shenzhen Micrun Innovation Industrial Co ltd filed Critical Shenzhen Micrun Innovation Industrial Co ltd
Priority to CN202211620936.5A priority Critical patent/CN115910170A/zh
Publication of CN115910170A publication Critical patent/CN115910170A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本申请涉及一种固态硬盘的掉电保护方法、装置及存储介质,其中方法包括:检测固态硬盘所在主机的供电状态;若所述主机为掉电状态,则启动预置的储能电容对所述固态硬盘进行供电,所述储能电容包括若干个;将所述储能电容的供电时间和所述固态硬盘的缓存区数据的写入时间进行对比;若所述供电时间小于所述写入时间,则降低所述储能电容的供电电压以使所述储能电容按照第一阈值供电的供电时间不小于所述写入时间,所述第一阈值为所述固态硬盘的正常工作电压波动范围内的电压值;基于所述第一阈值,将所述固态硬盘的缓存区数据进行写入保存。本申请具有避免掉电后固态硬盘中缓存区数据较多时发生丢失,能够进行正常的写入保存的效果。

Description

一种固态硬盘的掉电保护方法、装置及存储介质
技术领域
本申请涉及电数字数据处理技术领域,具体涉及一种固态硬盘的掉电保护方法、装置及存储介质。
背景技术
随着信息量的***性增长和计算机应用复杂程度的增加,人们对信息存储追求的目标是存储容量大、存储速度快而且价格低廉。常用的磁盘、磁带、光盘等存储***虽然在海量存储信息方面具有许多的优点,但是它们都包含了可以移动的机械部件,这使得记录信息位的密度被限制在机械设备所调节的精度范围内存取时间也只能介于毫秒的范围内。为此需要寻求一种存储技术能够去掉这一移动部件同时提供高的数据读写速度。固态硬盘就成为了一种最佳的选择。
相关技术中,固态硬盘存在缓存区、单层单元(Single-Level Cell,SLC)区和多层单元(Multi-Level Cell,MLC)区。在固态硬盘处于正常供电状态前提下,主机有数据存储到固态硬盘中,会被先存储到固态硬盘的缓存区,然后写入到SLC区和MLC区进行保存。当出现异常掉电情况时,会启动预置的储能装置对固态硬盘进行正常供电,而储能装置供电时间有限,当缓存区数据较多时,导致固态硬盘缓存区数据丢失,从而不能进行正常的写入保存。
发明内容
为了避免固态硬盘中缓存区数据较多时发生丢失,能够进行正常的写入保存,本申请提供一种固态硬盘的掉电保护方法、装置及存储介质。
在本申请的第一方面提供了一种固态硬盘的掉电保护方法,具体包括:
检测固态硬盘所在主机的供电状态;
若所述主机为掉电状态,则启动预置的储能电容对所述固态硬盘进行供电,所述储能电容包括若干个;
将所述储能电容的供电时间和所述固态硬盘的缓存区数据的写入时间进行对比;
若所述供电时间小于所述写入时间,则降低所述储能电容的供电电压以使所述储能电容按照第一阈值供电的供电时间不小于所述写入时间,所述第一阈值为所述固态硬盘的正常工作电压波动范围内的电压值;
基于所述第一阈值,将所述固态硬盘的缓存区数据进行写入保存。
通过采用上述技术方案,确定硬盘所在主机为掉电状态时,开启固态硬盘中预置的储能电容对固态硬盘进行供电,同时判断储能电容储存的电能能否支持缓存区数据全部写入保存,如果供电时间小于写入时间,说明当前缓存区的缓存数据较多,储能电容的供电时间偏低,那么降低储能电容的供电电压至第一阈值,使得能支持固态硬盘正常写入数据的同时还能延长储能容量的供电时间,从而避免在缓存数据较多时丢失,可以正常进行写入保存。
可选的,所述若所述供电时间小于所述写入时间,则降低所述储能电容的供电电压以使所述储能电容按照第一阈值的供电时间不小于所述写入时间,包括:
若所述供电时间小于所述写入时间,则将所述储能电容的接入数量降低至第二阈值,所述第二阈值为若干个储能电容中先接入储能电容的数量,将剩余的所述储能电容作为后接入储能电容;
在所述先接入储能电容供电结束后,启动所述后接入储能电容以使所述储能电容按照第一阈值供电的供电时间不小于所述写入时间,所述先接入储能电容的供电电压和所述后接入储能电容的供电电压均为第一阈值。
通过采用上述技术方案,如果供电时间小于写入时间,则减少储能电容的接入数量,从而降低提供给固态硬盘的供电电压,先接入储能电容的电能消耗较慢。此外供电电压降低至固态硬盘正常工作电压波动范围内的电压值,使得先接入储能电容能支持固态硬盘正常写入。通过第二阈值的设置,先接入储能电容电能消耗完后,后接入储能电容也能提供固态硬盘正常写入的电压,进而实现延长供电时间,保证缓存数据全部写入完成。
可选的,所述若所述供电时间小于所述写入时间,则降低所述储能电容的供电电压以使所述储能电容按照第一阈值的供电时间不小于所述写入时间,包括:
若所述供电时间小于所述写入时间,则维持所述储能电容的接入数量不变以保持正常工作电压不变,并统计所述储能电容的接入数量维持不变的时间值;
若所述时间值超过时间阈值,则将所述储能电容的接入数量降低至第三阈值,所述第三阈值为先接入储能电容的数量,将剩余的所述储能电容作为后接入储能电容;
在所述先接入储能电容供电结束后,启动所述后接入储能电容以使所述储能电容按照第一阈值供电的供电时间不小于所述写入时间,所述先接入储能电容的供电电压和所述后接入储能电容的供电电压均为第一阈值。
通过采用上述技术方案,如果供电时间小于写入时间,则保持原有的储能电容数量不变,固态硬盘在正常工作电压下写入一定时间,从而尽量避免固态硬盘使用寿命降低。当储能电容数量不变的持续时间超过时间阈值,说明储能电容的供电时间剩余较少,则降低储能电容的接入数量,将若干个储能电容分为先接入储能电容和后接入储能电量,降低供电电压延长供电时间的同时,还能使得固态硬盘正常写入。
可选的,所述若所述供电时间小于所述写入时间之前,还包括:
获取所述缓存区数据的原始容量;
将所述原始容量与第四阈值进行对比,得到对比结果,所述第四阈值为所述储能电容支持写入缓存区数据的最大容量;
若对比结果为所述原始容量大于第四阈值,则降低所述时间阈值。
通过采用上述技术方案,当原始容量大于第四阈值,说明缓存区数据的数量较多,在储能电容所存储的电能一定的前提下,降低时间阈值,固态硬盘处于正常工作电压的持续时间减少,储能电容的供电电压提前进行降压,从而使得储能电容的供电时间延长幅度较大。
可选的,基于所述第一阈值,将所述固态硬盘的缓存区数据进行写入保存,包括:
基于所述第一阈值,调整所述缓存区数据的数据识别阈值;
根据所述数据识别阈值,判定所述缓存区数据的数据类型;
根据所述数据类型,将所述缓存区数据写入保存至SLC区或MLC区。
通过采用上述技术方案,根据调整后的数据识别阈值,对写入保存的数据的数据类型进行识别,频繁更新或访问的数据写入保存至拥有快速读写性能和耐久性存储的SLC区,将更新或访问较少的数据写入保存至成本较低及容量大的MLC区,从而使得固态硬盘在性能、寿命和成本上均有较好增益。
可选的,基于第一阈值,调整所述缓存区数据的数据识别阈值,包括:
基于第一阈值,确定所述SLC区的相对磨损速率和所述MLC区的相对磨损速率;
将所述SLC区的相对磨损速率与所述MLC区的相对磨损速率进行对比,若所述SLC区的相对磨损速率大于所述MLC区的相对磨损速率,则减小所述数据识别阈值;
若所述SLC区的相对磨损速率小于所述MLC区的相对磨损速率,则增大所述数据识别阈值;
若所述SLC区的相对磨损速率等于所述MLC区的相对磨损速率,则维持所述数据识别阈值不变。
通过采用上述技术方案,由于缓存区数据的写入量大于数据识别阈值会保存至MLC区,缓存区数据的写入量小于数据识别阈值保存至SLC区。如果SLC区的相对磨损速率小于MLC区的相对磨损速率,说明MLC区磨损较SLC区严重,则增大数据识别阈值,使得更多的缓存区数据被保存至SLC区,缓解MLC区磨损程度;如果SLC区的相对磨损速率大于MLC区的相对磨损速率,说明SLC区磨损较MLC区严重,则减小数据识别阈值,使得更多的缓存区数据被保存至MLC区,缓解SLC区磨损程度,进而延长固态硬盘的使用寿命。
可选的,所述所述SLC区的相对磨损速率用RWs表示,所述MLC区的相对磨损速率用RWm表示,其中,RWs=/,RWm=,式中:
Ns和Nm分别表示SLC闪存块和MLC闪存块的总数量,分别表示SLC闪存块和MLC闪存块的擦除周期,分别表示SLC闪存块和MLC闪存块中每个块的擦除次数。
通过采用上述技术方案,SLC区相对于MLC区的相对磨损速率通过RWs对应的公式计算得到,MLC区相对于SLC区的相对磨损速率通过RWm对应的公式计算得到,从而较为准确反映SLC区和MLC区的磨损程度,进而方便后续根据RWs和RW大小关系确定数据识别阈值的调整策略。
可选的,所述根据所述数据识别阈值,判定所述缓存区数据的数据类型,包括:
将所述缓存区数据的写入量与数据识别阈值对比;
若所述写入量小于数据识别阈值,则确定所述缓存区数据的数据类型为热数据;
若所述写入量大于数据识别阈值,则确定所述缓存区数据的数据类型为冷数据;
所述根据所述数据类型,将所述缓存区数据写入保存至SLC区或MLC区,包括:
若所述缓存区数据的数据类型为热数据,则将所述缓存区数据写入保存至所述SLC区;
若所述缓存区数据的数据类型为冷数据,则将所述缓存区数据写入保存至所述MLC区。
通过采用上述技术方案,如果缓存区数据的写入量小于数据识别阈值,说明此数据的更新频次较高,确定数据类型为热数据,并且将热数据写入保存至SLC区;如果缓存区数据的写入量大于数据识别阈值,说明此数据的更新频次较低,确定数据类型为冷数据,并且将冷数据写入保存至MLC区,从而使得MLC区和SLC区两者实现存储均衡,进而避免固态硬盘的使用寿命降低。
在本申请的第二方面提供了一种固态硬盘的掉电保护装置,具体包括:
供电状态检测模块,用于检测固态硬盘所在主机的供电状态;
掉电供电开启模块,用于若所述主机为掉电状态,则启动预置的储能电容对所述固态硬盘进行供电,所述储能电容包括若干个;
时间对比模块,用于将所述储能电容的供电时间和所述固态硬盘的缓存区数据的写入时间进行对比;
供电时间延长模块,用于若所述供电时间小于所述写入时间,则降低所述储能电容的供电电压以使所述储能电容按照第一阈值供电的供电时间不小于所述写入时间,所述第一阈值为所述固态硬盘的正常工作电压波动范围内的电压值;
数据写入保存模块,用于基于所述第一阈值,将所述固态硬盘的缓存区数据进行写入保存。
通过采用上述技术方案,供电状态检测模块检测固态硬盘的供电状态,供电状态为掉电状态或正常状态,当确定为掉电状态,则掉电供电开启模块启动固态硬盘内的储能电容对固态硬盘进行供电,同时时间对比模块将储能容量的供电时间与缓存区数据所需的写入时间进行对比,如果供电时间小于写入时间,则通过供电时间延长模块降低储能电容的供电电压,最后数据写入保存模块在供电电压为第一阈值情况下,将缓存区数据进行写入保存,使得当出现掉电时缓存区数据较多不易丢失,进行正常的写入保存。
综上所述,本申请包括以下至少一种有益技术效果:
1.确定为硬盘所在主机为掉电状态,则开启固态硬盘中预置的储能电容对固态硬盘进行供电,同时判断储能电容储存的电能能否支持缓存区数据完全部写入保存,如果供电时间小于写入时间,说明当前缓存区的缓存数据较多,储能电容的供电时间偏低,那么降低储能电容的供电电压至第一阈值,使固态硬盘消耗电能速度降低,使得能支持固态硬盘正常写入数据的同时还能延长储能容量的供电时间,从而避免在缓存数据较多时不发生丢失,正常进行写入保存。
附图说明
图1是本申请实施例提供的一种固态硬盘的掉电保护方法的流程示意图;
图2是本申请实施例提供的另一种固态硬盘的掉电保护方法的流程示意图;
图3是本申请实施例提供的又一种固态硬盘的掉电保护方法的流程示意图;
图4是本申请实施例提供的一种固态硬盘的掉电保护装置的结构示意图;
图5是本申请实施例提供的另一种固态硬盘的掉电保护装置的结构示意图。
附图标记说明:11、供电状态检测模块;12、掉电供电开启模块;13、时间对比模块;14、供电时间延长模块;15、数据写入保存模块。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。
在本申请实施例的描述中,“示性的”、“例如”或者“举例来说”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示性的”、“例如”或者“举例来说”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示性的”、“例如”或者“举例来说”等词旨在以具体方式呈现相关概念。
参见图1,本申请实施例公开了一种固态硬盘的掉电保护方法的流程示意图,可依赖于计算机程序实现,也可运行于基于冯诺依曼体系的固态硬盘的掉电保护装置上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行,具体包括:
S101:检测固态硬盘所在主机的供电状态。
具体的,固态硬盘(Solid State Disk,SSD),又称固态驱动器,是用固态电子存储芯片阵列制成的硬盘。固态硬盘的存储介质分为两种,一种是采用闪存(FLASH芯片)作为存储介质,另外一种是采用DRAM作为存储介质。闪存(Flash Memory)为一种长寿命的非易失性的存储器,在断电情况下仍能保持所存储的数据信息。在本申请实施例中,固态硬盘采用闪存作为存储介质,闪存包括SLC区和MLC区。主机为计算机除去输入输出设备以外的主要机体部分。也是用于放置主板及其他主要部件的控制箱体(容器Mainframe)。通常包括CPU、内存、主板、硬盘、光驱、电源、机箱、散热***以及其他输入输出控制器和接口。检测固态硬盘所在主机的供电状态的具体方法为:检测主机的电源电压,判断电源电压是否处在预设范围内,预设范围为电源正常供电的电压波动范围,如果电源电压在预设范围内,则供电状态正常;如果电源电压未在预设范围内,则供电异常处于掉电状态。
S102:若主机为掉电状态,则启动预置的储能电容对所述固态硬盘进行供电,储能电容包括若干个。
具体的,如果确定主机为掉电状态,则开启储能电容进行放电,并且通过降压芯片降压至固态硬盘正常工作电压为固态硬盘供电。储能电容在放电之前,需要通过升压芯片进行升压充电。其中,掉电状态为描述用电设备断电、失电、或电的质量达不到要求而不能正常工作的一种状态。预置的储能电容采用钽电容,钽电容拥有较长的使用寿命,在其他实施例中,储能电容也可采用云母电容或独石电容等。
S103:将储能电容的供电时间和固态硬盘的缓存区数据的写入时间进行对比。
具体的,供电时间为若干个储能电容充电完成后的总的放电时间。写入时间则为出现掉电时固态硬盘缓存区数据写入保存所需的时间。储能电容的供电时间根据计算公式:t=U*C/I,式中,C表示电容量,计算得到预置的储能电容的供电时间。缓存区数据的写入时间可以根据缓存区数据的总容量除以固态硬盘的写入速度,固态硬盘的写入速度可以根据固态硬盘的型号来进行确定,例如,金士顿固态硬盘的写入速度为400MB/S,三星980 PRO固态硬盘的写入速度为5000MB/S。确定供电时间和写入时间后,将供电时间与写入时间进行对比,如果写入时间小于供电时间,缓存区数据全部写入保存的所需的时间小于等于供电时间,说明储能电容的供电时间够用;如果写入时间大于供电时间,说明储能电容的供电时间不够用。
S104:若供电时间小于写入时间,则降低储能电容的供电电压以使储能电容按照第一阈值供电的供电时间不小于写入时间,第一阈值为固态硬盘的正常工作电压波动范围内的电压值。
具体的,如果供电时间小于写入时间,说明当处于掉电状态下,储能电容电能全部释放完后,固态硬盘中的缓存区数据未全部写入保存,不能进行正常的写入保存,存在数据丢失的风险。此时,通过降低储能电容的接入数量,降低储能电容的总容量,根据公式U=Q/C,总容量降低,电容量C不变的情况下,U降低,进而实现降低先接入的储能电容的供电电压的效果,同时降低后的供电电压是处在固态硬盘正常工作电压波动范围内,固态硬盘虽然不是以正常工作电压工作,但是也能支持数据的写入保存。后接入的储能电容同理。固态硬盘消耗电能的公式为:W=UIt=Pt,U下降I恒定时,所消耗的电能降低,从而使得储能电容整体的供电时间得以延长以使其不小于写入时间,进而使得数据不已丢失,能够进行正常写入保存。
S105:基于第一阈值,将固态硬盘的缓存区数据进行写入保存。
具体的,固态硬盘处在第一阈值的工作电压下,将缓存区数据从DRAM芯片中写入保存至闪存,闪存的最小写入单位是Page页,大小为16KB。写入保存时,将DRAM芯片中的缓存区数据累加至16KB后再执行实际向闪存的写入。在本申请实施例中,闪存包括SLC区和MLC区。需要说明的是,因为固态硬盘工作时,对于***要存储到固态硬盘中的数据,需要先进行数据缓冲,可以提高数据的写入速度,最后将缓存区数据写入保存至闪存,进行长时间的数据保存。
参见图2,本申请实施例公开了另一种固态硬盘的掉电保护方法的流程示意图,可依赖于计算机程序实现,也可运行于基于冯诺依曼体系的固态硬盘的掉电保护装置上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行,具体包括:
S201:检测固态硬盘所在主机的供电状态。
S202:若主机为掉电状态,则启动预置的储能电容对固态硬盘进行供电,储能电容包括若干个。
S203:将储能电容的供电时间和固态硬盘的缓存区数据的写入时间进行对比。
具体的,可参考步骤S101-S103,在此不再赘述。
S204:若供电时间小于写入时间,则将储能电容的接入数量降低至第二阈值,第二阈值为若干个储能电容中先接入储能电容的数量,将剩余的储能电容作为后接入储能电容。
S205:在先接入储能电容供电结束后,启动后接入储能电容以使储能电容按照第一阈值供电的供电时间不小于写入时间,先接入储能电容的供电电压和后接入储能电容的供电电压均为第一阈值。
具体的,固态硬盘所在主机为掉电状态时,如果供电时间小于写入时间,将预置的储能电容的接入数量降低至第二阈值,将接入数量为第二阈值的储能电容作为先接入储能电容,先为固态硬盘进行供电,先接入储能电容供电结束后,将若干个储能电容中剩下的作为后接入储能电容,继续为固态硬盘进行供电。先接入储能电容由于储能电容的数量比总体储能电容的数据少,总容量Q下降,根据U=Q/C,先接入储能电容的供电电压也下降,使得固态硬盘消耗的电能减少,同时供电电压处在固态硬盘正常工作电压的波动范围内。后接入储能电容同理如此,在若干个储能电容电能不变情况下,固态硬盘消耗的电能减少,供电时间得以延长并且不小于写入时间。例如,预置的储能电容为6个,固态硬盘的工作电压为5v,正常工作电压波动范围为3.5v-5v,正常情况下储能电容的供电电压为5v,当供电时间不够时,确定第二阈值为3,先用3个储能电容为固态硬盘提供3.5v的电压,暂时关闭剩余3个储能电容。待先接入的3个储能电容放电完,供电时间为t1,在接入剩余的3个,继续为固态硬盘提供3.5v的电压,供电时间为t2,总的供电时间为t1+t2能够不小于写入时间。
在一种实施的方式中,在一个实施例中,若供电时间小于写入时间,则维持储能电容的接入数量不变以保持正常工作电压不变,并统计储能电容的接入数量维持不变的时间值;
若时间值超过时间阈值,则将储能电容的接入数量降低至第三阈值,第三阈值为先接入储能电容的数量,将剩余的储能电容作为后接入储能电容;
在先接入储能电容供电结束后,启动后接入储能电容以使储能电容按照第一阈值供电的供电时间不小于写入时间,先接入储能电容的供电电压和后接入储能电容的供电电压均为第一阈值。
具体的,如果供电时间小于写入时间,也可以采用先不进行降压,一段时间后再进行降压的方式来延长储能电容的供电时间。保持预置的储能电容数量不变,为固态硬盘提供正常工作电压。当固态硬盘处在正常工作电压的时间值超过时间阈值,再降低储能电容的接入数量至第三阈值,先将数量为第三预置的储能电容作为先接入储能电容,剩下的储能电容作为后接入储能电容,先后分别为固态硬盘供电。时间阈值为需要降低供电电压的临界时间。需要说明的是,时间阈值小于供电时间。
确定供电时间小于写入时间之前,同时获取缓存区数据的原始容量;
将原始容量与第四阈值进行对比,得到对比结果,第四阈值为储能电容支持写入的缓存区数据的最大容量;
若对比结果为原始容量大于第四阈值,则降低时间阈值。
具体的,出现掉电情况后,通过预置的CystalDiskinfo固态硬盘检测软件获取到固态硬盘的缓存区数据的原始容量,即掉电时已经缓存的数据总量。接着将原始容量与第四阈值进行对比,如果原始容量大于第四阈值,说明缓存区数据量较大,则相对应的调低时间阈值,使得储能电容持续为固态硬盘提供正常工作电压的时间较短,提前减少储能电容的接入数量,提前降压,从而使得储能电能的供电时间进一步延长。
在另一种实施的方式中,在另一个实施例中,当确定供电时间小于写入时间,则对缓存区数据进行数据分级,分为核心数据、重要数据、普通数据和可丢失数据,将核心数据、重要数据和普通数据进行优先写入保存,将可丢失数据暂时加入到待定队列中不进行写入,等待核心数据、重要数据和普通数据全部写入保存后,如果供电时间存在剩余,再对可丢失数据进行写入保存。从而使得在供电时间有限情况下,优先写入重要度高的数据。
S206:基于第一阈值,将固态硬盘的缓存区数据进行写入保存。
具体的,可参考步骤S105在此不再赘述。
参考图3,本申请实施例公开了又一种固态硬盘的掉电保护方法的流程示意图,可依赖于计算机程序实现,也可运行于基于冯诺依曼体系的固态硬盘的掉电保护装置上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行,具体包括:
S301:检测固态硬盘所在主机的供电状态。
S302:若主机为掉电状态,则启动预置的储能电容对固态硬盘进行供电,储能电容包括若干个。
S303:将储能电容的供电时间和固态硬盘的缓存区数据的写入时间进行对比。
S304:若供电时间小于写入时间,则降低储能电容的供电电压以使储能电容按照第一阈值供电的供电时间不小于写入时间,第一阈值为固态硬盘的正常工作电压波动范围内的电压值。
具体的,可参考步骤S101-S104,在此不再赘述。
S305:基于第一阈值,调整缓存区数据的数据识别阈值。
在一种实施的方式中,在一个实施例中,基于第一阈值,确定SLC区的相对磨损速率和MLC区的相对磨损速率;
将SLC区的相对磨损速率与MLC区的相对磨损速率进行对比,若SLC区的相对磨损速率大于MLC区的相对磨损速率,则减小数据识别阈值;
若SLC区的相对磨损速率小于MLC区的相对磨损速率,则增大数据识别阈值;
若SLC区的相对磨损速率等于MLC区的相对磨损速率,则维持数据识别阈值不变。
具体的,对储能电压调整后,通过RWs=/公式计算得到SLC区的相对磨损速率,通过RWm=公式计算MLC区的相对磨损速率,其中,Ns和Nm分别表示SLC闪存块和MLC闪存块的总数量,分别表示SLC闪存块和MLC闪存块的擦除周期,分别表示SLC闪存块和MLC闪存块中每个块的擦除次数。磨损速率为闪存转化层(Flash TranslationLayer,FTL)执行重复编程和擦除周期所产生磨损的速度。在本申请实施例中,即为SLC区和MLC区中各闪存块的磨损速度。
确定SLC区和MLC区的相对磨损速率后,将SLC区的相对磨损速率与MLC区的相对磨损速率进行对比,如果SLC区的相对磨损速率大于MLC区的相对磨损速率,说明SLC区的磨损速度比MLC区快,磨损程度高,则减小数据识别阈值,使得更多的缓存区数据被写入MLC区,缓解SLC区的磨损程度。因为小于数据识别阈值的数据会被写入SLC区。如果SLC区的相对磨损速率小于MLC区的相对磨损速率,说明MLC区的磨损速度比SLC区快,磨损程度高,则增大数据识别阈值,使得更多的缓存区数据被写入SLC区,缓解MLC区的磨损程度;如果SLC区的相对磨损速率等于MLC区的相对磨损速率,说明此时缓存区数据分配较均衡,数据识别阈值无需调整。需要说明的是,数据识别阈值为判断写入数据的类型的标准值,数据识别阈值的初始值为4KB。
在另一种实施的方式中,在另一个实施例中,也可以采用根据SLC区和MLC区的磨损速度,不同于相对磨损速率,进行数据识别阈值的调整。SLC区磨损程度的计算公式Ps=/,MLC区磨损程度的计算公式Pm==/。磨损程度的数值越大,使用寿命越短。将SLC区的磨损程度和MLC区的磨损程度进行比较,如果SLC区的磨损程度大于MLC区的磨损程度,则减小数据识别阈值;如果SLC区的磨损程度小于MLC区磨损程度,则增大数据识别阈值;如果SLC区的磨损程度等于MLC区磨损程度,则将SLC区的相对磨损速率与MLC区的相对磨损速率进行对比,SLC区的相对磨损速率大于MLC区的相对磨损速率,则减小数据识别阈值;如果SLC区的相对磨损速率小于MLC区的相对磨损速率,则增大数据识别阈值。
S306:根据数据识别阈值,判定缓存区数据的数据类型。
在一种实施的方式中,在一个实施例中,将缓存区数据的写入量与数据识别阈值对比;
若写入量小于数据识别阈值,则确定缓存区数据的数据类型为热数据;
若写入量大于数据识别阈值,则确定缓存区数据的数据类型为冷数据;
具体的,热数据为固态硬盘中被访问频次大的数据。冷数据为固态硬盘中被访问频次小的数据。缓存区数据的写入量指写入闪存的数据大小。确定数据识别阈值后,如果写入量小于数据识别阈值,说明此数据写入量较小,访问频次较高,则确定数据类型为热数据;如果写入量大于数据识别阈值,则写入量较大,访问频次较低,确定数据类型为冷数据。
S307:根据数据类型,将缓存区数据写入保存至SLC区或MLC区。
在一种实施的方式中,在一个实施例中,若缓存区数据的数据类型为热数据,则将缓存区数据写入保存至SLC区;
若缓存区数据的数据类型为冷数据,则将缓存区数据写入保存至MLC区。
具体的,如果确定缓存区数据为热数据,则将缓存区数据写入保存至SLC区,因为SLC区的快速读写性能和存储耐久性较好,将频繁访问的优质数据存放到SLC区可以更快的读写和更好的保存;如果定缓存区数据为冷数据,则将缓存区数据写入保存至MLC区,因为考虑到MLC区的低成本和大容量,访问频次不高的冷数据存储到MLC区中,可以降低整个固态硬盘的成本,缓解SLC区的存储压力,延长固态硬盘的使用寿命。
本申请实施例一种固态硬盘的掉电保护方法的实施原理为:检测固态硬盘所在主机的供电状态,如果检测为掉电状态时,则开启预置的储能电容对固态硬盘进行正常供电,同时将储能电容的供电时间与缓存区数据的写入时间进行对比,如果供电时间小于写入时间,说明缓存区数据无法全部写入保存,容易造成数据丢失。接着减少储能电容的接入数量,先后接入不同数量的储能电容对固态硬盘供电,降低储能电容的供电电压,延长所有储能电容的整体的供电时间,从而避免缓存区数据在较多时发生丢失,可以进行正常的写入保存。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参见图4,为本申请实施例提供的一种固态硬盘的掉电保护装置的结构示意图。该应用于一种固态硬盘的掉电保护装置可以通过软件、硬件或者两者的结合实现成为装置的全部或一部分。该装置1包括供电状态检测模块11,掉电供电开启模块12、时间对比模块13、供电时间延长模块14和数据写入保存模块15。
供电状态检测模块11,用于检测固态硬盘所在主机的供电状态;
掉电供电开启模块12,用于若主机为掉电状态,则启动预置的储能电容对固态硬盘进行供电,储能电容包括若干个;
时间对比模块13,用于将储能电容的供电时间和固态硬盘的缓存区数据的写入时间进行对比;
供电时间延长模块14,用于若供电时间小于写入时间,则降低储能电容的供电电压以使储能电容按照第一阈值供电的供电时间不小于写入时间,第一阈值为固态硬盘的正常工作电压波动范围内的电压值;
数据写入保存模块15,用于基于第一阈值,将固态硬盘的缓存区数据进行写入保存。
可选的,供电时间延长模块14,具体用于:
若供电时间小于写入时间,则将储能电容的接入数量降低至第二阈值,第二阈值为若干个储能电容中先接入储能电容的数量,将剩余的储能电容作为后接入储能电容;
在先接入储能电容供电结束后,启动后接入储能电容以使储能电容按照第一阈值供电的供电时间不小于写入时间,先接入储能电容的供电电压和后接入储能电容的供电电压均为第一阈值。
可选的,供电时间延长模块14,具体还用于:
若供电时间小于写入时间,则维持储能电容的接入数量不变以保持正常工作电压不变,并统计储能电容的接入数量维持不变的时间值;
若时间值超过时间阈值,则将储能电容的接入数量降低至第三阈值,第三阈值为先接入储能电容的数量,将剩余的储能电容作为后接入储能电容;
在先接入储能电容供电结束后,启动后接入储能电容以使储能电容按照第一阈值供电的供电时间不小于写入时间,先接入储能电容的供电电压和后接入储能电容的供电电压均为第一阈值。
可选的,如图5所示,装置1,还包括:
缓存数据获取模块16,用于获取缓存区数据的原始容量;
数据容量对比模块17,用于将原始容量与第四阈值进行对比,得到对比结果,第四阈值为储能电容支持写入缓存区数据的最大容量;
时间阈值降低模块18,用于若对比结果为原始容量大于第四阈值,则降低时间阈值。
可选的,数据写入保存模块15,具体用于:
基于第一阈值,调整缓存区数据的数据识别阈值;
根据数据识别阈值,判定缓存区数据的数据类型;
根据数据类型,将缓存区数据写入保存至SLC区或MLC区。
可选的,数据写入保存模块15,具体用于:
基于第一阈值,确定SLC区的相对磨损速率和MLC区的相对磨损速率;
将SLC区的相对磨损速率与MLC区的相对磨损速率进行对比,若SLC区的相对磨损速率大于MLC区的相对磨损速率,则减小数据识别阈值;
若SLC区的相对磨损速率小于MLC区的相对磨损速率,则增大数据识别阈值;
若SLC区的相对磨损速率等于MLC区的相对磨损速率,则维持数据识别阈值不变。
可选的,数据写入保存模块15,具体还用于:
将缓存区数据的写入量与数据识别阈值对比;
若写入量小于数据识别阈值,则确定缓存区数据的数据类型为热数据;
若写入量大于数据识别阈值,则确定缓存区数据的数据类型为冷数据;
根据数据类型,将缓存区数据写入保存至SLC区或MLC区,包括:
若缓存区数据的数据类型为热数据,则将缓存区数据写入保存至SLC区;
若缓存区数据的数据类型为冷数据,则将缓存区数据写入保存至MLC区。
需要说明的是,上述实施例提供的一种固态硬盘的掉电保护装置在执行固态硬盘的掉电保护方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的一种固态硬盘的掉电保护装置与一种固态硬盘的掉电保护方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
本申请实施例还公开一种计算机可读存储介质,并且,计算机可读存储介质存储有计算机程序,其中,计算机程序被处理器执行时,采用了上述实施例的一种固态硬盘的掉电保护方法。
其中,计算机程序可以存储于计算机可读介质中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间件形式等,计算机可读介质包括能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM)、随机存取存储器(RAM)、电载波信号、电信信号以及软件分发介质等,需要说明的是,计算机可读介质包括但不限于上述元器件。
其中,通过本计算机可读存储介质,将上述实施例的一种固态硬盘的掉电保护方法存储于计算机可读存储介质中,并且,被加载并执行于处理器上,以方便上述方法的存储及应用。
本申请实施例还公开一种电子设备,计算机可读存储介质中存储有计算机程序,计算机程序被处理器加载并执行时,采用了上述一种固态硬盘的掉电保护方法。
其中,电子设备可以采用台式电脑、笔记本电脑或者云端服务器等电子设备,并且,电子设备设备包括但不限于处理器以及存储器,例如,电子设备还可以包括输入输出设备、网络接入设备以及总线等。
其中,处理器可以采用中央处理单元(CPU),当然,根据实际的使用情况,也可以采用其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,通用处理器可以采用微处理器或者任何常规的处理器等,本申请对此不做限制。
其中,存储器可以为电子设备的内部存储单元,例如,电子设备的硬盘或者内存,也可以为电子设备的外部存储设备,例如,电子设备上配备的插接式硬盘、智能存储卡(SMC)、安全数字卡(SD)或者闪存卡(FC)等,并且,存储器还可以为电子设备的内部存储单元与外部存储设备的组合,存储器用于存储计算机程序以及电子设备所需的其他程序和数据,存储器还可以用于暂时地存储已经输出或者将要输出的数据,本申请对此不做限制。
其中,通过本电子设备,将上述实施例的一种固态硬盘的掉电保护方法存储于电子设备的存储器中,并且,被加载并执行于电子设备的处理器上,方便使用。
以上所述者,仅为本公开的示例性实施例,不能以此限定本公开的范围。即但凡依本公开教导所作的等效变化与修饰,皆仍属本公开涵盖的范围内。本领域技术人员在考虑说明书及实践这里的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未记载的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的范围和精神由权利要求限定。

Claims (10)

1.一种固态硬盘的掉电保护方法,其特征在于,包括:
检测固态硬盘所在主机的供电状态;
若所述主机为掉电状态,则启动预置的储能电容对所述固态硬盘进行供电,所述储能电容包括若干个;
将所述储能电容的供电时间和所述固态硬盘的缓存区数据的写入时间进行对比;
若所述供电时间小于所述写入时间,则降低所述储能电容的供电电压以使所述储能电容按照第一阈值供电的供电时间不小于所述写入时间,所述第一阈值为所述固态硬盘的正常工作电压波动范围内的电压值;
基于所述第一阈值,将所述固态硬盘的缓存区数据进行写入保存。
2.根据权利要求1所述的固态硬盘的掉电保护方法,其特征在于,所述若所述供电时间小于所述写入时间,则降低所述储能电容的供电电压以使所述储能电容按照第一阈值的供电时间不小于所述写入时间,包括:
若所述供电时间小于所述写入时间,则将所述储能电容的接入数量降低至第二阈值,所述第二阈值为若干个储能电容中先接入储能电容的数量,将剩余的所述储能电容作为后接入储能电容;
在所述先接入储能电容供电结束后,启动所述后接入储能电容以使所述储能电容按照第一阈值供电的供电时间不小于所述写入时间,所述先接入储能电容的供电电压和所述后接入储能电容的供电电压均为第一阈值。
3.根据权利要求1所述的固态硬盘的掉电保护方法,其特征在于,所述若所述供电时间小于所述写入时间,则降低所述储能电容的供电电压以使所述储能电容按照第一阈值的供电时间不小于所述写入时间,包括:
若所述供电时间小于所述写入时间,则维持所述储能电容的接入数量不变以保持正常工作电压不变,并统计所述储能电容的接入数量维持不变的时间值;
若所述时间值超过时间阈值,则将所述储能电容的接入数量降低至第三阈值,所述第三阈值为先接入储能电容的数量,将剩余的所述储能电容作为后接入储能电容;
在所述先接入储能电容供电结束后,启动所述后接入储能电容以使所述储能电容按照第一阈值供电的供电时间不小于所述写入时间,所述先接入储能电容的供电电压和所述后接入储能电容的供电电压均为第一阈值。
4.根据权利要求3所述的固态硬盘的掉电保护方法,其特征在于,所述若所述供电时间小于所述写入时间之前,还包括:
获取所述缓存区数据的原始容量;
将所述原始容量与第四阈值进行对比,得到对比结果,所述第四阈值为所述储能电容支持写入缓存区数据的最大容量;
若对比结果为所述原始容量大于第四阈值,则降低所述时间阈值。
5.根据权利要求1所述的固态硬盘的掉电保护方法,其特征在于,所述,基于所述第一阈值,将所述固态硬盘的缓存区数据进行写入保存,包括:
基于所述第一阈值,调整所述缓存区数据的数据识别阈值;
根据所述数据识别阈值,判定所述缓存区数据的数据类型;
根据所述数据类型,将所述缓存区数据写入保存至SLC区或MLC区。
6.根据权利要求5所述的固态硬盘的掉电保护方法,其特征在于,所述基于第一阈值,调整所述缓存区数据的数据识别阈值,包括:
基于第一阈值,确定所述SLC区的相对磨损速率和所述MLC区的相对磨损速率;
将所述SLC区的相对磨损速率与所述MLC区的相对磨损速率进行对比,若所述SLC区的相对磨损速率大于所述MLC区的相对磨损速率,则减小所述数据识别阈值;
若所述SLC区的相对磨损速率小于所述MLC区的相对磨损速率,则增大所述数据识别阈值;
若所述SLC区的相对磨损速率等于所述MLC区的相对磨损速率,则维持所述数据识别阈值不变。
7.根据权利要求6所述的固态硬盘的掉电保护方法,其特征在于,所述所述SLC区的相对磨损速率用RWs表示,所述MLC区的相对磨损速率用RWm表示,其中,RWs=/,RWm=,式中:
Ns和Nm分别表示SLC闪存块和MLC闪存块的总数量,分别表示SLC闪存块和MLC闪存块的擦除周期,分别表示SLC闪存块和MLC闪存块中每个块的擦除次数。
8.根据权利要求5所述的固态硬盘的掉电保护方法,其特征在于,所述所述数据类型包括热数据和冷数据,所述根据所述数据识别阈值,判定所述缓存区数据的数据类型,包括:
将所述缓存区数据的写入量与数据识别阈值对比;
若所述写入量小于数据识别阈值,则确定所述缓存区数据的数据类型为热数据;
若所述写入量大于数据识别阈值,则确定所述缓存区数据的数据类型为冷数据;
所述根据所述数据类型,将所述缓存区数据写入保存至SLC区或MLC区,包括:
若所述缓存区数据的数据类型为热数据,则将所述缓存区数据写入保存至所述SLC区;
若所述缓存区数据的数据类型为冷数据,则将所述缓存区数据写入保存至所述MLC区。
9.一种固态硬盘的掉电保护装置,其特征在于,包括:
供电状态检测模块(11),用于检测固态硬盘所在主机的供电状态;
掉电供电开启模块(12),用于若所述主机为掉电状态,则启动预置的储能电容对所述固态硬盘进行供电,所述储能电容包括若干个;
时间对比模块(13),用于将所述储能电容的供电时间和所述固态硬盘的缓存区数据的写入时间进行对比;
供电时间延长模块(14),用于若所述供电时间小于所述写入时间,则降低所述储能电容的供电电压以使所述储能电容按照第一阈值供电的供电时间不小于所述写入时间,所述第一阈值为所述固态硬盘的正常工作电压波动范围内的电压值;
数据写入保存模块(15),用于基于所述第一阈值,将所述固态硬盘的缓存区数据进行写入保存。
10.一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其特征在于,所述计算机程序被处理器加载并执行时,采用了权利要求1-8中任一项所述的方法。
CN202211620936.5A 2022-12-16 2022-12-16 一种固态硬盘的掉电保护方法、装置及存储介质 Pending CN115910170A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211620936.5A CN115910170A (zh) 2022-12-16 2022-12-16 一种固态硬盘的掉电保护方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211620936.5A CN115910170A (zh) 2022-12-16 2022-12-16 一种固态硬盘的掉电保护方法、装置及存储介质

Publications (1)

Publication Number Publication Date
CN115910170A true CN115910170A (zh) 2023-04-04

Family

ID=86471138

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211620936.5A Pending CN115910170A (zh) 2022-12-16 2022-12-16 一种固态硬盘的掉电保护方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN115910170A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117573043A (zh) * 2024-01-17 2024-02-20 济南浪潮数据技术有限公司 分布式存储数据的传输方法、装置、***、设备和介质
CN117573043B (zh) * 2024-01-17 2024-06-28 济南浪潮数据技术有限公司 分布式存储数据的传输方法、装置、***、设备和介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117573043A (zh) * 2024-01-17 2024-02-20 济南浪潮数据技术有限公司 分布式存储数据的传输方法、装置、***、设备和介质
CN117573043B (zh) * 2024-01-17 2024-06-28 济南浪潮数据技术有限公司 分布式存储数据的传输方法、装置、***、设备和介质

Similar Documents

Publication Publication Date Title
US10600491B2 (en) Method for managing data blocks and method of data management for data storage device
US10146292B2 (en) Power management
US9383808B2 (en) Dynamic allocation of power budget for a system having non-volatile memory and methods for the same
US8195971B2 (en) Solid state disk and method of managing power supply thereof and terminal including the same
US10359822B2 (en) System and method for controlling power consumption
EP3872641A2 (en) Storage device and method of operating the storage device
CN107741913B (zh) 用来管理一记忆装置的方法、记忆装置与控制器
US20190004723A1 (en) Throttling components of a storage device
US11041763B2 (en) Adaptive throttling
US20210216239A1 (en) Host controlled garbage collection in a solid state drive
US11422708B2 (en) Memory interface, data storage device including the same and operating method thereof
WO2022216664A1 (en) Method and apparatus to reduce nand die collisions in a solid state drive
CN105630699B (zh) 一种使用mram的固态硬盘及读写缓存管理方法
TWI748410B (zh) 用來針對非揮發性記憶體進行區塊管理的方法以及設備
US11941269B2 (en) Data storage device with enhanced power mode management
CN115910170A (zh) 一种固态硬盘的掉电保护方法、装置及存储介质
CN107765989B (zh) 一种存储设备控制芯片、存储设备及存储设备管理方法
US11662944B2 (en) Method and apparatus for performing resuming management
US20230152989A1 (en) Memory controller adjusting power, memory system including same, and operating method for memory system
US11604592B2 (en) Data management for efficient low power mode handling in a storage device
US20220083280A1 (en) Method and apparatus to reduce latency for random read workloads in a solid state drive
EP4231131A1 (en) Data storage method and device
CN110609817A (zh) 一种防止文件碎片化的文件存储***
KR20200042780A (ko) 데이터 저장 장치 및 그것의 동작 방법
CN116417025A (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