一种存储数据的方法、存储设备、电子设备与流程

文档序号:11949333阅读:190来源:国知局
一种存储数据的方法、存储设备、电子设备与流程

本发明涉及存储技术,尤其涉及一种存储数据的方法、存储设备、电子设备。



背景技术:

固态硬盘(SSD,Solid State Drives)简称固盘,SSD由固态电子存储芯片阵列而制成,SSD由控制器和存储器组成。控制器主要提供主机访问(扇区)到闪存颗粒(物理页)的访问控制。

由于主机访问的粒度是扇区(512B),而闪存颗粒的物理页大于512B,这样就需要一种映射机制,即闪存转换层(FTL,Flash Translator Layer)来对两种地址进行转换。此外,FTL还具有如下功能:坏块管理、垃圾回收、写平衡。

由于SSD结构特点与制造工艺限制,快闪记忆体(NAND flash)使用中存在位错误现象,基于存储应用的纠错码技术(ECC,Error Correction Code)能够有效解决上述数据可靠性的问题。然而,目前对于存储数据的保护策略为单一的安全策略,在SSD使用前期,NAND flash原始数据错误率(RBER)较低,单一的安全策略导致资源的浪费。在SSD使用后期,NAND flash原始数据错误率(RBER)较高,单一的安全策略无法满足性能要求。这将严重影响存储设备整体性能,降低用户的体验。



技术实现要素:

为解决上述技术问题,本发明实施例提供了一种存储数据的方法、存储设备、电子设备。

本发明实施例提供的存储数据的方法,包括:

检测存储单元中各存储区域,获得第一参数集合,所述第一参数集合用于表征所述各存储区域的存储性能;

检测待存储数据的属性,获得第二参数集合;

基于所述第一参数集合与第二参数集合确定对所述待存储数据的存储策略;

基于所述存储策略,对所述待存储数据进行存储。

本发明实施例中,所述第一参数集合包括所述各存储区域的使用时长;

所述第二参数集合包括所述待存储数据的读写频率。

本发明实施例中,所述方法还包括:

判断所述待存储数据的读写频率是否大于等于预设阈值;

当所述待存储数据的读写频率大于等于所述预设阈值时,确定所述待存储数据的类型为第一类数据;

当所述待存储数据的读写频率小于所述预设阈值时,确定所述待存储数据的类型为第二类数据。

本发明实施例中,所述基于所述第一参数集合与第二参数集合确定对所述待存储数据的存储策略,包括:

根据所述待存储数据的类型和/或所述各存储区域的使用时长,选择相应的纠错码校验位位数,以对所述待存储数据进行存储。

本发明实施例中,所述第一类数据所对应的纠错码校验位位数大于所述第二类数据所对应的纠错码校验位位数。

本发明实施例中,当存储区域的使用时长越长时,所选择的纠错码校验位位数越大;

当存储区域的使用时长越小时,所选择的纠错码校验位位数越小。

本发明实施例提供的存储设备,包括:

存储单元,用于存储数据;

控制器,用于检测存储单元中各存储区域,获得第一参数集合,所述第一参数集合用于表征所述各存储区域的存储性能;检测待存储数据的属性,获得第二参数集合;基于所述第一参数集合与第二参数集合确定对所述待存储数据的存储策略;基于所述存储策略,对所述待存储数据进行存储。

本发明实施例中,所述第一参数集合包括所述各存储区域的使用时长;

所述第二参数集合包括所述待存储数据的读写频率。

本发明实施例中,所述控制器,还用于判断所述待存储数据的读写频率是否大于等于预设阈值;当所述待存储数据的读写频率大于等于所述预设阈值时,确定所述待存储数据的类型为第一类数据;当所述待存储数据的读写频率小于所述预设阈值时,确定所述待存储数据的类型为第二类数据。

本发明实施例中,所述控制器,还用于根据所述待存储数据的类型和/或所述各存储区域的使用时长,选择相应的纠错码校验位位数,以对所述待存储数据进行存储。

