掌桥专利:专业的专利平台
掌桥专利
首页

SSD系统数据的存储方法、装置、电子设备及介质

文献发布时间:2024-04-18 20:01:55


SSD系统数据的存储方法、装置、电子设备及介质

技术领域

本申请涉及SSD系统数据读写技术领域,尤其涉及一种SSD系统数据的存储方法、装置、电子设备及介质。

背景技术

在SSD产品中,除了接收主机传来的数据之外,其本身也会产生一些其他的数据,通常我们将这些数据统称为系统数据。对于不同类型的系统数据,目前的方案是采用统一存储的方式管理,通过建立系统数据映射表,将所有类型的系统数据整合在一起集中管理。由于系统数据类型不同,需要更新系统数据的频率也不相同,统一集中管理系统数据的方式会增加数据出错的可能性,且,由于映射表上只会记录每种类型的系统数据对应的最新物理地址,假设当某种类型的系统数据无法正确读回时,则会导致该类型系统数据直接丢失。

发明内容

为了解决上述技术问题,本申请实施例提供了一种SSD系统数据的存储方法、装置、电子设备及介质。

第一方面,本申请实施例提供了一种SSD系统数据的存储方法,所述方法包括:获取SSD系统数据;

将所述SSD系统数据按照重要程度和更新频率进行划分,得到第一系统数据和第二系统数据;

将所述第一系统数据按照N个系统数据类型进行二次划分,得到各系统数据类型对应的第一系统数据子集;

将所述第二系统数据按照N个系统数据类型进行二次划分,得到各系统数据类型对应的第二系统数据子集;

根据所述第一系统数据子集的物理地址和所述第二系统数据的物理地址创建系统数据映射表;

将所述SSD系统数据和所述系统数据映射表写入NAND闪存;

根据所述第二系统数据子集的相对地址创建二级寻址表;

将所述二级寻址表写入缓存空间。

在一实施方式中,所述第一系统数据为第一重要程度、第一更新频率的系统数据,所述第二系统数据为第二重要程度、第二更新频率的系统数据;

所述第一重要程度高于所述第二重要程度,所述第一更新频率低于所述第二更新频率。

在一实施方式中,所述根据所述第一系统数据子集的物理地址和所述第二系统数据的物理地址创建系统数据映射表,包括:

获取所述第一系统数据子集对应的每一种类型系统数据的第一物理地址;

将所述第一物理地址记录在所述系统数据映射表;

获取所述第二系统数据对应的整块区域的物理地址,得到第二物理地址;

将所述第二物理地址记录在所述系统数据映射表。

在一实施方式中,所述将所述SSD系统数据和所述系统数据映射表写入NAND闪存之前,还包括:

将所述第一系统数据子集进行备份,得到第一备份系统数据子集和第二备份系统数据子集;

将所述第一系统数据子集、所述第一备份系统数据子集和所述第二备份系统数据子集写入所述NAND闪存。

在一实施方式中,所述根据所述第二系统数据子集的相对地址创建二级寻址表,包括:

获取所述第二系统数据子集对应的每一种类型系统数据的相对地址,将所述相对地址记录在所述二级寻址表。

在一实施方式中,所述相对地址为各所述第二系统数据子集在所述整块区域内对应的存放位置。

第二方面,本申请实施例提供了一种SSD系统数据的存储装置,所述SSD系统数据的存储装置包括:

第一划分模块,用于将SSD系统数据按照重要程度和更新频率进行划分,得到第一系统数据和第二系统数据;

第二划分模块,用于将所述第一系统数据按照N个系统数据类型进行二次划分,得到各系统数据类型对应的第一系统数据子集;将所述第二系统数据按照N个系统数据类型进行二次划分,得到各系统数据类型对应的第二系统数据子集;

第一创建模块,用于根据所述第一系统数据子集的物理地址和所述第二系统数据的物理地址创建系统数据映射表;

第一写入模块,用于将所述SSD系统数据和所述系统数据映射表写入NAND闪存中;

第二创建模块,用于根据所述第二系统数据子集的相对地址创建二级寻址表;

第二写入模块,用于将所述二级寻址表写入缓存空间。

在一实施方式中,所述装置还包括:备份模块,将所述第一系统数据子集进行备份,得到第一备份系统数据子集和第二备份系统数据子集;

第三写入模块,将所述第一系统数据子集、所述第一备份系统数据子集和所述第二备份系统数据子集写入所述NAND闪存。

