技术新讯 > 信息存储应用技术 > 一种固态硬盘数据写入方法和装置与流程  >  正文

一种固态硬盘数据写入方法和装置与流程

  • 国知局
  • 2024-07-31 20:02:18

本技术实施例涉及固态硬盘,尤其涉及一种固态硬盘数据写入方法和装置。

背景技术:

1、随着电子技术的快速发展,闪存技术的不断更新进步,闪存存储器由tlc模式64层、96层发展到128层,并且qlc(quad-level cell,四层式存储单元)闪存存储器技术的出现,存储密度得到了极大的提高,显著降低存储设备的成本,加快监控存储介质由传统硬盘到固态硬盘ssd的过渡。

2、在ssd的使用过程中,需要采用一些数据完整性控制的技术,保证数据的可靠性。现有的ssd的数据完整性控制的过程,通常采用ecc纠错。ecc纠错是基于低密度奇偶校验ldpc算法,通过给固定长度的用户数据用一段长度的parity校验码而进行数据保护,parity数据越大,理论上的更正能力越强。由于闪存存储器其存储页的spare空间有限,通常需要加大固态存储的主控cw,例如由原来的1kb变为2kb或者4kb;cw越大导致每个页存储的cw越少,虽然纠正能力变强,数据可靠性有所提升,但是主控的成本也随之增长,因此数据完整性控制的效率较低,限制了ssd提高数据完整性的技术的更广泛应用。

3、如何提供一种固态硬盘数据写入方法,解决数据完整性控制的效率较低的问题,具有重要的现实意义。

技术实现思路

1、本技术实施例提供了一种固态硬盘数据写入方法和装置,可以提升数据完整性控制的效率。

2、为达到上述目的,本技术实施例的技术方案是这样实现的:

3、第一方面,本技术实施例提供一种固态硬盘数据写入方法,所述方法包括:

4、响应接收到待写入数据,确定与所述待写入数据对应的固态硬盘的数据页;

5、逐一选取所述数据页,每选取一个数据页,若确定当前选取的数据页的类型为不稳定页,则将当前选取的数据页作为待处理数据页;

6、每监测到增加一个待处理数据页,则确定所述待处理数据页对应的安全编码区域的第一数量和危险编码区域的第二数量;

7、对于每个安全编码区域,根据预设的收缩长度,将所述安全编码区域的奇偶校验位长度缩减为第一目标长度;以及,对于每个危险编码区域,根据扩张长度,将所述危险编码区域的奇偶校验位长度扩增为第二目标长度;所述扩张长度为根据所述第一数量、所述第二数量和所述收缩长度确定的;

8、基于所述第一目标长度和所述第二目标长度,分别对应地进行所述待处理数据页中的安全编码区域和危险编码区域的数据写入。

9、本技术实施例提供的固态硬盘数据写入方法,在数据完整性控制的过程中,响应接收到待写入数据,确定与所述待写入数据对应的固态硬盘的数据页;逐一选取所述数据页,每选取一个数据页,若确定当前选取的数据页的类型为不稳定页,则将当前选取的数据页作为待处理数据页;每监测到增加一个待处理数据页,则确定所述待处理数据页对应的安全编码区域的第一数量和危险编码区域的第二数量;对于每个安全编码区域,根据预设的收缩长度,将所述安全编码区域的奇偶校验位长度缩减为第一目标长度;以及,对于每个危险编码区域,根据扩张长度,将所述危险编码区域的奇偶校验位长度扩增为第二目标长度;所述扩张长度为根据所述第一数量、所述第二数量和所述收缩长度确定的;基于所述第一目标长度和所述第二目标长度,分别对应地进行所述待处理数据页中的安全编码区域和危险编码区域的数据写入。该方法通过针对类型为不稳定页的数据页,结合安全编码区域的数量和危险编码区域的数量实现奇偶校验位长度的动态调整,能够提升奇偶校验位长度调整的精准性,且无需对固态硬盘的主控性能进行提升,节省固态硬盘的成本,有效提升数据完整性控制的效率。

10、在一种可选的实施例中,所述根据预设的收缩长度,将所述安全编码区域的奇偶校验位长度缩减为第一目标长度,包括:

11、将预设的平均校验位长度与所述收缩长度求差值,得到第一目标长度;

12、将所述安全编码区域的奇偶校验位长度由所述平均校验位长度,变更为所述第一目标长度。

