一种数据处理方法、装置及闪存设备的制造方法
【技术领域】
[0001]本发明涉及闪存设备技术领域,具体涉及一种数据处理方法、装置及闪存设备。
【背景技术】
[0002]固态硬盘(Solid State Drives,SSD),简称固盘,为用固态电子存储芯片阵列制成的硬盘。SSD被广泛应用于军事、车载、工控、视频监控、网络监控、网络终端、电力、医疗、航空、导航设备等领域。市面上,常见的SSD的容量一般有60/64GB、120/128GB、240/256GB、480/512GB、960G/1024G,斜线左边的数值为用户可用空间容量,右边的数值为SSD的物理空间容量,两者之间的差值为冗余空间(Over Provis1ning,OP),通常这部分空间用户不可操作,容量大小一般由主控决定。OP —般被用来做优化操作,包括磨损平衡,垃圾回收和坏块映射等。冗余比即为冗余空间容量与用户可用空间容量之间的比值,业界典型的冗余比为7%和28%:以1024GB物理空间容量为例,当用户可用空间容量为960GB时,对应的冗余比为7%,S卩(1024-960)/960 ;当用户可用空间容量为800GB时,对应的冗余比为28%,即(1024-800)/800。冗余比越大随机写入性能越高,性能波动越小,使用寿命越长,但是冗余比越大意味着成本越高。
[0003]由于SSD中的闪存必须先擦除才能再写入,读写是以页为单位而擦除是以块为单位,导致实际写入的数据量比主机写入的数据量大很多。写入放大(Write Amplificat1n,WA),即实际写入数据量与主机写入数据量的比值。WA越大,冗余比越小,使用寿命越短,随机写入性能越低。
[0004]目前,SSD厂商对一定容量的SSD提供多种冗余比,用户根据自己的需求选择一种固定的冗余比。一旦冗余比固定,该SSD的各项参数也就随之固定,同时该SSD的性能、使用寿命也就随之固定,该SSD只能以该固定冗余比运行,导致SSD的性能、使用寿命难以进一步优化。
【发明内容】
[0005]本发明实施例提供一种数据处理方法、装置及闪存设备,能够动态调整冗余比,提高闪存设备的可靠性和性能稳定性,从而延长闪存设备的使用寿命。
[0006]本发明实施例第一方面提供一种数据处理方法,所述方法应用于存储系统中,所述存储系统包括主机和闪存设备,所述闪存设备的物理存储空间根据多个不同的冗余比配置多个冗余等级,每个冗余等级对应一段用户存储空间容量的区间,每个用户存储空间容量的区间对应不同的调整参数,所述冗余比为冗余空间容量与所述用户存储空间容量的比值,所述冗余空间容量为所述物理存储空间的容量与所述用户存储空间容量的差值,所述方法由所述闪存设备执行包括:
[0007]接收所述主机发送的操作指令,根据所述操作指令对所述闪存设备中存储的数据进行操作,并确定操作后的所述闪存设备中用户存储的数据量;
[0008]根据所述操作后的所述闪存设备中用户存储的数据量以及所述每个冗余等级对应的用户存储空间容量的区间,确定目标冗余等级;
[0009]根据所述目标冗余等级以及所述每个冗余等级与调整参数之间的对应关系,确定目标调整参数;
[0010]按照所述目标调整参数调整所述闪存设备的冗余空间容量的大小。
[0011]在本发明实施例第一方面的第一种可能的实现方式中,所述接收所述主机发送的操作指令,根据所述操作指令对所述闪存设备中存储的数据进行操作,并确定操作后的所述闪存设备中用户存储的数据量,包括:
[0012]接收所述主机发送的写入指令,根据所述写入指令确定待添加数据;
[0013]将所述待添加数据添加至所述闪存设备中,并将所述待添加数据添加至所述闪存设备后的用户存储的数据量确定为操作后的所述闪存设备中用户存储的数据量。
[0014]在本发明实施例第一方面的第二种可能的实现方式中,所述接收所述主机发送的操作指令,根据所述操作指令对所述闪存设备中存储的数据进行操作,并确定操作后的所述闪存设备中用户存储的数据量,包括:
[0015]接收所述主机发送的删除指令,根据所述删除指令确定待删除数据;
[0016]将所述待删除数据从所述闪存设备中删除,并将所述待删除数据被删除后的用户存储的数据量确定为操作后的所述闪存设备中用户存储的数据量。
[0017]结合本发明实施例第一方面的第一种可能的实现方式中,在本发明实施例第三种可能的实现方式中,所述将所述待添加数据添加至所述闪存设备中之前,还包括:
[0018]对所述待添加数据进行压缩,所述待添加数据是压缩后的数据。
[0019]结合本发明实施例第一方面的第一种至第三种可能的实现方式中,在本发明实施例第四种可能的实现方式中,在所述按照所述目标调整参数调整所述闪存设备的冗余空间容量的大小的步骤之后,还包括:
[0020]根据所述目标调整参数中的目标垃圾回收调整参数对所述闪存设备存储的数据进行垃圾回收处理。
[0021]结合本发明实施例第一方面的第一种至第三种可能的实现方式中,在本发明实施例第五种可能的实现方式中,在所述按照所述目标调整参数调整所述闪存设备的冗余空间容量的大小的步骤之后,还包括:
[0022]根据所述目标调整参数中的目标磨损平衡调整参数对所述闪存设备存储的数据进行磨损平衡处理。
[0023]本发明实施例第二方面提供一种数据处理装置,所述数据处理装置应用于存储系统中的闪存设备中,所述存储系统还包括主机,所述闪存设备的物理存储空间根据多个不同的冗余比配置多个冗余等级,每个冗余等级对应一段用户存储空间容量的区间,每个用户存储空间容量的区间对应不同的调整参数,所述冗余比为冗余空间容量与所述用户存储空间容量的比值,所述冗余空间容量为所述物理存储空间的容量与所述用户存储空间容量的差值,所述数据处理装置包括:
[0024]接收单元,用于接收所述主机发送的操作指令,根据所述操作指令对所述闪存设备中存储的数据进行操作,并确定操作后的所述闪存设备中用户存储的数据量;
[0025]确定单元,用于根据所述操作后的所述闪存设备中用户存储的数据量以及所述每个冗余等级对应的用户存储空间容量的区间,确定目标冗余等级;
[0026]所述确定单元还用于根据所述目标冗余等级以及所述每个冗余等级与调整参数之间的对应关系,确定目标调整参数;
[0027]调整单元,用于按照所述目标调整参数调整所述闪存设备的冗余空间容量的大小。
[0028]在本发明实施例第二方面的第一种可能的实现方式中,所述接收单元具体用于接收所述主机发送的写入指令,根据所述写入指令确定待添加数据,将所述待添加数据添加至所述闪存设备中,并将所述待添加数据添加至所述闪存设备后的用户存储的数据量确定为操作后的所述闪存设备中用户存储的数据量。
[0029]在本发明实施例第二方面的第二种可能的实现方式中,所述接收单元具体用于接收所述主机发送的删除指令,根据所述删除指令确定待删除数据,将所述待删除数据从所述闪存设备中删除,并将所述待删除数据被删除后的用户存储的数据量确定为操作后的所述闪存设备中用户存储的数据量。
[0030]结合本发明实施例第二方面的第一种可能的实现方式中,在本发明实施例第三种可能的实现方式中,所述接收单元还用于对所述待添加数据进行压缩,所述待添加数据是压缩后的数据。
[0031]结合本发明实施例第二方面的第一种至第三种可能的实现方式中,在本发明实施例第四种可能的实现方式中,还包括:
[0032]处理单元,用于根据所述目标调整参数中的目标垃圾回收调整参数对所述闪存设备存储的数据进行垃圾回收处理。
[0033]结合本发明实施例第二方面的第一种至第三种可能的实现方式中,在本发明实施例第五种可能的实现方式中,所述处理单元还用于根据所述目标调整参数中的目标磨损平衡调整参数对所述闪存设备存储的数据进行磨损平衡处理。
[0034]本发明实施例第三方面提供一种闪存设备,包括本发明实施例第二方面提供的数据处理装置。
[0035]在本发明实施例中,通过接收主机发送的操作指令,根据操作指令对闪存设备中存储的数据进行操作,并确定操作后的闪存设备中用户存储的数据量,然后根据操作后的闪存设备中用户存储的数据量以及每个冗余