第三方面,本申请实施例提供了一种电子设备,包括存储器以及处理器,所述存储器用于存储计算机程序,所述计算机程序在所述处理器运行时执行第一方面提供的SSD系统数据的存储方法。

第四方面,本申请实施例提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序在处理器上运行时执行第一方面提供的SSD系统数据的存储方法。

上述本申请提供的SSD系统数据的存储方法、装置、电子设备及介质,属于SSD系统数据读写技术领域。其中方法包括:获取SSD系统数据;将SSD系统数据按照重要程度和更新频率进行划分,得到第一系统数据和第二系统数据;将所述第一系统数据按照N个系统数据类型进行二次划分,得到各系统数据类型对应的第一系统数据子集;将所述第二系统数据按照N个系统数据类型进行二次划分,得到各系统数据类型对应的第二系统数据子集;根据所述第一系统数据子集的物理地址和所述第二系统数据的物理地址创建系统数据映射表;将所述SSD系统数据和所述系统数据映射表写入NAND闪存;根据所述第二系统数据子集的相对地址创建二级寻址表;将所述二级寻址表写入缓存空间。通过本申请所提供的SSD系统数据的存储方法,提高了系统数据管理的精确度,减小了系统数据直接丢失的可能性。

附图说明

为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对本申请保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。

图1示出了SSD系统数据的存储方法的一流程示意图;

图2示出了本申请实施例提供了SSD系统数据的存储方法的另一流程示意图;

图3示出了本申请实施例提供的SSD系统数据的存储方法的另一流程示意图;

图4示出了本申请实施例提供的SSD系统数据的存储装置的一结构示意图;

图5示出了本申请实施例提供的电子设备的一结构示意图。

图标:400-SSD系统数据的存储装置;401-第一划分模块;402-第二划分模块;403-第一创建模块;404-第一写入模块;405-第二创建模块;406-第二写入模块;407-备份模块;408-第三写入模块;500-电子设备,501-收发机,502-处理器,503-存储器。

具体实施方式

下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。

通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

在下文中,可在本申请的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。

此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本申请的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本申请的各种实施例中被清楚地限定。

实施例1

本申请实施例提供了一种SSD系统数据的存储方法。目前,对于不同类型的系统数据,采用统一存储的方式管理,会将所有类型的数据存放在同一块Nand闪存区域,通过创建映射表去管理数据存放的具体物理地址。由于不同类型的系统数据更新频率和重要程度不同,在更新数据的过程中,只能对整体的Nand闪存区域进行写入操作,会对不需更新的数据产生影响,增加数据出错的可能性,故本方案提出一种能够高效合理管理系统数据的SSD系统数据的存储方法。

参见图1,SSD系统数据的存储方法包括:

步骤S101,获取SSD系统数据。

需要说明的是,在SSD产品中,除了接收主机传来的数据之外,其本身也会产生一些其他的数据,例如坏块表,记录SSD运行状态,SSD运行固件代码,记录主机和SSD运行日志等,通常将这些数据统称为系统数据。

步骤S102,将所述SSD系统数据按照重要程度和更新频率进行划分,得到第一系统数据和第二系统数据。

需要说明的是,所述第一系统数据为第一重要程度、第一更新频率的系统数据,所述第二系统数据为第二重要程度、第二更新频率的系统数据;所述第一重要程度高于所述第二重要程度,所述第一更新频率低于所述第二更新频率。

进一步说明的是,常见的第一重要程度、第一更新频率的系统数据类型有:Loader固件、SSD运行主固件、坏块替换表等,常见的第二重要程度且第二更新频率的第二系统数据类型包括但不限于:SSD Smart信息,盘片运行记录日志,主机日志,SSD盘片上电信息等。

步骤S103,将所述第一系统数据按照N个系统数据类型进行二次划分,得到各系统数据类型对应的第一系统数据子集。

需要说明的是,将第一系统数据按照不同的系统数据类型进行二次划分,为创建系统映射表做准备。

步骤S104,将所述第二系统数据按照N个系统数据类型进行二次划分,得到各系统数据类型对应的第二系统数据子集。

在本实施例中,通过二次划分,将第二系统数据对应的每一种系统数据类型相应的相对地址记录在二级寻址表上,以此增加了数据查找的效率,且第二系统数据更新,只需更新二级寻址表上的相对地址,不会产生额外的内存损耗。

步骤S105,根据所述第一系统数据子集的物理地址和所述第二系统数据的物理地址创建系统数据映射表。