本发明实施例中,所述第一类数据所对应的纠错码校验位位数大于所述第二类数据所对应的纠错码校验位位数。

本发明实施例中,当存储区域的使用时长越长时,所选择的纠错码校验位位数越大;

当存储区域的使用时长越小时,所选择的纠错码校验位位数越小。

本发明实施例提供的电子设备包括上述存储设备。

本发明实施例的技术方案中,检测存储单元中各存储区域,获得第一参数集合,所述第一参数集合用于表征所述各存储区域的存储性能;检测待存储数据的属性,获得第二参数集合;基于所述第一参数集合与第二参数集合确定对所述待存储数据的存储策略;基于所述存储策略,对所述待存储数据进行存储。可见,本发明实施例针对存储区域的存储性能以及待存储数据的属性,采取了对应的存储策略对数据进行存储,减少了ECC资源的浪费,同时,提高了存储设备的使用寿命以及系统的整体性能。

附图说明

图1为本发明实施例一的存储数据的方法的流程示意图;

图2为本发明实施例二的存储数据的方法的流程示意图;

图3为本发明实施例三的存储数据的方法的流程示意图;

图4为本发明实施例四至实施例六的存储设备的结构组成示意图。

具体实施方式

为了能够更加详尽地了解本发明实施例的特点与技术内容,下面结合附图对本发明实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本发明实施例。

SSD在使用过程中,存储单元中各存储区域存储的数据有冷热之分。冷数据是指:数据存入SSD后,较长时间内不会进行读取操作。热数据是指:数据存入SSD后,短时间内会对某部分数据进行频繁读取操作。这种冷热数据之分,具有不同的数据错误率。

此外,NAND flash原始数据错误率(RBER)随擦写次数(PE)、放置时间(Retention Time)、读取扰动等情况也会发生变化,这就是说,在NAND flash的生命不同阶段可能的数据错误率是不同的。

针对以上两种情况,如果采取相同的安全策略对数据进行存储,原始数据错误率(RBER)较低时,导致资源的浪费。在原始数据错误率(RBER)较高时,无法满足存储设备性能的要求。

为此,本发明实施例提出了根据SSD中存储数据的冷热区别,NAND flash生命周期不同阶段采取不同的安全策略。

图1为本发明实施例一的存储数据的方法的流程示意图,本示例中的存储数据的方法应用于电子设备中,如图1所示,所述存储数据的方法包括以下步骤:

步骤101:检测存储单元中各存储区域,获得第一参数集合,所述第一参数集合用于表征所述各存储区域的存储性能。

本发明实施例中,所述电子设备可以是笔记本、主机、一体机、服务器等等。所述电子设备包括存储介质和控制器,存储介质用于存储电子设备的数据、指令等等,控制器用于控制电子设备在存储介质中读/写数据,和/或执行存储介质中的指令等等。一般,存储介质和控制器集成设置,形成具有控制功能的存储设备,如SSD。以存储设备为SSD为例,SSD中的存储介质一般为NAND flash。这里,存储单元也即是SSD中的存储介质。

本发明实施例中,以存储单元为SSD中的NAND flash为例,NAND flash原始数据错误率(RBER)随擦写次数(PE)、放置时间(Retention Time)、读取扰动等情况会发生变化。这里,擦写次数(PE)、放置时间(Retention Time)、读取扰动等表明了存储区域的存储性能,存储区域不同的阶段对应的存储性能不同,通过各存储区域的使用时长你能够表征各存储区域的的存储性能,基于此,所述第一参数集合包括所述各存储区域的使用时长。

步骤102:检测待存储数据的属性,获得第二参数集合。

本发明实施例中,存储单元中各存储区域存储的数据具有各自的属性,这个属性与数据的读写频率有关,可见,所述第二参数集合包括所述待存储数据的读写频率。具体地,判断所述待存储数据的读写频率是否大于等于预设阈值;当所述待存储数据的读写频率大于等于所述预设阈值时,确定所述待存储数据的类型为第一类数据;当所述待存储数据的读写频率小于所述预设阈值时,确定所述待存储数据的类型为第二类数据。

