CN115657972B - 固态硬盘写入控制方法、装置与固态硬盘 - Google Patents

固态硬盘写入控制方法、装置与固态硬盘 Download PDF

Info

Publication number
CN115657972B
CN115657972B CN202211682059.4A CN202211682059A CN115657972B CN 115657972 B CN115657972 B CN 115657972B CN 202211682059 A CN202211682059 A CN 202211682059A CN 115657972 B CN115657972 B CN 115657972B
Authority
CN
China
Prior art keywords
storage
storage area
writing
type
storage 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.)
Active
Application number
CN202211682059.4A
Other languages
English (en)
Other versions
CN115657972A (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.)
Wuhan Turnerfei Electronic Technology Co.,Ltd.
Original Assignee
Beijing Tenafei Electronic Technology 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 Beijing Tenafei Electronic Technology Co ltd filed Critical Beijing Tenafei Electronic Technology Co ltd
Priority to CN202211682059.4A priority Critical patent/CN115657972B/zh
Publication of CN115657972A publication Critical patent/CN115657972A/zh
Application granted granted Critical
Publication of CN115657972B publication Critical patent/CN115657972B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

Abstract

本公开提供一种固态硬盘写入控制方法、装置与固态硬盘,应用于信息技术领域。固态硬盘的存储空间包括第一存储区、第二存储区、第三存储区,第一存储区对应第一存储类型,第二存储区对应第二存储类型,第三存储区的存储地址与第一存储区的存储地址和第二存储区的存储地址均连续;固态硬盘写入控制方法包括:采集预设时段内的一或多个写入请求,获取每个写入请求的预设参数以及预设时段内的写入请求特征;根据预设参数和写入请求特征确定每个写入请求对应第一存储类型或第二存储类型;根据每个写入请求对应的存储类型,将写入请求的写入数据流写入第一存储类型对应的存储区或者第二存储类型对应的存储区。本公开实施例可以提升固态硬盘的写入性能。

Description