在本实施例中,获取第一系统数据对应的各系统数据类型的第一物理地址和第二系统数据的整块区域的第二物理地址,通过第一物理地址和第二物理地址创建系统映射表。

请参阅图2,步骤S105包括:

步骤S1051,获取所述第一系统数据子集对应的每一种类型系统数据的第一物理地址。

步骤S1052,将所述第一物理地址记录在所述系统数据映射表。

步骤S1053,获取所述第二系统数据对应的整块区域的物理地址,得到第二物理地址。

步骤S1054,将所述第二物理地址记录在所述系统数据映射表。

在本实施例中,将每一种类型的第一重要程度、第一更新频率的系统数据记录在系统映射表上,将所有的第二重要程度、第二更新频率的系统数据视作一种类型记录在系统映射表上。

步骤S106,将所述SSD系统数据和所述系统数据映射表写入NAND闪存。

请参阅图3,步骤S106包括:

步骤S1061,将所述第一系统数据子集进行备份,得到第一备份系统数据子集和第二备份系统数据子集。

步骤S1062,将所述第一系统数据子集、所述第一备份系统数据子集和所述第二备份系统数据子集写入所述NAND闪存。

需要说明的是,通过数据备份,即使某种类型数据在存储时出现意外错误,也能通过其他备份读取到正确数据,并将错误数据恢复。

步骤S107,根据所述第二系统数据子集的相对地址创建二级寻址表。

需要说明的是,系统映射表会在SSD设备上电时从NAND闪存中被加载起来,而二级寻址映射表会在映射表被加载后,根据映射表上记录的第二系统数据区域起始和结束地址,在整个区域内进行一次第二系统数据类型的数据搜索,搜索完成后即可建立最新的二级寻址表,以此提高了数据查找的效率。

在一实施方式中,获取所述第二系统数据子集对应的每一种类型系统数据的相对地址,将所述相对地址记录在所述二级寻址表。

需要说明的是,对于第二系统数据类型系统数据时,会在选定的整个第二系统数据区域内进行更新操作,每次更新时除了将系统数据写入NAND闪存内,不会再有额外的内存写入操作,只需将新的第二系统数据区域内的相对地址更新在二级寻址表上。只有在更换整个第二系统数据区域的起始和结束地址时,才会更新映射表到NAND闪存中,有效减少了由于更新频率过高而产生的闪存块寿命的磨损,且通过二次寻址表实现了数据的高效管理。

在一实施方式中,所述相对地址为各所述第二系统数据子集在所述整块区域内对应的存放位置。

在本实施例中,相对地址是指在整个第二系统数据子集数据区域内,以第二系统数据子集数据区域起始地址为基准地址,当前某种第二系统数据子集所存放的相对位置,相对地址相比物理地址,占用的内存更小。

步骤S108,将所述二级寻址表写入缓存空间。

需要说明的是,二级寻址表只存在于缓存空间,不会同系统映射表和SSD系统数据一起被写入NAND闪存,由于第二系统数据更新频率高,存入缓存空间,在更新数据的过程中,仅会将更新的第二系统数据记录在二级寻址表上,减少了NAND内存写入的操作,提高了系统数据的健壮性。

本实施例提供的SSD系统数据的存储方法,其中方法包括:获取SSD系统数据;将SSD系统数据按照重要程度和更新频率进行划分,得到第一系统数据和第二系统数据;将所述第一系统数据按照N个系统数据类型进行二次划分,得到各系统数据类型对应的第一系统数据子集;将所述第二系统数据按照N个系统数据类型进行二次划分,得到各系统数据类型对应的第二系统数据子集;根据所述第一系统数据子集的物理地址和所述第二系统数据的物理地址创建系统数据映射表;将所述SSD系统数据和所述系统数据映射表写入NAND闪存;根据所述第二系统数据子集的相对地址创建二级寻址表;将所述二级寻址表写入缓存空间。通过本申请所提供的SSD系统数据的存储方法,对不同类型的数据采用不同的策略管理。更改映射表的结构,有效减少了额外的内存写入动作,降低了写放大,从而达到减少闪存寿命损耗的目的。对第一系统数据以数据块的方式在Nand闪存中进行存储,有效降低了误判影响,将第一重要程度且第一更新频率的系统数据和第二系统数据分区域分策略管理,使不同数据类型管理更高效,且改善了数据混合存放可能带来的数据出错率升高的问题,通过对重要系统数据进行备份的方式,加强了数据存放的健壮性和可恢复性,防止某一份数据意外出错时,整个类型数据丢失。