实际应用中,存储单元中各存储区域存储的数据有冷热之分。冷数据是指:数据存入SSD后,较长时间内不会进行读取操作。热数据是指:数据存入SSD后,短时间内会对某部分数据进行频繁读取操作。这种冷热数据之分,具有不同的数据错误率。

步骤103:基于所述第一参数集合与第二参数集合确定对所述待存储数据的存储策略;基于所述存储策略,对所述待存储数据进行存储。

本发明实施例中,针对存储区域的存储性能以及待存储数据的属性,采取了对应的存储策略对数据进行存储,减少了ECC资源的浪费,同时,提高了存储设备的使用寿命以及系统的整体性能。

图2为本发明实施例二的存储数据的方法的流程示意图,本示例中的存储数据的方法应用于电子设备中,如图2所示,所述存储数据的方法包括以下步骤:

步骤201:检测存储单元中各存储区域,获得第一参数集合,所述第一参数集合包括所述各存储区域的使用时长。

本发明实施例中,所述电子设备可以是笔记本、主机、一体机、服务器等等。所述电子设备包括存储介质和控制器,存储介质用于存储电子设备的数据、指令等等,控制器用于控制电子设备在存储介质中读/写数据,和/或执行存储介质中的指令等等。一般,存储介质和控制器集成设置,形成具有控制功能的存储设备,如SSD。以存储设备为SSD为例,SSD中的存储介质一般为NAND flash。这里,存储单元也即是SSD中的存储介质。

本发明实施例中,以存储单元为SSD中的NAND flash为例,NAND flash原始数据错误率(RBER)随擦写次数(PE)、放置时间(Retention Time)、读取扰动等情况会发生变化。这里,擦写次数(PE)、放置时间(Retention Time)、读取扰动等表明了存储区域的存储性能,存储区域不同的阶段对应的存储性能不同,通过各存储区域的使用时长你能够表征各存储区域的的存储性能,基于此,所述第一参数集合包括所述各存储区域的使用时长。

步骤202:检测待存储数据的属性,获得第二参数集合,所述第二参数集合包括所述待存储数据的读写频率;根据所述读写频率确定待存储数据的类型。

本发明实施例中,存储单元中各存储区域存储的数据具有各自的属性,这个属性与数据的读写频率有关,可见,所述第二参数集合包括所述待存储数据的读写频率。具体地,判断所述待存储数据的读写频率是否大于等于预设阈值;当所述待存储数据的读写频率大于等于所述预设阈值时,确定所述待存储数据的类型为第一类数据;当所述待存储数据的读写频率小于所述预设阈值时,确定所述待存储数据的类型为第二类数据。

实际应用中,存储单元中各存储区域存储的数据有冷热之分。冷数据是指:数据存入SSD后,较长时间内不会进行读取操作。热数据是指:数据存入SSD后,短时间内会对某部分数据进行频繁读取操作。这种冷热数据之分,具有不同的数据错误率。

步骤203:根据所述待存储数据的类型和/或所述各存储区域的使用时长,选择相应的纠错码校验位位数,以对所述待存储数据进行存储。

本发明实施例中,数据的冷热程度与NAND flash的原始数据错误率(RBER)具有映射关系,冷数据的原始数据错误率(RBER)相对于热数据的原始数据错误率(RBER)较低。

本发明实施例中,NAND flash生命周期不同阶段与NAND flash原始数据错误率(RBER)具有映射关系,使用时间越长的NAND flash的原始数据错误率(RBER)相对于使用时间越短的NAND flash的原始数据错误率(RBER)较高。

在原始数据错误率(RBER)较低时,选择纠错码校验位位数较少的LDPC纠错码,可以减少ECC资源浪费。在原始数据错误率(RBER)较高时,选择纠错码校验位位数较多的LDPC纠错码,可以提高SSD的使用寿命以及系统的整体性能。

