一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种检查存储介质失效的方法、装置和固态硬盘与流程

2022-04-09 05:00:33 来源:中国专利 TAG:


1.本发明涉及数据存储领域,特别是涉及一种检查存储介质失效的方法、装置和固态硬盘。


背景技术:

2.固态硬盘(solid state drives,ssd),是采用固态电子存储芯片阵列而制成的硬盘,固态硬盘包括控制单元和存储单元(flash存储芯片或dram存储芯片)。目前固态硬盘系统中有相当部分是存在动态随机存取存储器(dynamic random access memory,dram)的,所以ssd有较大的数据缓存空间用来缓存数据。
3.闪存(nand flash)是固态硬盘的主要存储介质。闪存目前已发展到3d tlc,其io接口速度发展到1600mt;其发展也带来一些问题,例如在使用的过程中出现存储介质(die)失效的情况,其中,所述die指的是接收和执行内存命令的基本单元,所述die失效指的是读报错、写报错和擦报错。若不及时处理die失效的问题,则会在ssd运行过程中出现大量的出错导致宕机和数据丢失。
4.现有的固态硬盘的主控或者固件,并没有提供die失效的接口,使得软件无法得知die是否失效,导致ssd宕机和数据丢失,从而降低了ssd的稳定性。


技术实现要素:

5.本发明实施例提供一种检查存储介质失效的方法、装置和固态硬盘,旨在解决现有技术中ssd无法及时得知存储介质是否失效,从而使得稳定性低的技术问题。
6.为解决上述技术问题,本发明实施方式采用的一个技术方案是:提供一种检查存储介质失效的方法,应用于固态硬盘,所述固态硬盘的存储介质包括若干个闪存块,所述方法包括:获取所述闪存介质的操作数据,并根据所述操作数据获取所述存储介质的错误计数信息;根据所述错误计数信息检测是否触发对所述存储介质的失效诊断;当确定对所述存储介质进行失效诊断时,对已经执行了写操作的所述闪存块执行读操作;根据所述读操作的结果检查所述存储介质是否失效。
7.可选的,所述获取所述闪存介质的操作数据,并根据所述操作数据获取所述存储介质的错误计数信息,包括:获取所述闪存介质对应的写操作数据、读操作数据和擦除操作数据;统计所述写操作数据对应的错误计数信息,所述读操作数据对应的错误计数信息,以及所述擦除操作数据对应的错误计数信息。
8.可选的,所述根据所述错误计数信息检测是否触发对所述存储介质的失效诊断,包括:获取所述写操作数据对应的写权重、所述读操作数据对应的读权重以及所述擦除操作数据对应的擦权重;计算所述写操作数据对应的错误计数信息与所述写权重的第一乘积;计算所述读操作数据对应的错误计数信息与所述读权重的第二乘积;计算所述擦除操作数据对应的错误计数信息与所述擦权重的第三乘积;当所述第一乘积大于写阈值,和/或所述第二乘积大于读阈值,和/或所述第三乘积大于擦阈值时,则触发对所述存储介质的失
效诊断。
9.可选的,所述方法还包括:统计所述写操作数据对应的错误计数信息、所述读操作数据对应的错误计数信息以及所述擦除操作数据对应的错误计数信息分别对应的单位时间内的计数增长速率;根据所述计数增长速率分别确定所述写操作数据对应的写权重、所述读操作数据对应的读权重以及所述擦除操作数据对应的擦权重。
10.可选的,所述对已经执行了写操作的所述闪存块执行读操作,具体包括:根据端口的带宽压力从已经执行了写操作的闪存块中确定执行读操作的闪存块的数量,并对所述确定的所述闪存块执行读操作。
11.可选的,所述根据所述读操作的结果检查所述存储介质是否失效,包括:根据所述读操作的结果检查读的数据是否正确,以及位置是否读偏;当读的数据错误和/或读的位置读偏时,则记录并更新所述读操作对应的错误计数信息;当记录的所述读操作对应的错误计数信息大于第一设定阈值时,则记录并更新所述闪存块对应的错误计数信息;当记录的所述闪存块对应的错误计数信息大于第二设定阈值时,则确定所述存储介质失效。
12.为解决上述技术问题,本发明实施方式采用的另一个技术方案是:提供一种检查存储介质失效的装置,应用于固态硬盘,所述固态硬盘的存储介质包括若干个闪存块,所述装置包括:第一获取模块,用于获取所述闪存介质的操作数据,并根据所述操作数据获取所述存储介质的错误计数信息;触发模块,用于根据所述错误计数信息检测是否触发对所述存储介质的失效诊断;执行模块,用于当确定对所述存储介质进行失效诊断时,对已经执行了写操作的所述闪存块执行读操作;判定模块,用于根据所述读操作的结果检查所述存储介质是否失效。
13.可选的,所述第一获取模块包括:第一获取单元,用于获取所述闪存介质对应的写操作数据、读操作数据和擦除操作数据;统计单元,用于统计所述写操作数据对应的错误计数信息,所述读操作数据对应的错误计数信息,以及所述擦除操作数据对应的错误计数信息。
14.可选的,所述触发模块包括:第二获取单元,用于获取所述写操作数据对应的写权重、所述读操作数据对应的读权重以及所述擦除操作数据对应的擦权重;第一计算单元,用于计算所述写操作数据对应的错误计数信息与所述写权重的第一乘积;第二计算单元,用于计算所述读操作数据对应的错误计数信息与所述读权重的第二乘积;第三计算单元,计算所述擦除操作数据对应的错误计数信息与所述擦权重的第三乘积;判定单元,用于当所述第一乘积大于写阈值,和/或所述第二乘积大于读阈值,和/或所述第三乘积大于擦阈值时,则触发对所述存储介质的失效诊断。
15.为解决上述技术问题,本发明实施方式采用的又一个技术方案是:提供一种固态硬盘,包括:闪存介质;以及,主控制器,与所述闪存介质连接;其中,所述主控制器包括:至少一个处理器;以及缓存器,与所述至少一个处理器连接;其中,所述缓存器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的检查存储介质失效的方法。
16.区别于相关技术的情况,本发明实施例提供一种检查存储介质失效的方法、装置和固态硬盘,应用于固态硬盘,通过获取所述闪存介质的操作数据,并根据所述操作数据获取所述存储介质的错误计数信息,然后根据所述错误计数信息检测是否触发对所述存储介
质的失效诊断,当确定对所述存储介质进行失效诊断时,从所述存储介质的若干闪存块中获取已经执行写操作的闪存块,并对已经执行了写操作的所述闪存块执行读操作,最后根据所述读操作的结果检查所述存储介质是否失效。本发明实施例通过对已经执行过了写操作的闪存块进行诊断,实现了在不影响固态硬盘性能的条件下,对闪存介质中的存储介质进行失效诊断,从而避免了因存储介质失效检查不及时而导致的固态硬盘数据丢失和出现宕机,提高了固态硬盘的稳定性。
附图说明
17.一个或多个实施例通过与之对应的附图进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
18.图1是本发明实施例提供的一种固态硬盘的结构示意图;
19.图2是本发明实施例提供的关于闪存介质的逻辑布局示意图。
20.图3是本发明实施例提供的一种检查存储介质失效的方法的流程图;
21.图4是本发明其中一实施例提供的触发失效诊断的流程图;
22.图5是本实施例提供的一种闪存介质中的某一存储介质失效的示意图;
23.图6是本发明实施例提供的一种检查存储介质失效的装置的结构框图。
具体实施方式
24.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
25.需要说明的是,如果不冲突,本发明实施例中的各个特征可以相互组合,均在本发明的保护范围之内。另外,虽然在装置示意图中进行了功能模块的划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置示意图中的模块划分,或流程图中的顺序执行所示出或描述的步骤。
26.除非另有定义,本说明书所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。在本发明的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是用于限制本发明。本说明书所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
27.典型的固态硬盘(solid state drives,ssd)通常包括固态硬盘控制器(主控制器)、闪存阵列、缓存模块以及其他外围模块。
28.其中,固态硬盘控制器用于作为控制运算模块,管理ssd内部系统;闪存阵列(nand flash),作为存储模块,用于存储数据,包括用户数据和系统数据,闪存阵列一般呈现多个通道(channel,简写ch),一个通道独立连接一组nand flash,例如ch0/ch1……
ch
x
。其中闪存(nand flash),其特性是写入之前,必须进行擦除,不能覆盖写,且每个闪存擦除次数有限;缓存模块,用于缓存映射表,所述缓存模块一般为动态随机存取存储器(dynamic random access memory,dram)。其他外围模块可以包括传感器、寄存器等部件。
29.闪存(nand flash)是非易失性存储介质,其特点是在一个单元内可以存储电子,
translation layer,闪存转换层)的核心处理。
39.接口125,连接主机200以及数据转换器121、处理器122以及缓存器123,用于接收主机200发送的数据,或者,接收所述处理器122发送的数据,实现主机200与处理器122之间的数据传输,所述接口125可以为sata-2接口、sata-3接口、sas接口、msata接口、pci-e接口、ngff接口、cfast接口、sff-8639接口和m.2nvme/sata协议。
40.请参阅图2,图2是本发明实施例提供的关于闪存介质的逻辑布局示意图。由于所述存储介质是由ftl(闪存转换层)进行下发读、写和擦除的操作指令,所以根据所述闪存转换层,将所述存储介质进行抽象划分,其中,如图2所示,将所述存储介质横向划分为超闪存块sblk(super block)和闪存页page,纵向划分为存储介质die,lun,ce,ch和plane,其中,ce指的是所述闪存控制器和所述存储介质的连接引脚具体的,所述ce为是能信号端。通过将所述闪存介质进行抽象划分,使得所述闪存介质中的所有通道能够并行执行命令,从而方便管控所述闪存介质的内部算法。
41.具体的,在所述纵向划分的底层有两个信号使能端(ce0和ce1),所述两个信号使能端分别连接两个通道(ch0和ch1),每个通道都对应一个存储介质die,四个存储介质die里面有一个lun单元,每个存储介质die上包括两个闪存面plane。其中,每个通道上的所述存储介质die可以并行操作,并且,根据所述固态硬盘的容量和性能需求,可以决定所述通道上有多少个所述存储介质die,所述存储介质die的个数越多,并发的个数也就越多,所述固态硬盘的性能也就越好。在横向划分的情况下,所述闪存介质可以划分为若干个超闪存块sblk,每一个超闪存块sblk包括若干个闪存页page,其中,所述闪存介质的写和擦都是根据所述超闪存块sblk为操作单元进行处理的,所述闪存介质的读是通过单个闪存页page为最小单元进行处理的,其中,所述闪存页page的最小单元为4k,也即,所述每个闪存面plane的单元为16k。可选的,在所述抽象划分中,从所述纵向划分上来看,所述存储介质die包括若干个超闪存块sblk,从所述横向划分上来看,所述超闪存块sblk包括若干个存储介质die。
42.在本实施例中,所述存储介质的失效包括读报错,所述读包括物理位置读偏、数据读错和数据无法读出,写报错和擦报错。
43.请参阅图3,图3是本发明实施例提供的一种检查存储介质失效的方法的流程图,应用于如上所述的固态硬盘,所述方法包括:
44.s01、获取所述闪存介质的操作数据,并根据所述操作数据获取所述存储介质的错误计数信息。
45.具体的,所述闪存介质执行的命令包括读、写和擦,所述闪存介质的操作数据为对应的写操作数据、读操作数据和擦除操作数据;然后统计所述写操作数据对应的错误计数信息,所述读操作数据对应的错误计数信息,以及所述擦除操作数据对应的错误计数信息。
46.s02、根据所述错误计数信息检测是否触发对所述存储介质的失效诊断。
47.具体的,首先根据所述闪存介质的类型和容量设定所述读阈值、写阈值和擦阈值,然后将所述读阈值、所述写阈值和所述擦阈值与对应的读、写和擦的错误次数进行比较,请参阅图4,图4是本发明其中一实施例提供的触发失效诊断的流程图,如图4所示,当其中一个操作的错误次数大于对应的阈值,或者所有的操作的错误次数都大于对应的阈值时,则确认触发所述失效诊断。其中,可以是直接获取计数器记载的错误次数与所述对应的阈值
进行比较,也可以是计数器记载的错误次数与权重的乘积和所述对应的阈值进行比较。
48.可选的,获取所述写操作数据对应的写权重、所述读操作数据对应的读权重以及所述擦除操作数据对应的擦权重;计算所述写操作数据对应的错误计数信息与所述写权重的第一乘积;计算所述读操作数据对应的错误计数信息与所述读权重的第二乘积;计算所述擦除操作数据对应的错误计数信息与所述擦权重的第三乘积;当所述第一乘积大于写阈值,和/或所述第二乘积大于读阈值,和/或所述第三乘积大于擦阈值时。
49.可选的,所述权重可以根据所述闪存介质的类型和容量设定来设置的(例如所述读阈值为1,写阈值为2,擦阈值为1),也可以根据单位时间内错误次数的技术增长速率来决定的,也即,首先统计所述写操作数据对应的错误计数信息、所述读操作数据对应的错误计数信息以及所述擦除操作数据对应的错误计数信息分别对应的单位时间内的计数增长速率,然后根据所述计数增长速率分别确定所述写操作数据对应的写权重、所述读操作数据对应的读权重以及所述擦除操作数据对应的擦权重,其中,可以是单位内技术增长率越大的权重越大,或者单位时间内增长率越大的权重越小。
50.s03、当确定对所述存储介质进行失效诊断时,对已经执行了写操作的所述闪存块执行读操作。
51.在一些实施例中,所述存储介质包括若干个闪存块,所述闪存块包括已经执行过写操作的闪存块和未执行过写操作的闪存块,在进行失效诊断时,对于所述未执行过写操作的闪存块可以选择跳过不进行失效诊断。
52.可选的,根据端口的带宽压力从已经执行了写操作的闪存块中确定执行读操作的闪存块的数量,并对所述确定的所述闪存块执行读操作。
53.其中,所述端口包括所述存储介质的io接口,所述端口的压力越大,代表所述带宽被压满。在一些实施例中,所述io接口的压力越大,所述读操作的个数越就越多。
54.s04、根据所述读操作的结果检查所述存储介质是否失效。
55.可选的,根据所述读操作的结果检查读的数据是否正确,以及位置是否读偏;当读的数据错误和/或读的位置读偏时,则记录并更新所述读操作对应的错误计数信息;当记录的所述读操作对应的错误计数信息大于第一设定阈值时,则记录并更新所述闪存块对应的错误计数信息;当记录的所述闪存块对应的错误计数信息大于第二设定阈值时,则确定所述存储介质失效。
56.具体的,由于所述读操作是以所述闪存块中的闪存页为最小操作单元,所以首先判断所述闪存块中的闪存页的错误次数是否超过预设第一阈值,其中,当所述读操作的数据读错和/或位置读错时,所述闪存页的错误次数增加,当所述闪存页的错误次数大于所述第一预设阈值时,则所述闪存块的错误次数增加,当所述闪存块的错误次数超过所述第二预设阈值时,则判定所述存储介质失效。
57.具体的,请参阅图5,图5是本实施例提供的一种闪存介质中的某一存储介质失效的示意图,如图5所示,所述read fail指的是读错误,program fail指的是写错误,erase fail指的是擦除失效,由图5可知,所述ce0端口的存储介质die1失效。
58.本发明实施例提供一种检查存储介质失效的方法,通过获取所述闪存介质的操作数据,并根据所述操作数据获取所述存储介质的错误计数信息,然后根据所述错误计数信息检测是否触发对所述存储介质的失效诊断,当确定对所述存储介质进行失效诊断时,从
所述存储介质的若干闪存块中获取已经执行写操作的闪存块,并对已经执行了写操作的所述闪存块执行读操作,最后根据所述读操作的结果检查所述存储介质是否失效。本方法通过对已经执行过了写操作的闪存块进行诊断,实现了在不影响固态硬盘性能的条件下,对闪存介质中的存储介质进行失效诊断,并且,避免了由于检查存储介质失效不及时而导致的数据丢失,和/或出现宕机,从而提高了固态硬盘的稳定性。
59.请参阅图6,图6是本发明实施例提供的一种检查存储介质失效的装置的结构框图,如图6所示,所述检查存储介质失效的装置40包括获取模块41、触发模块42、执行模块43和判定模块44。
60.所述获取模块41用于获取所述闪存介质的操作数据,并根据所述操作数据获取所述存储介质的错误计数信息。
61.所述获取模块41包括第一获取单元411和统计单元412。
62.所述第一获取单元411用于获取所述闪存介质对应的写操作数据、读操作数据和擦除操作数据;
63.所述统计单元412用于统计所述写操作数据对应的错误计数信息,所述读操作数据对应的错误计数信息,以及所述擦除操作数据对应的错误计数信息。
64.所述触发模块42用于根据所述错误计数信息检查是否触发对所述存储介质的失效诊断。
65.所述触发单元42包括第二获取单元421、第一计算单元422、第二计算单元423、第三计算单元424和判定单元425。
66.所述第二获取单元421用于获取所述写操作数据对应的写权重、所述读操作数据对应的读权重以及所述擦除操作数据对应的擦权重;
67.所述第一计算单元422用于计算所述写操作数据对应的错误计数信息与所述写权重的第一乘积;
68.所述第二计算单元423用于计算所述读操作数据对应的错误计数信息与所述读权重的第二乘积;
69.所述第三计算单元424计算所述擦除操作数据对应的错误计数信息与所述擦权重的第三乘积;
70.所述判定单元425用于当所述第一乘积大于写阈值,和/或所述第二乘积大于读阈值,和/或所述第三乘积大于擦阈值时,则触发对所述存储介质的失效诊断。
71.所述执行模块43用于当确定对所述存储介质进行失效诊断时,对已经执行了写操作的所述闪存块执行读操作。
72.所述判定模块44用于根据所述读操作的结果检查所述存储介质是否失效。
73.需要说明的是,上述检查存储介质失效的装置可执行本发明实施例所提供的检查存储介质失效的方法,具备执行方法相应的功能模块和有益效果。未在检查存储介质失效的装置实施例中详尽描述的技术细节,可参见本发明实施例所提供的检查存储介质失效的方法。
74.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其
中的部分或者全部模块来实现本实施例方案的目的。
75.通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,rom)或随机存储记忆体(random access memory,ram)等。
76.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献