13、该实施例的方法,通过将预设的平均校验位长度与所述收缩长度求差值,得到第一目标长度;将所述安全编码区域的奇偶校验位长度由所述平均校验位长度,变更为所述第一目标长度,可以在固态硬盘数据写入时根据平均校验位长度与所述收缩长度高效地减小安全编码区域的奇偶校验位长度,实现对安全编码区域的奇偶校验位长度的动态调整,且无需对固态硬盘的主控性能进行提升,节省固态硬盘的成本,能够更高效地提升数据完整性控制的效率。

14、在一种可选的实施例中,所述根据扩张长度,将所述危险编码区域的奇偶校验位长度扩增为第二目标长度,包括:

15、根据所述收缩长度和所述第一数量,确定所述待处理数据页中安全编码区域的奇偶校验位的长度变化累积量;

16、基于预设的平均分配原则和所述第二数量,将所述长度变化累积量平均分配给所述待处理数据页中危险编码区域,得到扩张长度;

17、将预设的平均校验位长度与所述扩张长度求和,得到第二目标长度;

18、将所述待处理数据页中危险编码区域的奇偶校验位长度,由所述平均校验位长度,变更为所述第二目标长度。

19、该实施例的方法中,根据收缩长度、所述第一数量和第二数量,得到扩张长度,并进一步地基于扩张长度和平均校验位长度,实现危险编码区域的奇偶校验位长度的动态调整,且无需对固态硬盘的主控性能进行提升,节省固态硬盘的成本,能够更高效地提升数据完整性控制的效率。

20、在一种可选的实施例中,所述确定当前选取的数据页的类型为不稳定页之后,所述将当前选取的数据页作为待处理数据页之前,所述方法还包括:

21、根据当前选取的数据页对应的编码区域数量,分析当前选取的数据页中安全编码区域是否满足预设的安全区域充裕条件;

22、若分析结果为否,则将当前选取的数据页作为另行处理数据页;

23、每监测到增加一个另行处理数据页,则确定所述另行处理数据页中的安全编码区域的第三数量和危险编码区域的第四数量,并向待补危险编码区域写入预设的虚拟数据;所述待补危险编码区域为从所述另行处理数据页的危险编码区域中选取的目标填充数量个编码区域;所述目标填充数量为根据所述第四数量确定的;

24、对于所述另行处理数据页,将所述待补危险编码区域和安全编码区域的奇偶校验位长度分别缩减为第三目标长度和第四目标长度;以及,将除所述待补危险编码区域之外的目标危险编码区域的奇偶校验位长度扩增为第五目标长度,使奇偶校验位总长度不变;

25、基于所述第四目标长度和所述第五目标长度,分别对应地进行所述另行处理数据页中的安全编码区域和目标危险编码区域的数据写入;

26、所述将当前选取的数据页作为待处理数据页,包括:

27、若分析结果为是,则将当前选取的数据页作为待处理数据页。

28、该实施例的方法,还通过根据当前选取的数据页对应的编码区域数量,分析当前选取的数据页中安全编码区域是否满足预设的安全区域充裕条件;若分析结果为否,则将当前选取的数据页作为另行处理数据页;每监测到增加一个另行处理数据页,则确定所述另行处理数据页中的安全编码区域的第三数量和危险编码区域的第四数量,并向待补危险编码区域写入预设的虚拟数据;所述待补危险编码区域为从所述另行处理数据页的危险编码区域中选取的目标填充数量个编码区域;所述目标填充数量为根据所述第四数量确定的;对于所述另行处理数据页,将所述待补危险编码区域和安全编码区域的奇偶校验位长度分别缩减为第三目标长度和第四目标长度;以及,将除所述待补危险编码区域之外的目标危险编码区域的奇偶校验位长度扩增为第五目标长度,使奇偶校验位总长度不变;基于所述第四目标长度和所述第五目标长度,分别对应地进行所述另行处理数据页中的安全编码区域和目标危险编码区域的数据写入;所述将当前选取的数据页作为待处理数据页,包括:若分析结果为是,则将当前选取的数据页作为待处理数据页。该方法通过安全区域充裕条件确定待处理数据页中安全编码区域是否充裕,从而提供一种安全编码区域不充裕的情形下的固态硬盘数据写入控制机制,可以更精细地对安全编码区域的奇偶校验位长度的进行动态调整,且无需对固态硬盘的主控性能进行提升,节省固态硬盘的成本,进一步提升数据完整性控制的效率。

29、在一种可选的实施例中,所述对于所述另行处理数据页,将所述待补危险编码区域和安全编码区域的奇偶校验位长度分别缩减为第三目标长度和第四目标长度,包括:

30、对于所述另行处理数据页的每个待补危险编码区域,根据预设的极限调整长度,将所述待补危险编码区域的奇偶校验位长度缩减为第三目标长度;以及,对于所述另行处理数据页的每个安全编码区域,根据预设的另行收缩长度,将所述安全编码区域的奇偶校验位长度缩减为第四目标长度;