固态硬盘写入控制方法、装置与固态硬盘
技术领域
本公开涉及信息技术领域,具体而言,涉及一种固态硬盘写入控制方法、装置与固态硬盘。
背景技术
固态硬盘(Solid State Drive,SSD)是以闪存(NAND Flash)为存储介质的存储设备。闪存是包括多个存储单元的非易失性存储介质,断电后数据不消失。根据存储单元的存储密度,固态硬盘中的存储单元按照存储类型可以分为单层式储存单元(Single LevelCell,SLC)、多层式储存单元(Multi Level Cell,MLC)、三层式储存单元(Triple LevelCell,TLC)和四层式储存单元(Quad Level Cell,QLC),不同种类的存储单元的性能和容量不同,SLC的容量最低,性能最高,例如读取/写入延迟低和耐久性高;QLC的容量最高,性能最低,例如读取/写入延迟高和耐久性低。
在相关技术中,通常根据固态硬盘的剩余存储容量调整已存储数据的存储类型和新写入数据的存储类型,随着固态硬盘的剩余存储容量的降低需要切换数据的存储类型。在此过程中,通常需要修改已存储数据的存储类型,对已存储数据进行格式修改,带来了额外的数据错误风险。此外,受到闪存写入原理的影响,固态硬盘具有写入次数限制,转换数据的存储类型、重新完成新的存储类型的数据写入,对固态硬盘的写入次数造成了不必要的浪费。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种固态硬盘写入控制方法、装置与固态硬盘,用于克服固态硬盘数据写入过程中数据存储类型调整带来的数据转换和数据写入次数浪费问题。
根据本公开实施例的第一方面,提供一种固态硬盘写入控制方法,包括:采集预设时段内的一或多个写入请求,获取每个所述写入请求的预设参数以及所述预设时段内的写入请求特征;根据所述预设参数和所述写入请求特征确定每个所述写入请求对应所述第一存储类型或所述第二存储类型;根据每个所述写入请求对应的存储类型,将所述写入请求的写入数据流写入所述第一存储类型对应的存储区或者所述第二存储类型对应的存储区。
在本公开的一种示例性实施例中,所述第一存储类型包括单层式存储类型,所述第二存储类型包括多层式存储类型、三层式存储类型、四层式存储类型中的一种。
在本公开的一种示例性实施例中,所述写入请求的预设参数包括写入地址和响应时间要求,所述预设时段内的写入请求特征包括所述预设时段内的写入请求数量、所述预设时段内的写入请求的写入地址涉及的存储页数。
在本公开的一种示例性实施例中,所述根据所述预设参数和所述写入请求特征确定每个所述写入请求对应所述第一存储类型或所述第二存储类型包括:在一个所述写入请求的所述响应时间要求小于第一预设值时,确定该写入请求对应所述第一存储类型;在所述预设时段内的写入请求数量小于第二预设值时,将所述预设时段内的一或多个写入请求中不对应所述第一存储类型的写入请求,均确定为对应所述第二存储类型;在所述预设时段内的写入请求数量大于等于所述第二预设值且在所述预设时段内的写入请求的写入地址涉及的存储页数超过第三预设值时,确定所述预设时段内的一或多个写入请求均对应所述第一存储类型;在所述预设时段内的写入请求数量大于等于所述第二预设值且在所述预设时段内的写入请求的写入地址涉及的存储页数不超过所述第三预设值时,将所述预设时段内的一或多个写入请求中不对应所述第一存储类型的写入请求,均确定为对应所述第二存储类型。
在本公开的一种示例性实施例中,还包括:根据每个所述写入请求对应的存储类型、所述第一存储区的剩余存储空间、所述第二存储区的剩余存储空间设置所述第三存储区对应的存储类型。
在本公开的一种示例性实施例中,所述根据每个所述写入请求对应的存储类型、所述第一存储区的剩余存储空间、所述第二存储区的剩余存储空间设置所述第三存储区对应的存储类型包括:确定对应所述第一存储类型的写入请求的第一数据量以及对应所述第二存储类型的写入请求的第二数据量;在所述第一数据量超过所述第一存储区的剩余存储空间时,将所述第三存储区设置为对应第一存储类型;在所述第一数据量未超过所述第一存储区的剩余存储空间,且所述第二数据量超过所述第二存储区的剩余存储空间时,将所述第三存储区设置为对应第二存储类型。
在本公开的一种示例性实施例中,所述第三存储区包括多个存储地址连续的子存储区,每个所述子存储区对应的存储类型不完全相同,所述根据每个所述写入请求对应的存储类型、所述第一存储区的剩余存储空间、所述第二存储区的剩余存储空间设置所述第三存储区对应的存储类型包括:根据每个所述写入请求对应的存储类型、所述第一存储区的剩余存储空间、所述第二存储区的剩余存储空间将所述第三存储区中的至少一个所述子存储区设置为对应所述第一存储类型,和/或,根据每个所述写入请求对应的存储类型、所述第一存储区的剩余存储空间、所述第二存储区的剩余存储空间将所述第三存储区中的至少一个所述子存储区设置为对应所述第二存储类型;其中,对应所述第一存储类型的子存储区与所述第一存储区的存储地址连续,对应所述第二存储类型的子存储区与所述第二存储区的存储地址连续。
根据本公开实施例的第二方面,提供一种固态硬盘写入控制装置,包括:特征提取模块,设置为采集预设时段内的一或多个写入请求,获取每个所述写入请求的预设参数以及所述预设时段内的写入请求特征;存储类型确定模块,设置为根据所述预设参数和所述写入请求特征确定每个所述写入请求对应所述第一存储类型或所述第二存储类型;数据写入模块,设置为根据每个所述写入请求对应的存储类型,将所述写入请求的写入数据流写入所述第一存储类型对应的存储区或者所述第二存储类型对应的存储区。
根据本公开的第三方面,提供一种一种固态硬盘,包括:存储阵列,包括第一存储区、第二存储区、第三存储区,所述第一存储区对应第一存储类型,所述第二存储区对应第二存储类型,所述第三存储区的存储地址与所述第一存储区的存储地址和所述第二存储区的存储地址均连续;以及控制器,连接所述存储阵列,用于执行上任一项所述的固态硬盘写入控制方法以对所述存储阵列进行数据写入。
在本公开的一种示例性实施例中,所述第三存储区包括多个存储地址连续的子存储区,每个所述子存储区对应的存储类型不完全相同。
本公开实施例通过根据预设时段内的写入请求集中判断每个写入请求对应的存储类型,进而将每个写入请求分别写入其对应存储类型的存储区,能够尽量避免在后续对写入的数据进行存储类型转换,从而可以避免存储类型转换带来的数据错误和固态硬盘写入次数浪费。此外,通过在固态硬盘中设置存储类型不定的第三存储区,可以根据固态硬盘的实际数据写入情况调整不同存储类型对应的存储区的容量,进一步减少存储类型转换的必要性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本公开示例性实施例中固态硬盘写入控制方法的流程图。
图2是本公开一个实施例中步骤S2的子流程图。
图3是本公开一个实施例中固态硬盘的示意图。
图4是本公开一个实施例中使用第三存储区的流程图。
图5是本公开另一个实施例中固态硬盘的示意图。
图6是本公开再一个实施例中固态硬盘的存储空间划分示意图。
图7是本公开示例性实施例中一种固态硬盘写入控制装置的方框图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,附图仅为本公开的示意性图解,图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
下面结合附图对本公开示例实施方式进行详细说明。
图1是本公开示例性实施例中固态硬盘写入控制方法的流程图。
参考图1,固态硬盘写入控制方法100可以包括:
步骤S1,采集预设时段内的一或多个写入请求,获取每个所述写入请求的预设参数以及所述预设时段内的写入请求特征;
步骤S2,根据所述预设参数和所述写入请求特征确定每个所述写入请求对应所述第一存储类型或所述第二存储类型;
步骤S3,根据每个所述写入请求对应的存储类型,将所述写入请求的写入数据流写入所述第一存储类型对应的存储区或者所述第二存储类型对应的存储区。
本公开实施例通过根据预设时段内的写入请求集中判断每个写入请求对应的存储类型,进而将每个写入请求分别写入其对应存储类型的存储区,能够尽量避免在后续对写入的数据进行存储类型转换,从而可以避免存储类型转换带来的数据错误和固态硬盘写入次数浪费。此外,通过在固态硬盘中设置存储类型不定的第三存储区,可以根据固态硬盘的实际数据写入情况调整不同存储类型对应的存储区的容量,进一步减少存储类型转换的必要性。
下面,对固态硬盘写入控制方法100的各步骤进行详细说明。
在步骤S1,采集预设时段内的一或多个写入请求,获取每个所述写入请求的预设参数以及所述预设时段内的写入请求特征。
本公开实施例中的预设时段是执行方法100的当前时间点之前的预设时段,例如当前时间点的前1分钟内。预设时段的时间长度固态,起始时间和结尾时间随当前时间点的变化而变化。
在一个实施例中,当前时间点可以是最近一个写入请求的写入时间点,即,方法100可以响应最新的写入请求而执行,从而避免预设时段内不存在写入请求的情况浪费控制资源。在另一个实施例中,方法100也可以在满足设定的触发条件后定期执行,例如每10秒定期执行一次,此时当前时间点为方法100执行的时间点。设定的触发条件例如为出现写入请求。在该实施例中,为了避免写入请求稀少,可以设置方法100定期执行的次数,在方法100定期执行到该次数之前,如果出现新的触发条件,重新计算定期执行的次数;如果在方法100定期执行的次数达到该次数后仍没有出现新的触发条件,可以停止定期执行方法100。
通过实时采集预设时段内的一或多个写入请求,可以实时判断每个写入请求的微观特征和预设时段内的写入请求的宏观特征,准确地判断每个写入请求的最重要的存储需求和最低的存储需求,进而准确判断对每个写入请求最合适的存储类型。
在一个实施例中,写入请求的预设参数可以包括写入地址和响应时间要求,预设时段内的写入请求特征包括预设时段内的写入请求数量、预设时段内的写入请求的写入地址涉及的存储页数。其中,写入请求的写入地址用于统计预设时段内的写入请求的写入地址涉及的存储页数。预设时段内的写入请求的写入地址涉及的存储页数较少,说明预设时段内的写入请求的连续性强,对存储空间要求高;预设时段内的写入请求的写入地址涉及的存储页数较多,说明预设时段内的写入请求较为稀疏或者较为随机。
除了上述预设参数,还可以提取各写入请求的数据量等参数,以进行后续判断。本领域技术人员可以自行设置能够反应写入请求的数据存储需求的预设参数,本公开对此不作特殊限制。
在步骤S2,根据所述预设参数和所述写入请求特征确定每个所述写入请求对应所述第一存储类型或所述第二存储类型。
在本公开实施例中,第一存储类型为存储性能较高、存储容量较小的存储类型,第二存储类型为与第一存储类型相比,存储容量较大、存储性能相对较低的存储类型。
在一个实施例中,第一存储类型包括单层式存储类型,第二存储类型包括多层式存储类型、三层式存储类型、四层式存储类型中的一种。其中单层式存储类型对应存储单元为SLC,多层式存储类型对应存储单元为MLC,三层式存储类型对应存储单元为TLC,四层式存储类型对应存储单元为QLC。
在其他实施例中,也可以将第一存储类型设置为多层式存储类型,将第二存储类型设置为三层式存储类型或者四层式存储类型;或者,将第一存储类型设置为三层式存储类型,将第二存储类型设置为四层式存储类型等。随着科技发展,存储类型将更加丰富,本公开实施例不对第一存储类型和第二存储类型的具体类型做严格限制,只要满足上述存储性能和存储容量的原则即可。
在本公开实施例中,实时判断每个写入请求的最重要的存储需求和最低的存储需求,从而确定对每个写入请求最合适的存储类型,尽量避免后续转换已写入数据的存储类型。
下面,以写入请求的预设参数可以包括写入地址和响应时间要求,预设时段内的写入请求特征包括预设时段内的写入请求数量、预设时段内的写入请求的写入地址涉及的存储页数为例进行说明。当预设参数和写入请求特征包括其他类型的数据时,可以按照下列实施例的原理形成新的实施例。
图2是本公开一个实施例中步骤S2的子流程图。
参考图2,在一个实施例,写入请求的预设参数可以包括写入地址和响应时间要求,预设时段内的写入请求特征包括预设时段内的写入请求数量、预设时段内的写入请求的写入地址涉及的存储页数,步骤S2可以包括:
步骤S21,在一个写入请求的响应时间要求小于第一预设值时,确定该写入请求对应第一存储类型;
步骤S22,在预设时段内的写入请求数量小于第二预设值时,将预设时段内的一或多个写入请求中不对应第一存储类型的写入请求,均确定为对应第二存储类型;
步骤S23,在预设时段内的写入请求数量大于等于第二预设值且在预设时段内的写入请求的写入地址涉及的存储页数超过第三预设值时,确定预设时段内的一或多个写入请求均对应第一存储类型;
步骤S24,在预设时段内的写入请求数量大于第二预设值且在预设时段内的写入请求的写入地址涉及的存储页数不超过第三预设值时,将预设时段内的一或多个写入请求中不对应第一存储类型的写入请求,均确定为对应第二存储类型。
当一个写入请求的响应时间要求小于第一预设值时,说明该写入请求对存储性能要求较高,可以判断存储性能是该写入请求的最重要的存储需求,此时,直接将该写入请求标记为对应性能较优的第一存储类型,无需与其他请求协同判断。
当预设时段内的写入请求数量小于第二预设值时,说明最近预设时段的写入请求数量稀少,这存在两种可能。第一种是最近预设时段的写入请求连续,但是存在数据量较大、传输时间较长的写入请求,降低了预设时段内的写入请求的数量。第二种是最近预设时段的写入请求较为稀疏,数据写入不频繁。对于第一种情况,应当优先满足其对存储容量的要求,确定这些写入请求中未被标记为第一存储类型的请求均对应存储容量较大的第二存储类型。对于第二种情况,说明最近预设时段对写入请求的处理时间比较充裕,可以降低对存储过程的性能要求,优先使用性能较差的第二存储类型的存储方式。
当预设时段内的写入请求数量大于等于第二预设值时,说明近期写入频繁,正在进行大批量写入。此时,可以判断当前的大批量写入是大批量顺序写入还是大批量随机写入。
当预设时段内的写入请求的写入地址涉及的存储页数超过第三预设值时,说明当前的大批量写入请求的写入地址较为分散和随机,对存储空间的需求低,且最近预设时段对写入请求的处理时间比较不充裕,此时可以优先选择将最近预设时段内的一批写入请求均设置为对应存储性能较好、存储空间不大的第一存储类型。
当预设时段内的写入请求的写入地址涉及的存储页数未超过第三预设值时,说明当前的大批量写入请求的写入地址较为连续,对存储空间的需求高,此时可以优先选择将最近预设时段内的一批写入请求中没有较高的响应时间需求的写入请求均设置为对应存储空间较大的第二存储类型。
上述第一预设值、第二预设值、第三预设值均可以根据实际情况自行设置,本公开对此不作特殊限制。
通过使用每个写入请求的预设参数(微观特征)以及预设时段内的写入请求特征(宏观特征)实时分析当前每个写入请求的存储需求,可以准确为每个写入请求设定最合适的存储方式,尽量避免在后续进行存储类型转换。
需要说明的是,如果设置预设时段的最晚时间为最近一个写入请求的达到时间,则需要频繁获取预设时段内的写入请求特征,当写入请求较为密集时,会带来较大的数据处理负担。因此,可以在将执行方法100的触发条件设置为写入请求到达的同时,对两次执行方法100的时间点设置最小间隔。
在一些情况下,连续两次执行方法100时对应的预设时段可能存在重合,涉及的写入请求存在重合。此时,可以根据时间在后的预设时段的写入请求特征确定的每个写入请求的存储类型对两个预设时段内重复的每个尚未完成写入的写入请求进行存储,即根据最新到达的写入请求,更新先前的尚未存储的写入请求的存储类型。
在步骤S3,根据每个所述写入请求对应的存储类型,将所述写入请求的写入数据流写入所述第一存储类型对应的存储区或者所述第二存储类型对应的存储区。
固态硬盘主要包括存储阵列和连接存储阵列的控制器。
存储阵列包括多个存储通道(channel),每个存储通道包含多个颗粒封装(package),这些多颗粒封装之间共享传输通道,不过每个颗粒封装可以独立执行操作指令。每个颗粒封装包含多个颗粒(die),同样每个颗粒可以独立执行操作指令;每个颗粒由多个存储片(plane)组成,每个存储片中包含一个寄存器,用于作为缓存作用。在一个存储片内部包含多个存储块(block),每个存储块由固定数量的存储页(page)组成,同时,存储块是擦除操作的基本单元,并且只能承受有限次数的擦除,而存储页是读/写操作的最小单元。
在本公开实施例中,固态硬盘包括第一存储区、第二存储区、第三存储区,每个存储区均包括多个存储块(block)。
图3是本公开一个实施例中固态硬盘的示意图。
参考图3,固态硬盘300主要包括存储阵列31和控制器32。
存储阵列31包括第一存储区311、第二存储区312、第三存储区313,其中第一存储区311被设定为对应第一存储类型,即第一存储区311中的存储单元均为同一存储类型的存储单元;第二存储区312被设定为对应第二存储类型,即第二存储区312中的存储单元均为同一存储类型的存储单元;第三存储区313的存储类型不定,且第三存储区313与第一存储区311和第二存储区312的地址均连续。
在一个实施例中,第一存储区311包括第一预设数量个存储块,第二存储区312包括第二预设数量个存储块,第一预设数量和第二预设数量均为固定值。第一存储区311中的存储块地址连续,可以涉及一或多个存储片;第二存储区312中的存储块地址连续,可以涉及一或多个存储片;第三存储区313中的存储块地址连续,可以涉及一或多个存储片。第一存储区311、第二存储区312、第三存储区313中的存储块不重合。
在一个实施例中,可以直接将对应第一存储类型的写入请求写入第一存储区311,将对应第二存储类型的写入请求写入第二存储区312。但是在另一些实施例中,当固态硬盘300的使用时间较长、读写次数较多时,可能存在第一存储区311或者第二存储区312不够用的情况。此时可以根据每个写入请求对应的存储类型、第一存储区311的剩余存储空间、第二存储区312的剩余存储空间设置第三存储区313对应的存储类型,调用第三存储区313进行支持,以避免转换已存储数据的存储类型。
图4是本公开一个实施例中使用第三存储区的流程图。
参考图4,使用第三存储区进行存储的过程可以包括:
步骤S41,确定对应所述第一存储类型的写入请求的第一数据量以及对应所述第二存储类型的写入请求的第二数据量;
步骤S42,在所述第一数据量超过所述第一存储区的剩余存储空间时,将所述第三存储区设置为对应第一存储类型;
步骤S43,在所述第一数据量未超过所述第一存储区的剩余存储空间,且所述第二数据量超过所述第二存储区的剩余存储空间时,将所述第三存储区设置为对应第二存储类型。
在图4所示实施例中,可以实时判断第一存储区311的剩余存储空间是否能够满足当前对应第一存储类型的写入请求的总的数据量,以及第二存储区312的剩余存储空间是否能够满足当前对应第二存储类型的写入请求的总的数据量。
如果仅有一个存储区不能满足当前数据的存储需求,则直接将第三存储区313设置为该存储区对应的存储类型,以支持该存储区进行存储。由于第三存储区313与第一存储区311和第二存储区312的存储地址均连续,在设置了存储类型后,能够与第一存储区311或第二存储区312协同存储连续数据,不会发生同一数据流被分为不同地址进行存储的情况。
如果第一存储区311和第二存储区312均不能满足存储需求,优先将第三存储区313设置为对应第一存储类型,以满足对存储性能的要求。
在尚无对第三存储区313写入数据的需求时,可以将第三存储区313默认设置为任意存储类型;在判断需要使用第三存储区313时,将第三存储区313设置为需要的存储类型;在对第三存储区313写入数据后,除非发生预设的特殊事件,否则不对第三存储区的存储类型进行转换,以避免对已写入数据进行存储类型转换。
在设置第三存储区313对应的存储类型时,可以对第三存储区313的全部存储单元均设置相同的存储类型,也可以按照实际的存储需求对全部存储单元设置不完全相同的存储类型。
图5是本公开另一个实施例中固态硬盘的示意图。
参考图5,在另一个实施例中,第三存储区313包括多个存储地址连续的子存储区313i,每个子存储区313i对应的存储类型不完全相同。
在固态硬盘如图5所示时,可以根据每个写入请求对应的存储类型、第一存储区的剩余存储空间、第二存储区的剩余存储空间将第三存储区中的至少一个子存储区设置为对应第一存储类型,和/或,根据每个写入请求对应的存储类型、第一存储区的剩余存储空间、第二存储区的剩余存储空间将第三存储区中的至少一个子存储区设置为对应第二存储类型;其中,对应第一存储类型的子存储区与第一存储区的存储地址连续,对应第二存储类型的子存储区与第二存储区的存储地址连续。
如图5所示,可以将与第一存储区311的地址连续的多个相邻的子存储区313a~313c均设置为第一存储类型,将与第二存储区312的地址连续的多个相邻的子存储区313y、313z均设置为第二存储类型。从而实现第三存储区313的复用。
多个子存储区313i的存储容量大小可以固定,由此,可以根据图4实施例中的第一数据量超过第一存储区311的剩余存储空间的多少,来确定将多少个临近第一存储区311的子存储区313i设置为第一存储类型;和/或,根据图4实施例中的第二数据量超过第二存储区312的剩余存储空间的多少,来确定将多少个临近第二存储区312的子存储区313i设置为第二存储类型。
如果下一批预设时段内的写入请求到达,仍需要调用第三存储区313来辅助存储时,如果需要将一部分子存储区313i设置为第一存储类型,则按照与已经被设置为第一存储类型的子存储区313i的地址的距离由近到远将更多子存储区313i设置为第一存储类型。将更多子存储区313i设置为第二存储类型的方式相同,不再赘述。
在第三存储区313多次进行辅助存储后,如果剩余的子存储区313i的总存储容量不足以支撑当前的存储需求,则可以直接告警。
在另一些实施例中,还可以将第三存储区313中的一些子存储区313i设置为第三存储类型、第四存储类型等,以为特殊数据提供更丰富和全面的存储类型选择。
图6是本公开再一个实施例中固态硬盘的存储空间划分示意图。
参考图6,在再一个实施例中,靠近第一存储区311的多个子存储区313i被设置为对应第一存储类型,靠近第二存储区312的多个子存储区313i被设置为对应第二存储类型,位于第一存储类型的子存储区和第二存储类型的子存储区之间的固定数量的子存储区被设置为对应第三存储类型。第三存储类型与第一存储类型和第二存储类型均不相同,例如,当第一存储类型为SLC,第二存储类型为TLC时,第三存储类型可以为MLC或者QLC。第三存储类型的存储性能可以介于第一存储类型和第二存储类型之间,也可以同时优于第一存储类型和第二存储类型,或者同时劣于第一存储类型和第二存储类型(但是能提供更大的存储空间)。
综上所述,本公开实施例在固态硬盘中设置存储类型固定、存储空间固定的第一存储区和第二存储区,同时根据实时的写入请求的特点进行数据写入,能够为每个写入请求确定满足其最重要的存储需求和最低存储需求的存储类型,合理对每个写入请求的数据流进行存储,避免后续更改已存储数据的存储类型,造成不必要的数据转换和写入次数浪费。此外,通过在第一存储区和第二存储区之间设置可以灵活变动的第三存储区,能够降低固定第一存储区和第二存储区带来的存储容量需求无法满足的风险,同时减少转换存储类型的风险。第三存储区还能提供更细致和丰富的存储类型、存储容量选择,提高固态硬盘的使用灵活性,整体提高了固态硬盘的写入性能。
对应于上述方法实施例,本公开还提供一种固态硬盘写入控制装置,可以用于执行上述方法实施例。
图7是本公开示例性实施例中一种固态硬盘写入控制装置的方框图。
参考图7,固态硬盘写入控制装置700可以包括:
特征提取模块71,设置为采集预设时段内的一或多个写入请求,获取每个所述写入请求的预设参数以及所述预设时段内的写入请求特征;
存储类型确定模块72,设置为根据所述预设参数和所述写入请求特征确定每个所述写入请求对应所述第一存储类型或所述第二存储类型;
数据写入模块73,设置为根据每个所述写入请求对应的存储类型,将所述写入请求的写入数据流写入所述第一存储类型对应的存储区或者所述第二存储类型对应的存储区。
在本公开的一种示例性实施例中,所述第一存储类型包括单层式存储类型,所述第二存储类型包括多层式存储类型、三层式存储类型、四层式存储类型中的一种。
在本公开的一种示例性实施例中,所述写入请求的预设参数包括写入地址和响应时间要求,所述预设时段内的写入请求特征包括所述预设时段内的写入请求数量、所述预设时段内的写入请求的写入地址涉及的存储页数。
在本公开的一种示例性实施例中,存储类型确定模块72设置为:在一个所述写入请求的所述响应时间要求小于第一预设值时,确定该写入请求对应所述第一存储类型;在所述预设时段内的写入请求数量小于第二预设值时,将所述预设时段内的一或多个写入请求中不对应所述第一存储类型的写入请求,均确定为对应所述第二存储类型;在所述预设时段内的写入请求数量大于等于所述第二预设值且在所述预设时段内的写入请求的写入地址涉及的存储页数超过第三预设值时,确定所述预设时段内的一或多个写入请求均对应所述第一存储类型;在所述预设时段内的写入请求数量大于等于所述第二预设值且在所述预设时段内的写入请求的写入地址涉及的存储页数不超过所述第三预设值时,将所述预设时段内的一或多个写入请求中不对应所述第一存储类型的写入请求,均确定为对应所述第二存储类型。
在本公开的一种示例性实施例中,还包括第三存储区调用模块74,第三存储区调用模块74设置为:根据每个所述写入请求对应的存储类型、所述第一存储区的剩余存储空间、所述第二存储区的剩余存储空间设置所述第三存储区对应的存储类型。
在本公开的一种示例性实施例中,第三存储区调用模块74设置为:确定对应所述第一存储类型的写入请求的第一数据量以及对应所述第二存储类型的写入请求的第二数据量;在所述第一数据量超过所述第一存储区的剩余存储空间时,将所述第三存储区设置为对应第一存储类型;在所述第一数据量未超过所述第一存储区的剩余存储空间,且所述第二数据量超过所述第二存储区的剩余存储空间时,将所述第三存储区设置为对应第二存储类型。
在本公开的一种示例性实施例中,所述第三存储区包括多个存储地址连续的子存储区,每个所述子存储区对应的存储类型不完全相同,第三存储区调用模块74设置为:根据每个所述写入请求对应的存储类型、所述第一存储区的剩余存储空间、所述第二存储区的剩余存储空间将所述第三存储区中的至少一个所述子存储区设置为对应所述第一存储类型,和/或,根据每个所述写入请求对应的存储类型、所述第一存储区的剩余存储空间、所述第二存储区的剩余存储空间将所述第三存储区中的至少一个所述子存储区设置为对应所述第二存储类型;其中,对应所述第一存储类型的子存储区与所述第一存储区的存储地址连续,对应所述第二存储类型的子存储区与所述第二存储区的存储地址连续。
由于装置700的各功能已在其对应的方法实施例中予以详细说明,本公开于此不再赘述。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和构思由权利要求指出。