本发明实施例中,针对存储区域的存储性能以及待存储数据的属性,采取了对应的存储策略对数据进行存储,减少了ECC资源的浪费,同时,提高了存储设备的使用寿命以及系统的整体性能。

图3为本发明实施例三的存储数据的方法的流程示意图,本示例中的存储数据的方法应用于电子设备中,如图3所示,所述存储数据的方法包括以下步骤:

步骤301:检测存储单元中各存储区域,获得第一参数集合,所述第一参数集合包括所述各存储区域的使用时长。

本发明实施例中,所述电子设备可以是笔记本、主机、一体机、服务器等等。所述电子设备包括存储介质和控制器,存储介质用于存储电子设备的数据、指令等等,控制器用于控制电子设备在存储介质中读/写数据,和/或执行存储介质中的指令等等。一般,存储介质和控制器集成设置,形成具有控制功能的存储设备,如SSD。以存储设备为SSD为例,SSD中的存储介质一般为NAND flash。这里,存储单元也即是SSD中的存储介质。

本发明实施例中,以存储单元为SSD中的NAND flash为例,NAND flash原始数据错误率(RBER)随擦写次数(PE)、放置时间(Retention Time)、读取扰动等情况会发生变化。这里,擦写次数(PE)、放置时间(Retention Time)、读取扰动等表明了存储区域的存储性能,存储区域不同的阶段对应的存储性能不同,通过各存储区域的使用时长你能够表征各存储区域的的存储性能,基于此,所述第一参数集合包括所述各存储区域的使用时长。

步骤302:检测待存储数据的属性,获得第二参数集合,所述第二参数集合包括所述待存储数据的读写频率;根据所述读写频率确定待存储数据的类型。

本发明实施例中,存储单元中各存储区域存储的数据具有各自的属性,这个属性与数据的读写频率有关,可见,所述第二参数集合包括所述待存储数据的读写频率。具体地,判断所述待存储数据的读写频率是否大于等于预设阈值;当所述待存储数据的读写频率大于等于所述预设阈值时,确定所述待存储数据的类型为第一类数据;当所述待存储数据的读写频率小于所述预设阈值时,确定所述待存储数据的类型为第二类数据。

实际应用中,存储单元中各存储区域存储的数据有冷热之分。冷数据是指:数据存入SSD后,较长时间内不会进行读取操作。热数据是指:数据存入SSD后,短时间内会对某部分数据进行频繁读取操作。这种冷热数据之分,具有不同的数据错误率。

步骤303:根据所述待存储数据的类型和/或所述各存储区域的使用时长,选择相应的纠错码校验位位数,以对所述待存储数据进行存储。

本发明实施例中,数据的冷热程度与NAND flash的原始数据错误率(RBER)具有映射关系,冷数据的原始数据错误率(RBER)相对于热数据的原始数据错误率(RBER)较低。

本发明实施例中,NAND flash生命周期不同阶段与NAND flash原始数据错误率(RBER)具有映射关系,使用时间越长的NAND flash的原始数据错误率(RBER)相对于使用时间越短的NAND flash的原始数据错误率(RBER)较高。

步骤304:所述第一类数据所对应的纠错码校验位位数大于所述第二类数据所对应的纠错码校验位位数。当存储区域的使用时长越长时,所选择的纠错码校验位位数越大;当存储区域的使用时长越小时,所选择的纠错码校验位位数越小。

本发明实施例中,在原始数据错误率(RBER)较低时,选择纠错码校验位位数较少的LDPC纠错码,可以减少ECC资源浪费。在原始数据错误率(RBER)较高时,选择纠错码校验位位数较多的LDPC纠错码,可以提高SSD的使用寿命以及系统的整体性能。