31、所述对于所述另行处理数据页,将除所述待补危险编码区域之外的目标危险编码区域的奇偶校验位长度增加调整为第五目标长度,使奇偶校验位总长度不变,包括:

32、对于所述另行处理数据页的每个目标危险编码区域,根据目标扩张长度,将所述危险编码区域的奇偶校验位长度扩增为第五目标长度;所述目标扩张长度为通过将因对另行处理数据页中的待补危险编码区域和安全编码区域的奇偶校验位长度进行缩减形成的长度总变化量,平均分配给所述另行处理数据页中的目标危险编码区域确定的;所述极限调整长度大于所述收缩长度。

33、该实施例的方法,通过对于所述另行处理数据页的每个待补危险编码区域,根据预设的极限调整长度,将所述待补危险编码区域的奇偶校验位长度缩减为第三目标长度;以及,对于所述另行处理数据页的每个安全编码区域,根据预设的另行收缩长度,将所述安全编码区域的奇偶校验位长度缩减为第四目标长度;并且对于所述另行处理数据页的每个目标危险编码区域,根据目标扩张长度,将所述危险编码区域的奇偶校验位长度扩增为第五目标长度;所述目标扩张长度为通过将因对另行处理数据页中的待补危险编码区域和安全编码区域的奇偶校验位长度进行缩减形成的长度总变化量,平均分配给所述另行处理数据页中的目标危险编码区域确定的;所述极限调整长度大于所述收缩长度。该方法根据极限调整长度和另行收缩长度分别对应地缩减待补危险编码区域和安全编码区域的奇偶校验位长度,并基于奇偶校验位长度不变的原则增大危险编码区域的奇偶校验位长度,能够简捷高效地实现对待补危险编码区域、安全编码区域和目标危险编码区域分别实施精准的奇偶校验位长度的进行动态调整,且无需对固态硬盘的主控性能进行提升,节省固态硬盘的成本,进一步提升数据完整性控制的效率。

34、在一种可选的实施例中,所述编码区域数量包括安全编码区域数量和危险编码区域数量;所述待处理数据页中安全编码区域是否满足预设的安全区域充裕条件,通过以下步骤确定:

35、将所述危险编码区域数量的数值除以预设的分组数量阈值,得到第一判定值;

36、将所述安全编码区域数量与所述第一判定值作差,得到第二判定值;

37、若所述第二判定值大于或等于预设的零头数量阈值,则认定所述待处理数据页中安全编码区域满足所述安全区域充裕条件;

38、若所述第二判定值小于预设的零头数量阈值,则认定所述待处理数据页中安全编码区域不满足所述安全区域充裕条件。

39、该方法提供一种安全编码区域是否满足预设的安全区域充裕条件的判别机制,能够精准高效地识别待处理数据页中安全编码区域是否满足预设的安全区域充裕条件,且无需对固态硬盘的主控性能进行提升,节省固态硬盘的成本,进一步提升数据完整性控制的效率。

40、在一种可选的实施例中,所述方法还包括:

41、若确定当前选取的数据页的类型为稳定页,则基于预设的平均校验位长度进行所述待处理数据页中的安全编码区域和危险编码区域的数据写入。

42、该方法可以识别类型为稳定页的数据页,基于预设的平均校验位长度进行所述待处理数据页中的安全编码区域和危险编码区域的数据写入,可以进一步精准简捷地实现类型为稳定页的数据页的数据写入,且无需对固态硬盘的主控性能进行提升,节省固态硬盘的成本,进一步提升数据完整性控制的效率。

43、第二方面,本技术实施例还提供了一种固态硬盘数据写入装置,所述装置包括:

44、数据页分配单元,用于响应接收到待写入数据,确定与所述待写入数据对应的固态硬盘的数据页;

45、待处理识别单元,用于逐一选取所述数据页,每选取一个数据页,若确定当前选取的数据页的类型为不稳定页,则将当前选取的数据页作为待处理数据页;

46、区块数获取单元,用于每监测到增加一个待处理数据页,则确定所述待处理数据页对应的安全编码区域的第一数量和危险编码区域的第二数量;

47、待处理调整单元,用于对于每个安全编码区域,根据预设的收缩长度,将所述安全编码区域的奇偶校验位长度缩减为第一目标长度;以及,对于每个危险编码区域,根据扩张长度,将所述危险编码区域的奇偶校验位长度扩增为第二目标长度;所述扩张长度为根据所述第一数量、所述第二数量和所述收缩长度确定的;