Claims (8)

1.一种固态硬盘写入控制方法,其特征在于,所述固态硬盘的存储空间包括第一存储区、第二存储区、第三存储区,所述第一存储区对应第一存储类型,所述第二存储区对应第二存储类型,所述第三存储区的存储地址与所述第一存储区的存储地址和所述第二存储区的存储地址均连续;所述方法包括:
采集预设时段内的一或多个写入请求,获取每个所述写入请求的预设参数以及所述预设时段内的写入请求特征;
根据所述预设参数和所述写入请求特征确定每个所述写入请求对应所述第一存储类型或所述第二存储类型;
根据每个所述写入请求对应的存储类型,将所述写入请求的写入数据流写入所述第一存储类型对应的存储区或者所述第二存储类型对应的存储区;
其中,所述写入请求的预设参数包括写入地址和响应时间要求,所述预设时段内的写入请求特征包括所述预设时段内的写入请求数量、所述预设时段内的写入请求的写入地址涉及的存储页数,所述根据所述预设参数和所述写入请求特征确定每个所述写入请求对应所述第一存储类型或所述第二存储类型包括:
在一个所述写入请求的所述响应时间要求小于第一预设值时,确定该写入请求对应所述第一存储类型;
在所述预设时段内的写入请求数量小于第二预设值时,将所述预设时段内的一或多个写入请求中不对应所述第一存储类型的写入请求,均确定为对应所述第二存储类型;
在所述预设时段内的写入请求数量大于等于所述第二预设值且在所述预设时段内的写入请求的写入地址涉及的存储页数超过第三预设值时,确定所述预设时段内的一或多个写入请求均对应所述第一存储类型;
在所述预设时段内的写入请求数量大于等于所述第二预设值且在所述预设时段内的写入请求的写入地址涉及的存储页数不超过所述第三预设值时,将所述预设时段内的一或多个写入请求中不对应所述第一存储类型的写入请求,均确定为对应所述第二存储类型。
2.如权利要求1所述的固态硬盘写入控制方法,其特征在于,所述第一存储类型包括单层式存储类型,所述第二存储类型包括多层式存储类型、三层式存储类型、四层式存储类型中的一种。
3.如权利要求1所述的固态硬盘写入控制方法,其特征在于,还包括:
根据每个所述写入请求对应的存储类型、所述第一存储区的剩余存储空间、所述第二存储区的剩余存储空间设置所述第三存储区对应的存储类型。
4.如权利要求3所述的固态硬盘写入控制方法,其特征在于,所述根据每个所述写入请求对应的存储类型、所述第一存储区的剩余存储空间、所述第二存储区的剩余存储空间设置所述第三存储区对应的存储类型包括:
确定对应所述第一存储类型的写入请求的第一数据量以及对应所述第二存储类型的写入请求的第二数据量;
在所述第一数据量超过所述第一存储区的剩余存储空间时,将所述第三存储区设置为对应第一存储类型;
在所述第一数据量未超过所述第一存储区的剩余存储空间,且所述第二数据量超过所述第二存储区的剩余存储空间时,将所述第三存储区设置为对应第二存储类型。
5.如权利要求3所述的固态硬盘写入控制方法,其特征在于,所述第三存储区包括多个存储地址连续的子存储区,每个所述子存储区对应的存储类型不完全相同,所述根据每个所述写入请求对应的存储类型、所述第一存储区的剩余存储空间、所述第二存储区的剩余存储空间设置所述第三存储区对应的存储类型包括:
根据每个所述写入请求对应的存储类型、所述第一存储区的剩余存储空间、所述第二存储区的剩余存储空间将所述第三存储区中的至少一个所述子存储区设置为对应所述第一存储类型,
和/或,根据每个所述写入请求对应的存储类型、所述第一存储区的剩余存储空间、所述第二存储区的剩余存储空间将所述第三存储区中的至少一个所述子存储区设置为对应所述第二存储类型;
其中,对应所述第一存储类型的子存储区与所述第一存储区的存储地址连续,对应所述第二存储类型的子存储区与所述第二存储区的存储地址连续。
6.一种固态硬盘写入控制装置,其特征在于,包括:
特征提取模块,设置为采集预设时段内的一或多个写入请求,获取每个所述写入请求的预设参数以及所述预设时段内的写入请求特征;
存储类型确定模块,设置为根据所述预设参数和所述写入请求特征确定每个所述写入请求对应第一存储类型或第二存储类型;
数据写入模块,设置为根据每个所述写入请求对应的存储类型,将所述写入请求的写入数据流写入所述第一存储类型对应的存储区或者所述第二存储类型对应的存储区;
其中,所述写入请求的预设参数包括写入地址和响应时间要求,所述预设时段内的写入请求特征包括所述预设时段内的写入请求数量、所述预设时段内的写入请求的写入地址涉及的存储页数,所述存储类型确定模块设置为:
在一个所述写入请求的所述响应时间要求小于第一预设值时,确定该写入请求对应所述第一存储类型;
在所述预设时段内的写入请求数量小于第二预设值时,将所述预设时段内的一或多个写入请求中不对应所述第一存储类型的写入请求,均确定为对应所述第二存储类型;
在所述预设时段内的写入请求数量大于等于所述第二预设值且在所述预设时段内的写入请求的写入地址涉及的存储页数超过第三预设值时,确定所述预设时段内的一或多个写入请求均对应所述第一存储类型;
在所述预设时段内的写入请求数量大于等于所述第二预设值且在所述预设时段内的写入请求的写入地址涉及的存储页数不超过所述第三预设值时,将所述预设时段内的一或多个写入请求中不对应所述第一存储类型的写入请求,均确定为对应所述第二存储类型。
7.一种固态硬盘,其特征在于,包括:
存储阵列,包括第一存储区、第二存储区、第三存储区,所述第一存储区对应第一存储类型,所述第二存储区对应第二存储类型,所述第三存储区的存储地址与所述第一存储区的存储地址和所述第二存储区的存储地址均连续;以及
控制器,连接所述存储阵列,用于执行如权利要求1-5任一项所述的固态硬盘写入控制方法以对所述存储阵列进行数据写入。
8.如权利要求7所述的固态硬盘,其特征在于,所述第三存储区包括多个存储地址连续的子存储区,每个所述子存储区对应的存储类型不完全相同。
CN202211682059.4A 2022-12-27 2022-12-27 固态硬盘写入控制方法、装置与固态硬盘 Active CN115657972B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211682059.4A CN115657972B (zh) 2022-12-27 2022-12-27 固态硬盘写入控制方法、装置与固态硬盘

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211682059.4A CN115657972B (zh) 2022-12-27 2022-12-27 固态硬盘写入控制方法、装置与固态硬盘