实施例2

此外,本申请实施例提供了一种SSD系统数据的存储装置,应用于电子设备。

如图4所示,SSD系统数据的存储装置400包括:

第一划分模块401,用于将SSD系统数据按照重要程度和更新频率进行划分,得到第一系统数据和第二系统数据;

第二划分模块402,用于将所述第一系统数据按照N个系统数据类型进行二次划分,得到各系统数据类型对应的第一系统数据子集;将所述第二系统数据按照N个系统数据类型进行二次划分,得到各系统数据类型对应的第二系统数据子集;

第一创建模块403,用于根据所述第一系统数据子集的物理地址和所述第二系统数据的物理地址创建系统数据映射表;

第一写入模块404,用于将所述SSD系统数据和所述系统数据映射表写入NAND闪存中;

第二创建模块405,用于根据所述第二系统数据子集的相对地址创建二级寻址表;

第二写入模块406,用于将所述二级寻址表写入缓存空间。

可选的,备份模块407,用于将所述第一系统数据子集进行备份,得到第一备份系统数据子集和第二备份系统数据子集;

第三写入模块408,用于将所述第一系统数据子集、所述第一备份系统数据子集和所述第二备份系统数据子集写入所述NAND闪存。

本实施例提供的SSD系统数据的存储装置400可以实现实施例1所提供的SSD系统数据的存储方法,为避免重复,在此不再赘述。

实施例3

此外,本申请实施例提供了一种电子设备,包括存储器以及处理器,所述存储器存储有计算机程序,所述计算机程序在所述处理器上运行时执行实施例1所提供的SSD系统数据的存储方法。

具体的,参见图5,所述电子设备500包括:收发机501、总线接口及处理器502,所述处理器502,用于:获取SSD系统数据;将所述SSD系统数据按照重要程度和更新频率进行划分,得到第一系统数据和第二系统数据;将所述第一系统数据按照N个系统数据类型进行二次划分,得到各系统数据类型对应的第一系统数据子集;将所述第二系统数据按照N个系统数据类型进行二次划分,得到各系统数据类型对应的第二系统数据子集;根据所述第一系统数据子集的物理地址和所述第二系统数据的物理地址创建系统数据映射表;将所述SSD系统数据和所述系统数据映射表写入NAND闪存;根据所述第二系统数据子集的相对地址创建二级寻址表;将所述二级寻址表写入缓存空间。

在一实施方式中,所述处理器502还用于:所述第一系统数据为第一重要程度、第一更新频率的系统数据,所述第二系统数据为第二重要程度、第二更新频率的系统数据;所述第一重要程度高于所述第二重要程度,所述第一更新频率低于所述第二更新频率。

在一实施方式中,所述处理器502还用于:获取所述第一系统数据子集对应的每一种类型系统数据的第一物理地址;将所述第一物理地址记录在所述系统数据映射表;获取所述第二系统数据对应的整块区域的物理地址,得到第二物理地址;将所述第二物理地址记录在所述系统数据映射表。

在一实施方式中,所述处理器502还用于:将所述第一系统数据子集进行备份,得到第一备份系统数据子集和第二备份系统数据子集;将所述第一系统数据子集、所述第一备份系统数据子集和所述第二备份系统数据子集写入所述NAND闪存。

在一实施方式中,所述处理器502还用于:获取所述第二系统数据子集对应的每一种类型系统数据的相对地址,将所述相对地址记录在所述二级寻址表。

在一实施方式中,所述处理器502还用于:所述相对地址为各所述第二系统数据子集在所述整块区域内对应的存放位置。

在本申请实施例中,电子设备500还包括:存储器503。在图5中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器502代表的一个或多个处理器和存储器503代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机501可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元。处理器502负责管理总线架构和通常的处理,存储器503可以存储处理器502在执行操作时所使用的数据。

本申请实施例提供的电子设备500,可以执行上述方法实施例1所提供的SSD系统数据的存储方法的步骤,为避免重复,在此不再赘述。

实施例4

本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现实施例1所提供的SSD系统数据的存储方法。

在本实施例中,计算机可读存储介质可以为只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。

本实施例提供的计算机可读存储介质可以实现实施例1所提供的SSD系统数据的存储方法,为避免重复,在此不再赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者终端中还存在另外的相同要素。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。

上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。

技术分类

06120116571864