48、第一硬写入单元,用于基于所述第一目标长度和所述第二目标长度,分别对应地进行所述待处理数据页中的安全编码区域和危险编码区域的数据写入。

49、在一种可选的实施例中,所述待处理调整单元,具体用于:

50、将预设的平均校验位长度与所述收缩长度求差值,得到第一目标长度;

51、将所述安全编码区域的奇偶校验位长度由所述平均校验位长度,变更为所述第一目标长度。

52、在一种可选的实施例中,所述待处理调整单元,具体用于:

53、根据所述收缩长度和所述第一数量,确定所述待处理数据页中安全编码区域的奇偶校验位的长度变化累积量;

54、基于预设的平均分配原则和所述第二数量,将所述长度变化累积量平均分配给所述待处理数据页中危险编码区域,得到扩张长度;

55、将预设的平均校验位长度与所述扩张长度求和,得到第二目标长度;

56、将所述待处理数据页中危险编码区域的奇偶校验位长度,由所述平均校验位长度,变更为所述第二目标长度。

57、在一种可选的实施例中,所述装置还包括:

58、充裕条件判断单元,用于根据当前选取的数据页对应的编码区域数量,分析当前选取的数据页中安全编码区域是否满足预设的安全区域充裕条件;

59、另处理识别单元,用于若分析结果为否,则将当前选取的数据页作为另行处理数据页;

60、待补区填充单元,用于每监测到增加一个另行处理数据页,则确定所述另行处理数据页中的安全编码区域的第三数量和危险编码区域的第四数量,并向待补危险编码区域写入预设的虚拟数据;所述待补危险编码区域为从所述另行处理数据页的危险编码区域中选取的目标填充数量个编码区域;所述目标填充数量为根据所述第四数量确定的;

61、另处理调整单元,用于对于所述另行处理数据页,将所述待补危险编码区域和安全编码区域的奇偶校验位长度分别缩减为第三目标长度和第四目标长度;以及,将除所述待补危险编码区域之外的目标危险编码区域的奇偶校验位长度扩增为第五目标长度,使奇偶校验位总长度不变;

62、第二硬写入单元,用于基于所述第四目标长度和所述第五目标长度,分别对应地进行所述另行处理数据页中的安全编码区域和目标危险编码区域的数据写入;

63、所述待处理识别单元,具体用于:若分析结果为是,则将当前选取的数据页作为待处理数据页。

64、在一种可选的实施例中,所述另处理调整单元,具体用于:

65、对于所述另行处理数据页的每个待补危险编码区域,根据预设的极限调整长度,将所述待补危险编码区域的奇偶校验位长度缩减为第三目标长度;以及,对于所述另行处理数据页的每个安全编码区域,根据预设的另行收缩长度,将所述安全编码区域的奇偶校验位长度缩减为第四目标长度;

66、所述另处理调整单元,具体用于:

67、对于所述另行处理数据页的每个目标危险编码区域,根据目标扩张长度,将所述危险编码区域的奇偶校验位长度扩增为第五目标长度;所述目标扩张长度为通过将因对另行处理数据页中的待补危险编码区域和安全编码区域的奇偶校验位长度进行缩减形成的长度总变化量,平均分配给所述另行处理数据页中的目标危险编码区域确定的;所述极限调整长度大于所述收缩长度。

68、在一种可选的实施例中,所述编码区域数量包括安全编码区域数量和危险编码区域数量;所述充裕条件判断单元,具体用于通过以下步骤确定所述待处理数据页中安全编码区域是否满足预设的安全区域充裕条件:

69、将所述危险编码区域数量的数值除以预设的分组数量阈值,得到第一判定值;

70、将所述安全编码区域数量与所述第一判定值作差,得到第二判定值;

71、若所述第二判定值大于或等于预设的零头数量阈值,则认定所述待处理数据页中安全编码区域满足所述安全区域充裕条件;

72、若所述第二判定值小于预设的零头数量阈值,则认定所述待处理数据页中安全编码区域不满足所述安全区域充裕条件。

73、在一种可选的实施例中,所述装置还包括第三硬写入单元;所述第三硬写入单元用于:

74、若确定当前选取的数据页的类型为稳定页,则基于预设的平均校验位长度进行所述待处理数据页中的安全编码区域和危险编码区域的数据写入。

75、第三方面,本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现第一方面的固态硬盘数据写入方法。

76、第四方面,本技术实施例还提供了一种电子设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器实现第一方面的固态硬盘数据写入方法。

77、第二方面至第四方面中任意一种实现方式所带来的技术效果可参见第一方面中对应的实现方式所带来的技术效果,此处不再赘述。

本文地址:https://www.jishuxx.com/zhuanli/20240731/185156.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。