Publications (2)

Publication Number Publication Date
CN115657972A CN115657972A (zh) 2023-01-31
CN115657972B true CN115657972B (zh) 2023-06-06

Family

ID=85022470

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211682059.4A Active CN115657972B (zh) 2022-12-27 2022-12-27 固态硬盘写入控制方法、装置与固态硬盘

Country Status (1)

Country Link
CN (1) CN115657972B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021035761A1 (zh) * 2019-08-31 2021-03-04 华为技术有限公司 一种固态硬盘混合读写的实现方法以及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100332922A1 (en) * 2009-06-30 2010-12-30 Mediatek Inc. Method for managing device and solid state disk drive utilizing the same
CN104423892A (zh) * 2013-08-29 2015-03-18 宏碁股份有限公司 数据写入方法、磁盘模块以及数据写入系统
CN105808156B (zh) * 2014-12-31 2020-04-28 华为技术有限公司 将数据写入固态硬盘的方法及固态硬盘
CN114546295B (zh) * 2022-04-25 2022-07-01 武汉麓谷科技有限公司 一种基于zns固态硬盘的智能写分配方法和装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021035761A1 (zh) * 2019-08-31 2021-03-04 华为技术有限公司 一种固态硬盘混合读写的实现方法以及装置

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
Hai Jin等.Flubber: Two-level disk scheduling in virtualized environment.《Future Generation Computer Systems》.2013,第29卷(第8期),全文. *
Zhu Wang等.Preserving SSD lifetime in deep learning applications with delta snapshots.《Journal of Parallel and Distributed Computing》.2019,第133卷全文. *
姚英彪 ; 王发宽 ; .具有磨损均衡意识的混合固态硬盘FTL算法.计算机学报.2017,(第10期),全文. *
杜晨杰 ; 姚英彪 ; .一种面向闪存固态盘的页级缓冲区管理算法.计算机工程.2017,(第07期),全文. *
黄耀钦 ; 邓玉辉 ; .MFTL:一种基于固态盘系统非对齐更新数据的合并策略.小型微型计算机系统.2018,(第06期),全文. *