考虑到如下关系:冷数据的原始数据错误率(RBER)相对于热数据的原始数据错误率(RBER)较低,使用时间越长的NAND flash的原始数据错误率(RBER)相对于使用时间越短的NAND flash的原始数据错误率(RBER)较高,可见,所述第一类数据所对应的纠错码校验位位数大于所述第二类数据所对应的纠错码校验位位数。当存储区域的使用时长越长时,所选择的纠错码校验位位数越大;当存储区域的使用时长越小时,所选择的纠错码校验位位数越小。根据数据的冷热程度、NAND flash使用时间确定出对应的纠错码校验位位数如表1所示:

表1

本发明实施例中,针对存储区域的存储性能以及待存储数据的属性,采取了对应的存储策略对数据进行存储,减少了ECC资源的浪费,同时,提高了存储设备的使用寿命以及系统的整体性能。

图4为本发明实施例四至实施例六的存储设备的结构组成示意图。

在本发明实施例四中,存储设备,包括:

存储单元41,用于存储数据;

控制器42,用于检测存储单元41中各存储区域,获得第一参数集合,所述第一参数集合用于表征所述各存储区域的存储性能;检测待存储数据的属性,获得第二参数集合;基于所述第一参数集合与第二参数集合确定对所述待存储数据的存储策略;基于所述存储策略,对所述待存储数据进行存储。

本发明实施例中,所述第一参数集合包括所述各存储区域的使用时长;

所述第二参数集合包括所述待存储数据的读写频率。

本发明实施例中,所述控制器42,还用于判断所述待存储数据的读写频率是否大于等于预设阈值;当所述待存储数据的读写频率大于等于所述预设阈值时,确定所述待存储数据的类型为第一类数据;当所述待存储数据的读写频率小于所述预设阈值时,确定所述待存储数据的类型为第二类数据。

基于以上实施例四中的存储设备,在本发明实施例五中,所述控制器42,还用于根据所述待存储数据的类型和/或所述各存储区域的使用时长,选择相应的纠错码校验位位数,以对所述待存储数据进行存储。

基于以上实施例五中的存储设备,在本发明实施例六中,所述第一类数据所对应的纠错码校验位位数大于所述第二类数据所对应的纠错码校验位位数。

当存储区域的使用时长越长时,所选择的纠错码校验位位数越大;

当存储区域的使用时长越小时,所选择的纠错码校验位位数越小。

本领域技术人员应当理解,图4所示的存储设备中的各功能模块的实现功能可参照前述存储数据的方法的相关描述而理解。

本发明实施例还提供了一种电子设备,所述电子设备包括上述任意所述的存储设备;其中,所述存储设备包括:

存储单元,用于存储数据;

控制器,用于检测存储单元中各存储区域,获得第一参数集合,所述第一参数集合用于表征所述各存储区域的存储性能;检测待存储数据的属性,获得第二参数集合;基于所述第一参数集合与第二参数集合确定对所述待存储数据的存储策略;基于所述存储策略,对所述待存储数据进行存储。

本发明实施例中,所述第一参数集合包括所述各存储区域的使用时长;

所述第二参数集合包括所述待存储数据的读写频率。

本发明实施例中,所述控制器,还用于判断所述待存储数据的读写频率是否大于等于预设阈值;当所述待存储数据的读写频率大于等于所述预设阈值时,确定所述待存储数据的类型为第一类数据;当所述待存储数据的读写频率小于所述预设阈值时,确定所述待存储数据的类型为第二类数据。

本发明实施例中,所述控制器,还用于根据所述待存储数据的类型和/或所述各存储区域的使用时长,选择相应的纠错码校验位位数,以对所述待存储数据进行存储。

本发明实施例中,所述第一类数据所对应的纠错码校验位位数大于所述第二类数据所对应的纠错码校验位位数。

当存储区域的使用时长越长时,所选择的纠错码校验位位数越大;

当存储区域的使用时长越小时,所选择的纠错码校验位位数越小。

本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。

在本发明所提供的几个实施例中,应该理解到,所揭露的方法和智能设备,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。

另外,在本发明各实施例中的各功能单元可以全部集成在一个第二处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1