Also Published As

Publication number Publication date
CN115657972A (zh) 2023-01-31

Similar Documents

Publication Publication Date Title
US8504784B2 (en) Scheduling methods of phased garbage collection and housekeeping operations in a flash memory system
US20200004455A1 (en) Data storage system with improved time-to-ready
CN102317925B (zh) 存储器系统和控制存储器系统的方法
KR101505395B1 (ko) 플래시 메모리 시스템에서 페이징된 가비지 수집과 하우스 키핑 동작
US20090006720A1 (en) Scheduling phased garbage collection and house keeping operations in a flash memory system
JP5947302B2 (ja) 複数のメモリチャネルを有するコンピューティングシステムにおけるメモリバッファの割り当て
US9569381B2 (en) Scheduler for memory
CN105469829A (zh) 存储设备健康诊断
WO2006051780A1 (ja) 同時アクセスするバンク数が異なるメモリコントローラに対応した不揮発性メモリ装置
US11853204B2 (en) Memory system and garbage collection control method
US20100287332A1 (en) Data storing system, data storing method, executing device, control method thereof, control device, and control method thereof
CN112463333A (zh) 一种基于多线程并发的数据存取方法、装置和介质
CN115657972B (zh) 固态硬盘写入控制方法、装置与固态硬盘
CN116795735B (zh) 固态硬盘空间分配方法、装置、介质及系统
CN116457885A (zh) 一种数据处理方法、装置及系统
US20200004636A1 (en) Data Storage System with Strategic Contention Avoidance
US20220113898A1 (en) Data storage system with workload-based asymmetry compensation
CN114780033A (zh) Jbod级联系统、存储资源分配方法及装置
CN108572924B (zh) 一种3d mlc闪存设备的请求处理方法
KR102500889B1 (ko) 동적 예측 레이턴시 속성들
CN113849421B (zh) 全闪存储中数据的分级聚合方法和装置
CN113127377B (zh) 一种非易失存储器件写擦除的磨损均衡方法
US11379031B2 (en) Power-endurance modes for data center solid-state drives
CN117311636A (zh) Ssd中物理块的优化管理方法、装置及电子设备
TWI385672B (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
TR01 Transfer of patent right

Effective date of registration: 20240415

Address after: Room 601, Building 7, Contemporary Dream Factory, No. 20 Guannanyuan 1st Road, Donghu New Technology Development Zone, Wuhan City, Hubei Province, 430000

Patentee after: Wuhan Turnerfei Electronic Technology Co.,Ltd.

Country or region after: China

Address before: Room 0406, Floor 4, No. 10, Haidian North Second Street, Haidian District, Beijing 100080

Patentee before: Beijing Tenafei Electronic Technology Co.,Ltd.

Country or region before: China